Commit Graph
933 Commits
Author SHA1 Message Date
luis 5bd44a49d2 fix sql 2026-03-05 20:03:03 -03:00
Céfiro_Caecias 48165cb17c DB/World: DBErrors Fixes 2026-03-05 19:54:33 -03:00
luis e753d7429d Dup 2026-03-05 19:49:54 -03:00
Jeremy 454d84278d Scripts/Spells: Implement Thunder Blast (Fury Warrior) (#31693)
Signed-off-by: luis <[email protected]>
2026-03-05 19:49:22 -03:00
Jeremy 7a3b47803f Scripts/Spells: Implement Thunder Blast (Fury Warrior) (#31693)
Signed-off-by: luis <[email protected]>
2026-03-05 19:48:56 -03:00
luis aa9430254b Core: Updated allowed build to 12.0.1.66263 2026-03-05 19:47:17 -03:00
Shauren fa3a97199f Core/Players: Fixed crashes happening when player is teleported again while still being teleported to a different map
Signed-off-by: luis <[email protected]>
2026-03-05 19:46:28 -03:00
luis 732f728f8f Housing: Implement initiative handlers, settings persistence, and Phase 5-7-9 polish
- Implement 8 new initiative CMSG handlers (AcceptMilestone, ReportProgress,
  ClaimReward, Leaderboard, OpenChest, TaskAccept, TaskAbandon, TaskProgress)
  with full InitiativeManager integration for neighborhood initiatives
- Upgrade 6 unknown initiative opcodes (0x38000B-0x380010) to STATUS_LOGGEDIN
- Register 5 unnamed housing opcodes (ConfirmPreviewPlacement, CompleteTutorialStep,
  QueryPendingInvites, SetTutorialState, SkipTutorial) as logged stubs
- Add photo sharing authorization state tracking (per-session volatile)
- Add HousingWarningFlag enum with expansion/level eligibility checks
- Wire warning gates into StartTutorial and ReservePlot handlers
- Fix TaggedPosition<XYZ> accessor calls (.Pos.GetPositionX() pattern)
- Fix HOUSING_RESULT_NOT_HOME_OWNER → HOUSING_RESULT_PERMISSION_DENIED
- All 17 initiative opcodes now STATUS_LOGGEDIN (zero UNHANDLED remaining)
- Add house name/description DB persistence (SQL schema + prepared statements)
- Add blizzlike implementation plan documentation
2026-03-05 19:45:56 -03:00
Céfiro_Caecias fb497382f7 Update worldserver.conf.dist 2026-03-05 14:50:21 -03:00
Céfiro_Caecias b8a7a9f84d Update README.md 2026-03-05 13:48:15 -03:00
Céfiro_Caecias b8acf4f91e DB/World: lfg_dungeon_template Rework 2026-03-05 12:32:43 -03:00
Céfiro_Caecias c97640fec8 DB/World: access_requirement Rework 2026-03-05 10:11:10 -03:00
luis 3800bbf482 warnings 2026-03-04 20:39:41 -03:00
Jeremy bc9b1ede63 Scripts/Spells: Add proc check for Keep Your Feet on the Ground (Mountain Thane warrior talent) (#31691)
Signed-off-by: luis <[email protected]>
2026-03-04 20:30:35 -03:00
Shauren 92e3a347f1 Scripts/Exile's Reach: Remove unreachable code that appears to be the result of incorrect merge conflict resolution
Signed-off-by: luis <[email protected]>
2026-03-04 20:29:19 -03:00
Shauren df7dd23efe Core/Misc: Remove unneccessary semicolons
Signed-off-by: luis <[email protected]>
2026-03-04 20:28:34 -03:00
Jeremy 8c6e6a11aa Scripts/Spells: Implement Cleave Damage Reduction from Improved Whirlwind (Fury Warrior Talent) (#31690)
Signed-off-by: luis <[email protected]>
2026-03-04 20:27:25 -03:00
luis ff93708eff 66220 2026-03-04 20:26:16 -03:00
luis 8410236ac6 et Battles: Fix effect routing, multi-turn locks, emote, quest display
Fix the effect dispatch key: use BattlePetEffectPropertiesID (the
actual effect action type) instead of ParamTypeEnum[0] (parameter data
type). This single change fixes healing dealing damage, auras not
applying, state changes, stuns, weather, and multi-turn markers all
routing to the damage case.

Also lock swaps during multi-turn abilities, clear multi-turn state on
pet death, face the player toward the opponent on battle start, restore
NPC trainer movement after battle with a cry emote on loss, and show
quest menu alongside the battle gossip option.
2026-03-04 20:09:17 -03:00
luis 27a6fdbe29 Revert "Pet Battles: Wire up BattlePetNPCTeamMember.db2 hotfix and seed NPC trainer teams"
This reverts commit 90b92371a1.
2026-03-04 20:02:29 -03:00
luis 90b92371a1 Pet Battles: Wire up BattlePetNPCTeamMember.db2 hotfix and seed NPC trainer teams
Register BattlePetNPCTeamMember.db2 in the hotfix pipeline so the
server can populate it at runtime. The client ships this DB2 empty
(0 records) — names resolve via CreatureID in packets instead, but
the infrastructure is now in place for future name overrides.

Add initial seed data for 19 NPC pet battle trainers (57 pets) from
Eastern Kingdoms through Pandaria Grand Masters. All creature IDs
verified against TDB creature_template with exact name matches.
2026-03-04 20:01:03 -03:00
luis 0a0a9d4408 Pet Battles: Fix multi-turn ability visibility and NPC team naming
Multi-turn abilities (Dig, Burrow, etc.) were invisible to the client:
- Handle effectCategory 17/18 (MULTI_TURN_BEGIN/END) in ProcessEffect
  that were falling through to default handler producing no effects
- Fix off-by-one: multi-turn state now clears on last turn instead of
  one round late (>= TotalTurns-1 instead of >= TotalTurns)
- Emit fallback STATUS_CHANGE for empty multi-turn turns so the client
  still shows the ability animation

NPC trainer pet naming and model support:
- Add npcTeamMemberID column to battle_pet_npc_team (maps to
  BattlePetNPCTeamMember.db2 for pet name display on client)
- Add creatureId column for optional model override (0=species default)
- Send NpcTeamMemberID in packet for all teams, not just wild
2026-03-04 19:43:07 -03:00
Céfiro_Caecias 8233eb00fa DB/World: DBErrors Clean 2026-03-04 17:49:39 -03:00
Céfiro_Caecias 77729a4134 DB/Hotfixes: DBErrors item_sparse 2026-03-04 17:49:01 -03:00
luis 79859eef90 todo add # Playerbot Movement and Humanization Improvements 2026-03-04 01:13:23 -03:00
luis c9c19ac368 merge shadowlands part 1 2026-03-04 00:57:43 -03:00
luis 12ba82cee4 SPELL_EFFECT_CONVERT_ITEMS_TO_CURRENCY 2026-03-03 23:17:27 -03:00
luis 66c48685fa scenario_the_throughway 2026-03-03 23:13:24 -03:00
luis 39a6e8e626 SPELL_EFFECT_REMOVE_PHASE 2026-03-03 22:58:09 -03:00
luis 477c7a16b4 SPELL_EFFECT_TELEPORT_TO_LFG_DUNGEON 2026-03-03 22:51:05 -03:00
luis e00fd4b3cc core implement SPELL_EFFECT_PUSH_ABILITY_TO_ACTION_BAR 2026-03-03 21:45:47 -03:00
luis 118b12113c Pet Battles: Fix aura visibility, capture timing, and add NPC battle support
Fix aura round data being lost before packet serialization by storing
RoundsRemaining/CurrentRound in PetBattleRoundEffect at creation time
instead of looking up live aura state after TickAuras() has already
decremented or removed them.

Defer captured pet journal addition from round resolution to
CompleteBattle() so the "Pet collected" message appears after the
client plays the crate animation, not before. Also add missing
PlayerObtainPetThroughBattle criteria call.

Add NPC pet battle support via StartNPCPetBattle() on WorldSession and
npc_pet_battle_trainer gossip CreatureScript. Trainers with a team in
battle_pet_npc_team and ScriptName='npc_pet_battle_trainer' will offer
a gossip battle option.
2026-03-03 20:48:34 -03:00
luis 7e3029b54b Garrison: Fix 4 additional sniff-verified discrepancies
Continued analysis of WoD garrison sniff hex data revealed:

Shipment packets:
- CharacterShipment struct missing 2 fields: UnkInt32 (int32) and
  GarrTypeID (uint8) per entry — 5 extra bytes confirmed by raw hex
  decode of GET_SHIPMENT_INFO_RESPONSE and LANDING_PAGE_SHIPMENTS
- CreateShipmentResponse ShipmentRecID always 0 (sniff-confirmed)

Login/zone-in workflow:
- Send troop quality refresh (FOLLOWER_CHANGED_QUALITY) before main
  GET_GARRISON_INFO_RESULT at login (sniff-confirmed ordering)
- Send GARRISON_UPDATE_GARRISON_MONUMENT_SELECTIONS on zone-in after
  map data response (sniff-confirmed zone-in sequence)
2026-03-03 20:41:08 -03:00
luis a6a0402a86 Garrison: Fix 9 packet discrepancies from WoD sniff + IDA verification 2026-03-03 20:36:24 -03:00
luis 9c11df2fd1 Fix worldserver crash 2026-03-03 20:20:30 -03:00
luis ec6cf8a385 warning fixes 2026-03-03 20:05:41 -03:00
luis 600e055255 Housing: Fix decor click selection, owner display, and BLZ_ALLOC crash
- Set EditorMode UpdateField via SetHousingEditorModeUpdateField() when
  entering/exiting edit mode. The client reads this from
  PlayerHouseInfoComponentData to enable ClickTarget (flag 16) for decor
  selection. Without it, the housing editor stays in mode 0 and all click
  flags are disabled.

- Set UNIT_FLAG_PACIFIED, UNIT_FLAG2_NO_ACTIONS and SilencedSchoolMask=127
  during edit mode (sniff-verified retail behavior). Clear on exit.

- Revert ignoreNestedChangesMask from true to false in
  HousingStorageData::WriteUpdate. The true flag forced full-map Create
  format inside VALUES_UPDATE which crashes the client (BLZ_ALLOC 41GB)
  on subsequent Decor map updates after placing decor. The original
  partial-serialization issue was actually caused by ContentsChangedMask=0
  which is already fixed by the Account::SendUpdateToPlayer override.

- Fix SMSG_HOUSING_UPDATE_HOUSE_INFO to send actual BnetAccountGuid
  instead of ObjectGuid::Empty so house owner displays correctly in the
  settings/permissions UI.

- Make character_housing position columns SQL update idempotent to avoid
  duplicate column errors when schema already includes posX/posY/posZ.
2026-03-03 19:52:07 -03:00
luis c77a3eec28 missing 2026-03-03 19:49:04 -03:00
luis 188b2d88af Housing: Fix empty VALUES_UPDATE by building ContentsChangedMask before send
BaseEntity::SendUpdateToPlayer() is const and never calls
BuildUpdateChangesMask(), leaving ContentsChangedMask at 0. This means
BuildValuesUpdateBlockForPlayer() skips all fragment data — the
VALUES_UPDATE packet is sent empty with no FHousingStorage_C content.

The map's periodic update cycle (Account::BuildUpdate) does call
BuildUpdateChangesMask() and sends data correctly, but our explicit
handler calls to SendUpdateToPlayer were producing empty packets.

Override SendUpdateToPlayer on Account to call BuildUpdateChangesMask()
before serializing and ClearUpdateMask() after. This ensures
FHousingStorage_C Decor map data populated by
PopulateCatalogStorageEntries() is actually included in the packet.
2026-03-03 19:48:46 -03:00
luis 7e28074385 Housing: Fix decor selection by serializing full Decor map in VALUES_UPDATE
The client correlates FHousingStorage_C Decor entries with MeshObject
FHousingDecor_C.DecorGUID for targeting/selection. VALUES_UPDATE packets
with partial change masks (ignoreNestedChangesMask=false) only sent
individual field bits, missing the complete Decor map structure the
client needs. Fix by forcing ignoreNestedChangesMask=true in
HousingStorageData::WriteUpdate so the Decor map is always serialized
in full-create format (WriteMapFieldCreate) inside VALUES_UPDATE.

Also fix SetHousingDecorStorageEntry to set SourceValue (empty string)
so all 3 fields have their change bits set for per-entry serialization.
2026-03-03 19:47:24 -03:00
luis 8f72fc820f Housing: Fix BLZ_ALLOC crash by tracking Account entity in m_clientGUIDs
The Account entity's GUID was never added to m_clientGUIDs after its
initial CREATE (embedded in the player's own create block). This caused
SendUpdateToPlayer() to always send a duplicate full CREATE instead of
a VALUES_UPDATE. When the Decor map was populated during edit mode, the
duplicate CREATE crashed the client with a 41GB BLZ_ALLOC allocation.
2026-03-03 19:43:56 -03:00
luis e615ac2f9e Core/Misc: Update CURRENT_EXPANSION to Midnight 2026-03-03 19:41:05 -03:00
luis af61bad399 DB/Spells: Fix Executioner's Precision procs 2026-03-03 19:38:57 -03:00
Shauren d67801df7f Core/Spells: Fixed autoattack timer being reset by almost every spell cast
Signed-off-by: luis <[email protected]>
2026-03-03 19:37:55 -03:00
Céfiro_Caecias 2fdb0b4233 DB/World: DBErrors Clean 2026-03-03 10:10:30 -03:00
Céfiro_Caecias 7983ce6c68 DB/Hotfixes: DBErrors item_sparse 2026-03-03 10:09:44 -03:00
luis e47bcc48d6 +++ 2026-03-02 21:15:50 -03:00
luis 354fb4b154 66198 2026-03-02 20:42:53 -03:00
luis fa21740681 merge latest 2026-03-02 20:42:11 -03:00
Jeremy e2d85b360c Scripts/Spells: Implement Rampaging Ruin (Fury Warrior Talent) (#31681)
Signed-off-by: luis <[email protected]>
2026-03-02 20:42:03 -03:00