diff options
| author | Shauren <shauren.trinity@gmail.com> | 2016-09-20 23:09:10 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-09-20 23:09:10 +0200 |
| commit | bba7b6a554c3be59edc2a9b520e5ba132b0efc52 (patch) | |
| tree | 7f4013616e58b77c8060f43e46c8a152c8a02579 /src/server/game/Entities | |
| parent | e1f4b6b04cc8bf386f23d45c930d706855af03c5 (diff) | |
Core/Player: Set max power values from PowerType.db2
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 46 |
1 files changed, 5 insertions, 41 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 089b9c50ab1..a04a4fa397e 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -11101,47 +11101,11 @@ uint32 Unit::GetPowerIndex(uint32 powerType) const int32 Unit::GetCreatePowers(Powers power) const { - switch (power) - { - case POWER_MANA: - return GetCreateMana(); - case POWER_RAGE: - case POWER_PAIN: - return 1000; - case POWER_FOCUS: - if (GetTypeId() == TYPEID_PLAYER && getClass() == CLASS_HUNTER) - return 100; - return (GetTypeId() == TYPEID_PLAYER || !((Creature const*)this)->IsPet() || ((Pet const*)this)->getPetType() != HUNTER_PET ? 0 : 100); - case POWER_ENERGY: - case POWER_FURY: - return 100; - case POWER_COMBO_POINTS: - return 5; - case POWER_RUNIC_POWER: - return 1000; - case POWER_RUNES: - return 6; - case POWER_SOUL_SHARDS: - return 400; - case POWER_LUNAR_POWER: - return 100; - case POWER_HOLY_POWER: - return 3; - case POWER_CHI: - return 4; - case POWER_INSANITY: - return 3; - case POWER_BURNING_EMBERS: - return 40; - case POWER_DEMONIC_FURY: - return 1000; - case POWER_ARCANE_CHARGES: - return 4; - case POWER_HEALTH: - return 0; - default: - break; - } + if (power == POWER_MANA) + return GetCreateMana(); + + if (PowerTypeEntry const* powerType = sDB2Manager.GetPowerTypeEntry(power)) + return powerType->MaxPower; return 0; } |
