Commit Graph
903 Commits
Author SHA1 Message Date
luis aa968ba82e fix build 2026-03-17 23:54:38 -03:00
luis 5241086f27 dragonriding 2026-03-17 23:50:52 -03:00
luis 01cf332cfa dragonriding 2026-03-17 22:39:51 -03:00
luis b06857173c still fly bug 2026-03-17 22:08:21 -03:00
agatho 4341bcc1cd Gate loot and rest strategies on actual need in IsActive
LootStrategy::IsActive now checks for nearby lootable corpses with
permission before returning true, preventing it from permanently
blocking lower-priority strategies like quest when nothing to loot.

RestStrategy::IsActive now checks health/mana levels and consumable
availability. With consumables it activates normally. Without them it
only activates below a randomized 30-50% threshold per check, allowing
bots to quest/grind at moderate health while still waiting for passive
regen when critically low.

Signed-off-by: luis <[email protected]>
2026-03-17 20:34:45 -03:00
luis 34f88a8963 bot + packets 2026-03-17 20:34:19 -03:00
luis 4127c8485a Disable AI update throttler that blocked all strategy execution
The AdaptiveAIUpdateThrottler was preventing UpdateStrategies() from
ever being reached, leaving bots idle with active but never-executed
strategies. Also swapped quest/loot priority so quest (MOVEMENT=45)
runs below loot (FOLLOW=50) only when loot is gated by IsActive.

Added temporary STRAT-SELECT diagnostic logging to trace which
strategy wins priority selection each tick.
2026-03-17 20:31:29 -03:00
luis cedc8bba80 UiChromieTimeExpansionInfo.db2 2026-03-17 14:30:21 -03:00
agatho 1e7a5c3632 Fix missing includes after BotMovement relocation to module
Files previously compiled in the game library had implicit access to
all game headers via PCH. Now in the playerbot module they need explicit
includes for: Position.h, Map.h, Creature.h, CreatureAI.h, G3D/Vector3.h,
and VMapFactory.h.

Signed-off-by: luis <[email protected]>
2026-03-17 13:54:01 -03:00
luis 224446458c dragon riding and perks 2026-03-17 02:11:22 -03:00
luis 5a56fa0773 trading post 2026-03-17 01:14:23 -03:00
luis 494d808780 update full 12xx data and more systems work 2026-03-16 23:47:15 -03:00
luis 14a90db884 Pet Battles: Fix BattlePetAbilityEffect column names and DisplayID repair
Rename misnamed SQL columns to match WoWDBDefs 12.0:
- Aura → BattlePetEffectPropertiesID
- BattlePetEffectPropertiesID → AuraBattlePetAbilityID
- VisualID → BattlePetVisualID

Add migration script for existing databases, update SELECT query.

Also add DisplayID=0 repair in LoadPlayerTeam and a log warning
in SelectPetDisplay when creature_template is missing.
2026-03-16 20:26:49 -03:00
luis 78782bc6f3 Fix bot strategy activation blocked by throttle and death recovery
Solo strategy activation (rest, solo_combat, quest, grind, loot, solo)
was positioned after both the AI update throttler and the death recovery
guard in UpdateAI(). Bots that were throttled or dead at login never
reached the activation code, leaving them with Strategies=0 and idle.

Move the one-time strategy activation to run before all guards so it
executes on the first UpdateAI tick regardless of throttle/death state.
2026-03-16 20:21:29 -03:00
agatho 0a3a69b19e Move BotMovement system from game/ to Playerbot module
Relocate 44 BotMovement files (Controller, StuckDetector, StateMachine,
Pathfinding, Generators, Validation) from src/server/game/Movement/ into
src/modules/Playerbot/Movement/BotMovement/ to comply with module-first
architecture. All playerbot code must live in the module directory.

Updated CMakeLists.txt with all source files in playerbot-gameplay lib
and added 6 include directories for the BotMovement subdirectories.

Also fixes StuckDetector::Reset() to clear position history, preventing
an infinite stuck detection loop where bots were immediately re-detected
as stuck after recovery due to stale position snapshots.

Signed-off-by: luis <[email protected]>
2026-03-16 20:16:50 -03:00
luis ddb75df371 Housing: Re-CREATE all fixture entities after rebuild to fix hook recognition 2026-03-16 20:14:57 -03:00
luis c869b64ab9 Fix db2 activities 2026-03-15 22:33:10 -03:00
luis 8f73d0cdf8 fix trading post 2026-03-15 22:17:39 -03:00
luis 9404d5afac perk program full work ui now of vendor 2026-03-15 21:38:21 -03:00
luis 27b107530d more work 2026-03-15 21:20:35 -03:00
luis dfe864e477 trading post try fix crash 2026-03-15 21:18:19 -03:00
luis 6902181f28 trading post crash on npc gossip due to PerksVendorItem 2026-03-15 20:48:52 -03:00
luis 9bbebb333b trading post 2026-03-15 19:57:25 -03:00
luis 02ac83d4af trading post 2026-03-15 19:40:29 -03:00
luis cf8d0f8b00 new housing 2026-03-15 18:16:17 -03:00
luis 2f5144077e Housing: Fix DB2 field ordering, door placement, and fixture validation
Fix ExteriorComponentHookEntry struct field order to match DB2 LoadInfo
(Position/Rotation before ID when IndexField=2), resolving garbage hook
IDs during fixture resolution.

