Commit Graph
3371 Commits
Author SHA1 Message Date
luis 530f5f61b4 fix load 2026-02-27 00:11:38 -03:00
luis a459654d5f Full db2 fix 2026-02-27 00:06:13 -03:00
luis 5579030738 fix db2 and hotfix todo GarrType.db2 2026-02-26 23:52:15 -03:00
luis 317c14278c fix all char db errors now i will do hotfixes 2026-02-26 23:27:07 -03:00
luis 2cdf4ecbb3 Fix character_garrison_talents 2026-02-26 23:19:00 -03:00
luis e9b62ac438 bpet fix 2026-02-26 23:15:19 -03:00
luis 16d10ae028 Fix build untill housing get finished 2026-02-26 23:14:43 -03:00
luis a0000aad49 Pet Battles: Fix trap animation, captured pet health, and add Newbie achievement 2026-02-26 23:11:07 -03:00
luis a02a04b4cd Pet Battles: Fix wild team size, capture mechanics, and battle end flow 2026-02-26 23:11:07 -03:00
Céfiro_Caecias 446bc9dedb Update README.md 2026-02-26 08:38:51 -03:00
luis bc124a3b68 feat(warband): Phase 8 - Armor-type agnostic transmog 2026-02-25 22:10:31 -03:00
luis bcc1618159 Phase 7 - Account-wide achievements
Add warband_achievement and warband_achievement_progress tables for
account-level achievement storage. On login, merge account-wide
achievements and criteria progress from warband tables. Titles from
account-wide achievements are retroactively granted to all characters.
Existing per-character account-wide achievements are promoted to
warband tables on first login after migration.
2026-02-25 22:08:51 -03:00
Shauren 4fb3b19844 Core/AreaTriggers: Fixed crashes caused by areatrigger OnUnitEnter/OnUnitExit scripts teleporting players to other maps
Signed-off-by: luis <[email protected]>
2026-02-25 21:29:31 -03:00
Shauren b561055a1a Core/Spells: Update CAST_FLAG_NO_GCD flag implementation
Signed-off-by: luis <[email protected]>
2026-02-25 21:28:51 -03:00
Jeremy 56377e3cab Scripts/Spells: Implement Execute damage and Improved Execute (arms) (#31658)
Signed-off-by: luis <[email protected]>
2026-02-25 21:28:27 -03:00
Aqua Deus 8c6e61f697 Scripts/Spells: Implement dh talent "Shift" (#31656)
Signed-off-by: luis <[email protected]>
2026-02-25 21:27:52 -03:00
Aqua Deus 22174b73a3 Scripts/Spells: Implement dh talent "Voidblade" (#31654)
Signed-off-by: luis <[email protected]>
2026-02-25 21:27:29 -03:00
Aqua Deus 543979c0e0 Scripts/Spells: Fix power gain for dh talent "Consume" (#31653)
Signed-off-by: luis <[email protected]>
2026-02-25 21:26:54 -03:00
luis f3fcbd4a15 feat(warband): alt XP bonus for leveling characters 2026-02-25 21:02:37 -03:00
luis 69903f1a33 feat(warband): account-wide flight path sharing
Discovered flight paths are now shared across all characters on the same
Battle.net account. On login, each character merges the account-wide taxi
mask into their own. When a new node is discovered, the account mask is
updated immediately. Nodes with TaxiNodeFlags::NotAccountWide are excluded.

- Add warband_taxi_mask table (one row per bnet account)
- Add PlayerTaxi::MergeAccountTaxiMask() and LoadTaxiMaskFromString()
- Merge account taxi mask during Player::LoadFromDB
- Save character's merged mask back to account on Player::SaveToDB
- Update account mask on SendLearnNewTaxiNode/SendDiscoverNewTaxiNode
2026-02-25 20:59:28 -03:00
luis 864cd83195 Currency: Implement warband currency transfer handlers
Add full handler implementations in CurrencyHandler.cpp:
- HandleRequestCurrencyDataForAccountCharacters: queries all same-account
  characters' transferable currencies and sends to client
- HandleTransferCurrencyFromAccountCharacter: validates source character
  ownership, currency transferability, balance checks, applies transfer
  percentage, updates source via DB and destination via ModifyCurrency,
  logs transfer to warband_currency_transfer_log
- HandleGetCharacterCurrencyTransferLog: queries and returns recent
  transfer history for the bnet account
2026-02-25 20:54:52 -03:00
luis 9087650fe4 Currency: Add schema, packets, opcodes and feature flag for warband currency transfer
Add infrastructure for account-wide currency transfer system:
- warband_currency_transfer_log table and prepared statements
- AccountCurrencyTransferResult enum in SharedDefines.h
- IsAccountWide/IsAccountTransferable helpers on CurrencyTypesEntry
- Remove NYI from CurrencyTypesFlags::AccountWide
- 6 packet classes (3 CMSG + 3 SMSG) in MiscPackets
- Wire 6 opcodes to real handlers
- Enable IsAccountCurrencyTransferEnabled feature flag
- Stub CurrencyHandler.cpp with placeholder implementations
2026-02-25 20:52:06 -03:00
luis b9f324b0e9 Implement account-wide reputation load/save in ReputationMgr
Add ReputationMgr methods for warband-wide reputation sharing:
- LoadAccountWideFromDB: merges account highest standings into character
  reputation on login, syncing both regular and renown factions
- SaveAccountWideToDB: upserts warband_reputation when character's
  standing exceeds the stored account-wide maximum
- Login query for account reputation via LoginQueryHolder
- Renown factions compare level first, then standing as tiebreaker
- Regular factions compare standing delta directly
2026-02-25 19:54:02 -03:00
luis 6e05280d1a Add warband reputation schema, statements, and faction config
Add database tables and ObjectMgr infrastructure for account-wide
reputation sharing:
- warband_reputation_faction (world DB): eligible factions config
- warband_reputation (characters DB): per-account highest standings
- Prepared statements for both world and character databases
- ObjectMgr::LoadWarbandReputationFactions() called at startup
- Pre-populate with TWW renown factions (2570, 2590, 2594, 2600)
2026-02-25 19:34:08 -03:00
luis fcac505c8a Pet Battles: Fix pet level/stats/XP persistence and capture saving
Fix several bugs causing battle pet progression to not persist:

- Reorder logout cleanup so battle resolution (FinishBattle + XP award)
  happens before journal lock release, ensuring XP is applied on disconnect
- Add captured wild pets to player journal via AddPet() on successful trap
- Keep slot pet data in sync with _pets map after level-up, health sync,
  quality change, and healing to fix stale criteria/display data
- Change mid-level-up GameTable miss from hard return to break so partial
  XP is still saved
- Add diagnostic logging (battlepet category) for save/load/XP operations
2026-02-25 19:26:10 -03:00
luis 6e7843831b update still not build 2026-02-25 19:17:45 -03:00
Céfiro_Caecias 27a13f5ebf Update README.md 2026-02-25 18:40:09 -03:00
luis 75265487e9 Housing update part 1 at night i fix build 2026-02-25 13:30:00 -03:00
luis e2c633975e AddSC_npc_garrison_bodyguard 2026-02-25 13:10:24 -03:00
luis 20e77f6117 Garrison: Complete 100% Blizzlike implementation
Implements all remaining garrison subsystems for full Blizzlike coverage:

- 17 garrison spell effects (upgrade, add mission, follower XP/quality/abilities,
  building construction, shipments, talents, item level upgrades)
- Building swap between same-type plots
- Follower item level upgrade system with GarrItemLevelUpgradeData support
- Building-specific mechanics: Barracks extra follower slots (+5/+10),
  Salvage Yard crate drops from missions, Inn/Tavern treasure missions
- Bodyguard companion system (follows player in Draenor, assists in combat)
- Party garrison (visit group leader's garrison)
- Invasion wave system with 3 invasion types and GM commands
- Stub handler completions (monument revert, pet name, talent unlocks)
- Targeted event packets replacing heavy GetGarrisonInfoResult sends
- Auto-combat simulator for adventure missions
2026-02-24 22:38:52 -03:00
luis 3849b795db Initial char garrisons dont touch is work in progress will finish tomorrow 2026-02-24 21:23:48 -03:00
luis 49b0d7a5ec Garrison: Phase 1 - Complete WoD core systems and multi-garrison framework
Load 12 new Garr* DB2 stores (GarrBuildingDoodadSet, GarrFollItemSetMember,
GarrFollowerLevelXP, GarrFollowerQuality, GarrFollowerType,
GarrItemLevelUpgradeData, GarrMissionSet, GarrMissionType,
GarrMissionXFollower, GarrMssnBonusAbility, GarrSpecialization, GarrType)
across the full loading pipeline.

Implement Garrison::Upgrade() for WoD level 1-3 progression with cinematic
playback, building persistence across level transitions, and plot respawning.

Replace hardcoded follower XP formula with DB2-driven progression using
GarrFollowerLevelXP and GarrFollowerQuality stores, including quality
upgrades with ability re-rolling at tier boundaries.

Add follower custom name persistence (customName column) and mission
required follower validation via GarrMissionXFollower index.

Refactor to multi-garrison framework: Player stores map of garrisons keyed
by GarrisonType, GetGarrison() defaults to WoD for backwards compatibility,
GetGarrisonInfo sends data for all garrison types to client.
2026-02-24 21:19:27 -03:00
luis ccd87a786a Pet Battles: Fix battle end rewards and flow ordering from sniff comparison
Fix 5 data correctness issues and 1 flow ordering issue found by comparing
against a retail 12.0 NPC trainer battle sniff:

- AwardedXP: set true for all pets (both teams) via CanAwardXP(), not just
  the winner team
- NpcCreatureID: use trainer NPC entry (via GetNpcTrainerGUID) instead of
  pet species CreatureID
- SeenAction: set false for all pets (matches sniff)
- Remove HealBattlePetsPct(50) auto-heal — sniff shows dead pets stay at 0
- Split end flow: FinalRound packet sent immediately, but Finished packet,
  health sync, and journal update deferred until client sends FinalNotify
  (player must click OK on results screen)
- Add logout cleanup in WorldSession::LogoutPlayer for disconnect safety

CompleteBattle() centralizes the FINISHED transition, Finished packet,
health sync, and journal send — used by FinalNotify handler, forfeit
handler, and logout cleanup.
2026-02-24 21:04:57 -03:00
luis 38d39582fa db playerhousing data 2026-02-24 20:40:30 -03:00
luis ee426ecb0a buildfix 2026-02-24 20:28:36 -03:00
luis 6975a848c5 Housing: Extract real NeighborhoodPlot DB2 data, fix neighborhood naming 2026-02-24 20:12:28 -03:00
luis bd132e93f2 Housing: Add periodic neighborhood expansion check in World::Update 2026-02-24 20:09:11 -03:00
luis d5bb0004b2 Housing: Sniff cross-reference fixes, complete MIRROR_VARS, neighborhood naming 2026-02-24 20:07:28 -03:00
luis c13274e770 Housing: Add missing MIRROR_VARS float game rules, note version caveats 2026-02-24 19:59:59 -03:00
luis edd9012430 Housing: Fix MeshObject sync on reposition/type change, add door interior entry 2026-02-24 19:58:11 -03:00
luis 08408e8727 Housing: Add per-player initiative contribution tracking and fix DB2 metadata 2026-02-24 19:53:13 -03:00
luis 1aac2fe903 Add new housing tables part 1 2026-02-24 19:47:01 -03:00
luis 1583ffb31d Pet Battles: Implement quest/achievement criteria for wins, losses, and captures 2026-02-24 13:46:43 -03:00
luis 12dbb360d9 Pet Battles: Fix EffectType field and pet swap communication 2026-02-24 13:43:08 -03:00
luis 65196b1b28 Pet Battles: Fix wire format from IDA analysis, improve battle flow and stats 2026-02-24 13:41:26 -03:00
luis 1ca8589621 Pet Battles: Set RoundTimeSecs=0 for PvE/NPC round results per retail sniff 2026-02-23 21:04:39 -03:00
luis 1a4054521d Pet Battles: Fix round result wire order and wild pet data for 12.0 client 2026-02-23 21:04:01 -03:00
luis 134d3febf7 Pet Battles: Send FIRST_ROUND instead of REPLACEMENTS_MADE at battle start 2026-02-23 21:01:58 -03:00
luis 0f968f04df Pet Battles: Fix client crash on battle start from packet format mismatches 2026-02-23 21:01:16 -03:00
luis d46305a8c8 Housing: Wire remaining CMSG handlers, add debug logging, validate DB2 stores
Wire 3 unhandled CMSG opcodes (GetAllLicensedDecorQuantities,
GetDecorRefundList, InitiativeUpdateActiveNeighborhood) with full handler
implementations and SMSG responses. Add extensive TC_LOG_DEBUG logging to
all ~120 housing packet Read()/Write() methods for runtime tracing.
Validate ExteriorComponent, ExteriorComponentHook, and ExteriorComponentType
DB2 lookups in fixture handlers before passing IDs to the housing backend.
2026-02-23 20:57:51 -03:00