# WoW Hunter Pet Happiness ## Status The tier lookup and base auto-attack damage multiplier are source-audited and prepared as isolated helpers. They are not yet connected to the player's or generated companion's pet state or attack resolver. The game does not yet model pet happiness, so this note does not claim that happiness affects live combat. ## Selected 3.3.5 behavior The upstream TrinityCore `3.3.5` branch uses `POWER_HAPPINESS` in bands of 333,000: | Pet happiness power | State | Base pet main-hand damage | | --- | --- | ---: | | Below 333,000 | Unhappy | 75% | | 333,000 to below 666,000 | Content | 100% | | 666,000 or higher | Happy | 125% | `Pet::GetHappinessState` defines the band boundaries, and `Guardian::UpdateDamagePhysical` applies the matching multiplier to the Hunter pet's minimum and maximum base melee damage. This source path is why the isolated helper scopes its effect to base auto-attack damage. It does not assume that every special-attack formula receives the same multiplier. ## Source and precedence No local generated pet-happiness row or runtime state was found. These missing details use the upstream TrinityCore source for the 3.3.5 branch, a server-core reference for the target 3.3.5a behavior rather than Blizzard server source: - [`HAPPINESS_LEVEL_SIZE`](https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/game/Entities/Pet/Pet.h#L19-L24) is 333,000. - [`Pet::GetHappinessState`](https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/game/Entities/Pet/Pet.cpp#L653-L671) sets the Unhappy, Content, and Happy thresholds. - [`Guardian::UpdateDamagePhysical`](https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/game/Entities/Unit/StatSystem.cpp#L1427-L1476) applies 1.25 / 1.00 / 0.75 multipliers to a Hunter pet's minimum and maximum base melee damage. ## Deliberate exclusions - Happiness decay is not implemented here. TrinityCore updates the happiness timer every 7,500 ms and loses 670 points per update, but its own `Pet::LoseHappiness` comment labels the 1.5× in-combat loss as a guess. This is insufficient evidence for claiming exact stock decay behavior. - Feed Pet is not implemented here. Food-family compatibility, food item levels, inventory consumption, and the happiness amount need a separate full source audit. - The helper does not define the initial value or persistence policy. TrinityCore initializes a newly tamed pet to 166,500, but modeling this requires persistent happiness state and the tame/summon lifecycle. - This is separate from the WoW Hunter pet armor/resistance preparation in [the defense inheritance note](WOW_HUNTER_PET_DEFENSE_INHERITANCE.md). ## Runtime integration contract [`wow335HunterPetHappinessRuntime.ts`](../src/game/wow335HunterPetHappinessRuntime.ts) maps a happiness power value to a state and base auto-attack multiplier. Integration needs persistent per-pet happiness, must apply the multiplier to the pet's ordinary melee auto-attack damage after its existing base damage is calculated, and must preserve the pet-specific state across player and companion pet attack paths. Add damage taken from Bite or other pet special abilities only if the target 3.3.5 source path proves those formulas consume the adjusted weapon damage; this note does not infer that coupling.