From bba7b6a554c3be59edc2a9b520e5ba132b0efc52 Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 20 Sep 2016 23:09:10 +0200 Subject: Core/Player: Set max power values from PowerType.db2 --- src/server/game/Entities/Unit/Unit.cpp | 46 ++++------------------------------ 1 file changed, 5 insertions(+), 41 deletions(-) (limited to 'src/server/game/Entities') 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; } -- cgit v1.2.3