Replace first-match door hook selection with center-front scoring
heuristic (|X|*2 + Y) to ensure the main entrance spawns at the front
of the house rather than on a side/back wall.

Add fixture validation in SelectFixtureOption: enforce component type
must match hook type, and only one door allowed per house. This prevents
placing windows at door hooks and spawning multiple entrances.

Only auto-resolve the single best door hook during SpawnExtCompTree —
other fixture types (windows, chimneys, dormers) require explicit player
selection, matching retail behavior where they unlock via progression.

Additional fixes: unique fixture GUIDs via atomic counter (subType=5),
size-aware default fixture lookup, range-based DB2 store iteration,
and starter fixture migration that preserves existing roots.
2026-03-15 17:59:32 -03:00
luis dd888b36db Housing: Add racial house styles and starter fixture persistence
Map player race to house exterior WMO style on purchase:
Night Elf → Woodland (55), Blood Elf → Engraved (56),
other Alliance → Human (9), other Horde → Orc (87).

On house creation, persist starter fixtures (Base + Roof) to
character_housing_fixtures so spawning reads from DB rather than
relying on runtime default resolution. Door auto-resolves from
the hook system via GetDefaultFixtureForType.
2026-03-15 17:54:46 -03:00
luis 06a4b3f844 Housing: Refactor fixture resolution to direct (type, wmoDataID) lookup
Replace the broken GroupXHook→Group→XGroup chain with a direct
_defaultFixtureByTypeWmo index that maps (componentType, wmoDataID)
to the default fixture component ID. This correctly resolves fixtures
for all 4 racial house styles (Human/NightElf/BloodElf/Orc).

Key changes:
- BuildExteriorComponentIndexes: filter structural roots by
  ExteriorComponentType.ParentComponentType==0 with hardcoded
  fallback for broken DB2 store iteration
- New GetDefaultFixtureForType() replaces GetComponentAtHook()
- SpawnExtCompTree uses type+WMO lookup for hook children
- Door GO spawning fully data-driven from DB2 (entry + position
  from hook offset + ExitPoint offset)
- Root selection: rootOverrides → coreExtCompID → default → first
- Fix missing fixture overrides on late-spawn path
- Add GetRootComponentOverrides() for player-selected root variants
2026-03-15 17:52:14 -03:00
luis 29d7e7689b typo 2026-03-15 17:27:47 -03:00
luis d08f65b834 world quest changes 2026-03-15 17:26:25 -03:00
StorM aa9f12cb17 fix quest zone_tirisfal_glades.cpp 2026-03-15 20:05:34 +01:00
StorM 9f518f651d duplicity QuestPackets.h 2026-03-15 19:29:35 +01:00
luis c9d5652b32 typo 2026-03-15 15:01:33 -03:00
luis 570f4935c9 missing packet 2026-03-15 14:59:41 -03:00
luis 3c84a9793c typo 2026-03-15 14:52:29 -03:00
StorM 64c9714626 Core: Updated allowed build to 12.0.1.66384 2026-03-15 18:34:58 +01:00
StorM f2265ff263 Fix error zone_tirisfal_glades.cpp
fix mess in .cpp
2026-03-15 16:27:25 +01:00
StorM 093770576d Fix compilation HousingPackets.h 2026-03-15 15:59:53 +01:00
luis 6ceb6bae47 new spells 2026-03-15 11:02:20 -03:00
luis b9275f314b new undead zone scripts 2026-03-15 10:52:47 -03:00
luis c67de7f095 world quest part 1 2026-03-14 13:10:10 -03:00
luis 787e355835 need check on ida 2026-03-14 09:19:51 -03:00
luis b8dd010248 fix crash 2026-03-14 09:10:37 -03:00
luis 1826c9d792 typo 2026-03-14 08:44:25 -03:00
luis bb22e56f7c core improvements 2026-03-14 08:36:09 -03:00
luis 788094aebc Housing: Fix exterior component tree spawning with data-driven multi-root architecture
- Fix DB2 store iteration bug: ExteriorComponentHook entries with
  ParentIndexField were only partially accessible via range-based
  iteration (1808 of 23881 entries). Use LookupEntry() over
  GetNumRows() to reach all entries, fixing hook resolution
  (compByHook was 0, now resolves all 1461 GroupXHook mappings).

- Spawn all root components per HouseExteriorWmoDataID: houses
  consist of multiple independent roots (Base type=9, Roof type=10)
  sharing the same WMO data ID. Each root spawns independently at
  house position with its own hook children (doors on base,
  chimney/windows on roof). Filter by Size to avoid spawning
  small/medium/large variants simultaneously.

- Build parent-child index from ExteriorComponent.ParentComponentID
  for component variants that reference a parent component.

- Add _rootCompsByWmoDataId index for fast lookup of all root
  components belonging to a house exterior.

- Fix MeshObject fixture data to pass fixtureGuid and
  parentFixtureGuid for proper client-side attachment hierarchy.

- Fix BNetAccount dirty state in fixture edit mode by clearing
  update mask after PopulateCatalogStorageEntries.
2026-03-14 07:45:27 -03:00
luis e9876286b9 initial trading post it have mem leak and dragonriding base 2026-03-14 07:08:14 -03:00
luis 19177a9f6a fix build 2026-03-13 22:16:05 -03:00
luis ae2e9ffda5 same 2026-03-13 21:55:19 -03:00
luis 469318460f Reduce memory 2026-03-13 21:53:10 -03:00