Core/Misc: rename Powers to PowerType
This commit is contained in:
1 parent
2c2f200e14
commit
5d22ddd499
23 files changed
+112
-112
No files matched your search
@@ -103,12 +103,12 @@ struct TC_GAME_API NonTankTargetSelector
|
|||||||
struct TC_GAME_API PowerUsersSelector
|
struct TC_GAME_API PowerUsersSelector
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PowerUsersSelector(Unit const* unit, Powers power, float dist, bool playerOnly) : _me(unit), _power(power), _dist(dist), _playerOnly(playerOnly) { }
|
PowerUsersSelector(Unit const* unit, PowerType power, float dist, bool playerOnly) : _me(unit), _power(power), _dist(dist), _playerOnly(playerOnly) { }
|
||||||
bool operator()(Unit const* target) const;
|
bool operator()(Unit const* target) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Unit const* _me;
|
Unit const* _me;
|
||||||
Powers const _power;
|
PowerType const _power;
|
||||||
float const _dist;
|
float const _dist;
|
||||||
bool const _playerOnly;
|
bool const _playerOnly;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -312,7 +312,7 @@ SpellInfo const* ScriptedAI::SelectSpell(Unit* target, uint32 school, uint32 mec
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
//Continue if we don't have the mana to actually cast this spell
|
//Continue if we don't have the mana to actually cast this spell
|
||||||
if (tempSpell->ManaCost > (uint32)me->GetPower(Powers(tempSpell->PowerType)))
|
if (tempSpell->ManaCost > (uint32)me->GetPower(PowerType(tempSpell->PowerType)))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
//Check if the spell meets our range requirements
|
//Check if the spell meets our range requirements
|
||||||
|
|||||||
@@ -2076,7 +2076,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
|||||||
{
|
{
|
||||||
for (WorldObject* target : targets)
|
for (WorldObject* target : targets)
|
||||||
if (IsUnit(target))
|
if (IsUnit(target))
|
||||||
target->ToUnit()->SetPower(Powers(e.action.power.powerType), e.action.power.newPower);
|
target->ToUnit()->SetPower(PowerType(e.action.power.powerType), e.action.power.newPower);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2084,7 +2084,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
|||||||
{
|
{
|
||||||
for (WorldObject* target : targets)
|
for (WorldObject* target : targets)
|
||||||
if (IsUnit(target))
|
if (IsUnit(target))
|
||||||
target->ToUnit()->SetPower(Powers(e.action.power.powerType), target->ToUnit()->GetPower(Powers(e.action.power.powerType)) + e.action.power.newPower);
|
target->ToUnit()->SetPower(PowerType(e.action.power.powerType), target->ToUnit()->GetPower(PowerType(e.action.power.powerType)) + e.action.power.newPower);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2092,7 +2092,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
|||||||
{
|
{
|
||||||
for (WorldObject* target : targets)
|
for (WorldObject* target : targets)
|
||||||
if (IsUnit(target))
|
if (IsUnit(target))
|
||||||
target->ToUnit()->SetPower(Powers(e.action.power.powerType), target->ToUnit()->GetPower(Powers(e.action.power.powerType)) - e.action.power.newPower);
|
target->ToUnit()->SetPower(PowerType(e.action.power.powerType), target->ToUnit()->GetPower(PowerType(e.action.power.powerType)) - e.action.power.newPower);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2601,7 +2601,7 @@ void SmartScript::GetTargets(ObjectVector& targets, SmartScriptHolder const& e,
|
|||||||
{
|
{
|
||||||
if (e.target.hostilRandom.powerType)
|
if (e.target.hostilRandom.powerType)
|
||||||
{
|
{
|
||||||
if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_MAXTHREAT, 1, PowerUsersSelector(me, Powers(e.target.hostilRandom.powerType - 1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0)))
|
if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_MAXTHREAT, 1, PowerUsersSelector(me, PowerType(e.target.hostilRandom.powerType - 1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0)))
|
||||||
targets.push_back(u);
|
targets.push_back(u);
|
||||||
}
|
}
|
||||||
else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_MAXTHREAT, 1, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0))
|
else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_MAXTHREAT, 1, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0))
|
||||||
@@ -2613,7 +2613,7 @@ void SmartScript::GetTargets(ObjectVector& targets, SmartScriptHolder const& e,
|
|||||||
{
|
{
|
||||||
if (e.target.hostilRandom.powerType)
|
if (e.target.hostilRandom.powerType)
|
||||||
{
|
{
|
||||||
if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_MINTHREAT, 0, PowerUsersSelector(me, Powers(e.target.hostilRandom.powerType - 1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0)))
|
if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_MINTHREAT, 0, PowerUsersSelector(me, PowerType(e.target.hostilRandom.powerType - 1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0)))
|
||||||
targets.push_back(u);
|
targets.push_back(u);
|
||||||
}
|
}
|
||||||
else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_MINTHREAT, 0, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0))
|
else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_MINTHREAT, 0, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0))
|
||||||
@@ -2625,7 +2625,7 @@ void SmartScript::GetTargets(ObjectVector& targets, SmartScriptHolder const& e,
|
|||||||
{
|
{
|
||||||
if (e.target.hostilRandom.powerType)
|
if (e.target.hostilRandom.powerType)
|
||||||
{
|
{
|
||||||
if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 0, PowerUsersSelector(me, Powers(e.target.hostilRandom.powerType - 1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0)))
|
if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 0, PowerUsersSelector(me, PowerType(e.target.hostilRandom.powerType - 1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0)))
|
||||||
targets.push_back(u);
|
targets.push_back(u);
|
||||||
}
|
}
|
||||||
else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 0, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0))
|
else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 0, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0))
|
||||||
@@ -2637,7 +2637,7 @@ void SmartScript::GetTargets(ObjectVector& targets, SmartScriptHolder const& e,
|
|||||||
{
|
{
|
||||||
if (e.target.hostilRandom.powerType)
|
if (e.target.hostilRandom.powerType)
|
||||||
{
|
{
|
||||||
if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 1, PowerUsersSelector(me, Powers(e.target.hostilRandom.powerType - 1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0)))
|
if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 1, PowerUsersSelector(me, PowerType(e.target.hostilRandom.powerType - 1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0)))
|
||||||
targets.push_back(u);
|
targets.push_back(u);
|
||||||
}
|
}
|
||||||
else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 1, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0))
|
else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 1, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly != 0))
|
||||||
|
|||||||
@@ -1092,7 +1092,7 @@ CharSectionsEntry const* DBCManager::GetCharSectionEntry(uint8 race, CharSection
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 DBCManager::GetPowerIndexByClass(Powers power, uint32 classId)
|
uint32 DBCManager::GetPowerIndexByClass(PowerType power, uint32 classId)
|
||||||
{
|
{
|
||||||
return PowersByClass[classId][power];
|
return PowersByClass[classId][power];
|
||||||
}
|
}
|
||||||
@@ -1332,7 +1332,7 @@ EmotesTextSoundEntry const* DBCManager::FindTextSoundEmoteFor(uint32 emote, uint
|
|||||||
return itr != sEmotesTextSoundMap.end() ? itr->second : nullptr;
|
return itr != sEmotesTextSoundMap.end() ? itr->second : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*static*/ float DBCManager::GetBasePowerRegen(Powers powerType, bool isInCombat, uint32 powerBarId)
|
/*static*/ float DBCManager::GetBasePowerRegen(PowerType powerType, bool isInCombat, uint32 powerBarId)
|
||||||
{
|
{
|
||||||
if (powerType != POWER_ALTERNATE_POWER)
|
if (powerType != POWER_ALTERNATE_POWER)
|
||||||
{
|
{
|
||||||
@@ -1360,7 +1360,7 @@ EmotesTextSoundEntry const* DBCManager::FindTextSoundEmoteFor(uint32 emote, uint
|
|||||||
return 0.f;
|
return 0.f;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*static*/ bool DBCManager::IsPowerTypeAffectedByHaste(Powers powerType)
|
/*static*/ bool DBCManager::IsPowerTypeAffectedByHaste(PowerType powerType)
|
||||||
{
|
{
|
||||||
switch (powerType)
|
switch (powerType)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ public:
|
|||||||
PvPDifficultyEntry const* GetBattlegroundBracketById(uint32 mapid, BattlegroundBracketId id);
|
PvPDifficultyEntry const* GetBattlegroundBracketById(uint32 mapid, BattlegroundBracketId id);
|
||||||
CharStartOutfitEntry const* GetCharStartOutfitEntry(uint8 race, uint8 class_, uint8 gender);
|
CharStartOutfitEntry const* GetCharStartOutfitEntry(uint8 race, uint8 class_, uint8 gender);
|
||||||
CharSectionsEntry const* GetCharSectionEntry(uint8 race, CharSectionType genType, uint8 gender, uint8 type, uint8 color);
|
CharSectionsEntry const* GetCharSectionEntry(uint8 race, CharSectionType genType, uint8 gender, uint8 type, uint8 color);
|
||||||
uint32 GetPowerIndexByClass(Powers power, uint32 classId);
|
uint32 GetPowerIndexByClass(PowerType power, uint32 classId);
|
||||||
static bool IsInArea(uint32 objectAreaId, uint32 areaId);
|
static bool IsInArea(uint32 objectAreaId, uint32 areaId);
|
||||||
static LFGDungeonEntry const* GetLFGDungeon(uint32 mapId, Difficulty difficulty);
|
static LFGDungeonEntry const* GetLFGDungeon(uint32 mapId, Difficulty difficulty);
|
||||||
std::vector<uint32> const* GetPhasesForGroup(uint32 group);
|
std::vector<uint32> const* GetPhasesForGroup(uint32 group);
|
||||||
@@ -250,8 +250,8 @@ public:
|
|||||||
SkillRaceClassInfoEntry const* GetSkillRaceClassInfo(uint32 skill, uint8 race, uint8 class_);
|
SkillRaceClassInfoEntry const* GetSkillRaceClassInfo(uint32 skill, uint8 race, uint8 class_);
|
||||||
ResponseCodes ValidateName(std::wstring const& name, LocaleConstant locale);
|
ResponseCodes ValidateName(std::wstring const& name, LocaleConstant locale);
|
||||||
EmotesTextSoundEntry const* FindTextSoundEmoteFor(uint32 emote, uint32 race, uint32 gender);
|
EmotesTextSoundEntry const* FindTextSoundEmoteFor(uint32 emote, uint32 race, uint32 gender);
|
||||||
static float GetBasePowerRegen(Powers powerType, bool isInCombat, uint32 powerBarId = 0);
|
static float GetBasePowerRegen(PowerType powerType, bool isInCombat, uint32 powerBarId = 0);
|
||||||
static bool IsPowerTypeAffectedByHaste(Powers powerType);
|
static bool IsPowerTypeAffectedByHaste(PowerType powerType);
|
||||||
static float GetGtOCTRegenMPPerSpirit(uint8 classId, uint8 level);
|
static float GetGtOCTRegenMPPerSpirit(uint8 classId, uint8 level);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1432,7 +1432,7 @@ void Creature::UpdateLevelDependantStats()
|
|||||||
SetStatFlatModifier(UNIT_MOD_HEALTH, BASE_VALUE, (float)health);
|
SetStatFlatModifier(UNIT_MOD_HEALTH, BASE_VALUE, (float)health);
|
||||||
|
|
||||||
// mana
|
// mana
|
||||||
Powers powerType = CalculateDisplayPowerType();
|
PowerType powerType = CalculateDisplayPowerType();
|
||||||
SetCreateMana(stats->BaseMana);
|
SetCreateMana(stats->BaseMana);
|
||||||
SetStatPctModifier(UnitMods(UNIT_MOD_POWER_START + AsUnderlyingType(powerType)), BASE_PCT, cInfo->ModMana * cInfo->ModManaExtra);
|
SetStatPctModifier(UnitMods(UNIT_MOD_POWER_START + AsUnderlyingType(powerType)), BASE_PCT, cInfo->ModMana * cInfo->ModManaExtra);
|
||||||
RegisterPowerTypes();
|
RegisterPowerTypes();
|
||||||
|
|||||||
@@ -199,8 +199,8 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma
|
|||||||
void UpdateResistances(uint32 school) override;
|
void UpdateResistances(uint32 school) override;
|
||||||
void UpdateArmor() override;
|
void UpdateArmor() override;
|
||||||
void UpdateMaxHealth() override;
|
void UpdateMaxHealth() override;
|
||||||
void UpdateMaxPower(Powers power) override;
|
void UpdateMaxPower(PowerType power) override;
|
||||||
uint32 GetPowerIndex(Powers power) const override;
|
uint32 GetPowerIndex(PowerType power) const override;
|
||||||
void UpdateAttackPowerAndDamage(bool ranged = false) override;
|
void UpdateAttackPowerAndDamage(bool ranged = false) override;
|
||||||
void CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bool addTotalPct, float& minDamage, float& maxDamage) const override;
|
void CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bool addTotalPct, float& minDamage, float& maxDamage) const override;
|
||||||
|
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ class TC_GAME_API Guardian : public Minion
|
|||||||
void UpdateResistances(uint32 school) override;
|
void UpdateResistances(uint32 school) override;
|
||||||
void UpdateArmor() override;
|
void UpdateArmor() override;
|
||||||
void UpdateMaxHealth() override;
|
void UpdateMaxHealth() override;
|
||||||
void UpdateMaxPower(Powers power) override;
|
void UpdateMaxPower(PowerType power) override;
|
||||||
void UpdateAttackPowerAndDamage(bool ranged = false) override;
|
void UpdateAttackPowerAndDamage(bool ranged = false) override;
|
||||||
void UpdateDamagePhysical(WeaponAttackType attType) override;
|
void UpdateDamagePhysical(WeaponAttackType attType) override;
|
||||||
|
|
||||||
|
|||||||
@@ -759,7 +759,7 @@ bool Guardian::InitStatsForLevel(uint8 petlevel)
|
|||||||
for (uint8 i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i)
|
for (uint8 i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i)
|
||||||
SetStatFlatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + i), BASE_VALUE, float(cinfo->resistance[i]));
|
SetStatFlatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + i), BASE_VALUE, float(cinfo->resistance[i]));
|
||||||
|
|
||||||
Powers powerType = CalculateDisplayPowerType();
|
PowerType powerType = CalculateDisplayPowerType();
|
||||||
|
|
||||||
// Health, mana, armor and resistance
|
// Health, mana, armor and resistance
|
||||||
PetLevelInfo const* pInfo = sObjectMgr->GetPetLevelInfo(creature_ID, petlevel);
|
PetLevelInfo const* pInfo = sObjectMgr->GetPetLevelInfo(creature_ID, petlevel);
|
||||||
|
|||||||
@@ -2478,7 +2478,7 @@ void Player::InitStatsForLevel(bool reapplyMods)
|
|||||||
|
|
||||||
// save new stats
|
// save new stats
|
||||||
for (uint8 i = POWER_MANA; i < MAX_POWERS; ++i)
|
for (uint8 i = POWER_MANA; i < MAX_POWERS; ++i)
|
||||||
SetMaxPower(Powers(i), GetCreatePowerValue(Powers(i)));
|
SetMaxPower(PowerType(i), GetCreatePowerValue(PowerType(i)));
|
||||||
|
|
||||||
SetMaxHealth(basehp); // stamina bonus will applied later
|
SetMaxHealth(basehp); // stamina bonus will applied later
|
||||||
|
|
||||||
@@ -17164,11 +17164,11 @@ bool Player::LoadFromDB(ObjectGuid guid, CharacterDatabaseQueryHolder const& hol
|
|||||||
uint32 loadedPowers = 0;
|
uint32 loadedPowers = 0;
|
||||||
for (uint32 i = 0; i < MAX_POWERS; ++i)
|
for (uint32 i = 0; i < MAX_POWERS; ++i)
|
||||||
{
|
{
|
||||||
if (GetPowerIndex(Powers(i)) != MAX_POWERS)
|
if (GetPowerIndex(PowerType(i)) != MAX_POWERS)
|
||||||
{
|
{
|
||||||
uint32 savedPower = fields[53 + loadedPowers].GetUInt32();
|
uint32 savedPower = fields[53 + loadedPowers].GetUInt32();
|
||||||
uint32 maxPower = GetUInt32Value(UNIT_FIELD_MAXPOWER1 + loadedPowers);
|
uint32 maxPower = GetUInt32Value(UNIT_FIELD_MAXPOWER1 + loadedPowers);
|
||||||
SetPower(Powers(i), (savedPower > maxPower) ? maxPower : savedPower);
|
SetPower(PowerType(i), (savedPower > maxPower) ? maxPower : savedPower);
|
||||||
if (++loadedPowers >= MAX_POWERS_PER_CLASS)
|
if (++loadedPowers >= MAX_POWERS_PER_CLASS)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -19041,7 +19041,7 @@ void Player::SaveToDB(CharacterDatabaseTransaction trans, bool create /* = false
|
|||||||
uint32 storedPowers = 0;
|
uint32 storedPowers = 0;
|
||||||
for (uint32 i = 0; i < MAX_POWERS; ++i)
|
for (uint32 i = 0; i < MAX_POWERS; ++i)
|
||||||
{
|
{
|
||||||
if (GetPowerIndex(Powers(i)) != MAX_POWERS)
|
if (GetPowerIndex(PowerType(i)) != MAX_POWERS)
|
||||||
{
|
{
|
||||||
stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_POWER1 + storedPowers));
|
stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_POWER1 + storedPowers));
|
||||||
if (++storedPowers >= MAX_POWERS_PER_CLASS)
|
if (++storedPowers >= MAX_POWERS_PER_CLASS)
|
||||||
@@ -19177,7 +19177,7 @@ void Player::SaveToDB(CharacterDatabaseTransaction trans, bool create /* = false
|
|||||||
uint32 storedPowers = 0;
|
uint32 storedPowers = 0;
|
||||||
for (uint32 i = 0; i < MAX_POWERS; ++i)
|
for (uint32 i = 0; i < MAX_POWERS; ++i)
|
||||||
{
|
{
|
||||||
if (GetPowerIndex(Powers(i)) != MAX_POWERS)
|
if (GetPowerIndex(PowerType(i)) != MAX_POWERS)
|
||||||
{
|
{
|
||||||
stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_POWER1 + storedPowers));
|
stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_POWER1 + storedPowers));
|
||||||
if (++storedPowers >= MAX_POWERS_PER_CLASS)
|
if (++storedPowers >= MAX_POWERS_PER_CLASS)
|
||||||
@@ -20000,7 +20000,7 @@ void Player::_SaveStats(CharacterDatabaseTransaction& trans) const
|
|||||||
stmt->setUInt32(index++, GetMaxHealth());
|
stmt->setUInt32(index++, GetMaxHealth());
|
||||||
|
|
||||||
for (uint8 i = 0; i < MAX_POWERS_PER_CLASS; ++i)
|
for (uint8 i = 0; i < MAX_POWERS_PER_CLASS; ++i)
|
||||||
stmt->setUInt32(index++, GetMaxPower(Powers(i)));
|
stmt->setUInt32(index++, GetMaxPower(PowerType(i)));
|
||||||
|
|
||||||
for (uint8 i = 0; i < MAX_STATS; ++i)
|
for (uint8 i = 0; i < MAX_STATS; ++i)
|
||||||
stmt->setUInt32(index++, GetStat(Stats(i)));
|
stmt->setUInt32(index++, GetStat(Stats(i)));
|
||||||
@@ -26680,7 +26680,7 @@ void Player::ActivateSpec(uint8 spec)
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
Powers pw = GetPowerType();
|
PowerType pw = GetPowerType();
|
||||||
if (pw != POWER_MANA)
|
if (pw != POWER_MANA)
|
||||||
SetPower(POWER_MANA, 0); // Mana must be 0 even if it isn't the active power type.
|
SetPower(POWER_MANA, 0); // Mana must be 0 even if it isn't the active power type.
|
||||||
|
|
||||||
|
|||||||
@@ -1748,8 +1748,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
|
|||||||
void UpdateResistances(uint32 school) override;
|
void UpdateResistances(uint32 school) override;
|
||||||
void UpdateArmor() override;
|
void UpdateArmor() override;
|
||||||
void UpdateMaxHealth() override;
|
void UpdateMaxHealth() override;
|
||||||
void UpdateMaxPower(Powers power) override;
|
void UpdateMaxPower(PowerType power) override;
|
||||||
uint32 GetPowerIndex(Powers power) const override;
|
uint32 GetPowerIndex(PowerType power) const override;
|
||||||
void UpdateAttackPowerAndDamage(bool ranged = false) override;
|
void UpdateAttackPowerAndDamage(bool ranged = false) override;
|
||||||
void ApplySpellPowerBonus(int32 amount, bool apply);
|
void ApplySpellPowerBonus(int32 amount, bool apply);
|
||||||
void UpdateSpellDamageAndHealingBonus();
|
void UpdateSpellDamageAndHealingBonus();
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ class TC_GAME_API Totem : public Minion
|
|||||||
void UpdateResistances(uint32 /*school*/) override { }
|
void UpdateResistances(uint32 /*school*/) override { }
|
||||||
void UpdateArmor() override { }
|
void UpdateArmor() override { }
|
||||||
void UpdateMaxHealth() override { }
|
void UpdateMaxHealth() override { }
|
||||||
void UpdateMaxPower(Powers /*power*/) override { }
|
void UpdateMaxPower(PowerType /*power*/) override { }
|
||||||
void UpdateAttackPowerAndDamage(bool /*ranged*/) override { }
|
void UpdateAttackPowerAndDamage(bool /*ranged*/) override { }
|
||||||
void UpdateDamagePhysical(WeaponAttackType /*attType*/) override { }
|
void UpdateDamagePhysical(WeaponAttackType /*attType*/) override { }
|
||||||
|
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ void Unit::UpdateDamagePhysical(WeaponAttackType attType)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 Unit::GetCreatePowerValue(Powers power) const
|
int32 Unit::GetCreatePowerValue(PowerType power) const
|
||||||
{
|
{
|
||||||
switch (power)
|
switch (power)
|
||||||
{
|
{
|
||||||
@@ -120,7 +120,7 @@ int32 Unit::GetCreatePowerValue(Powers power) const
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unit::UpdatePowerRegeneration(Powers powerType)
|
void Unit::UpdatePowerRegeneration(PowerType powerType)
|
||||||
{
|
{
|
||||||
uint32 powerIndex = GetPowerIndex(powerType);
|
uint32 powerIndex = GetPowerIndex(powerType);
|
||||||
if ((powerIndex == MAX_POWERS || powerIndex >= MAX_POWERS_PER_CLASS) && powerType != POWER_RUNE)
|
if ((powerIndex == MAX_POWERS || powerIndex >= MAX_POWERS_PER_CLASS) && powerType != POWER_RUNE)
|
||||||
@@ -348,7 +348,7 @@ bool Player::UpdateAllStats()
|
|||||||
UpdateMaxHealth();
|
UpdateMaxHealth();
|
||||||
|
|
||||||
for (uint8 i = POWER_MANA; i < MAX_POWERS; ++i)
|
for (uint8 i = POWER_MANA; i < MAX_POWERS; ++i)
|
||||||
UpdateMaxPower(Powers(i));
|
UpdateMaxPower(PowerType(i));
|
||||||
|
|
||||||
UpdateAllRatings();
|
UpdateAllRatings();
|
||||||
UpdateAllCritPercentages();
|
UpdateAllCritPercentages();
|
||||||
@@ -442,12 +442,12 @@ void Player::UpdateMaxHealth()
|
|||||||
SetMaxHealth((uint32)value);
|
SetMaxHealth((uint32)value);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 Player::GetPowerIndex(Powers power) const
|
uint32 Player::GetPowerIndex(PowerType power) const
|
||||||
{
|
{
|
||||||
return sDBCManager.GetPowerIndexByClass(power, getClass());
|
return sDBCManager.GetPowerIndexByClass(power, getClass());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::UpdateMaxPower(Powers power)
|
void Player::UpdateMaxPower(PowerType power)
|
||||||
{
|
{
|
||||||
uint32 powerIndex = GetPowerIndex(power);
|
uint32 powerIndex = GetPowerIndex(power);
|
||||||
if (powerIndex == MAX_POWERS || powerIndex >= MAX_POWERS_PER_CLASS)
|
if (powerIndex == MAX_POWERS || powerIndex >= MAX_POWERS_PER_CLASS)
|
||||||
@@ -951,7 +951,7 @@ bool Creature::UpdateAllStats()
|
|||||||
UpdateAttackPowerAndDamage(true);
|
UpdateAttackPowerAndDamage(true);
|
||||||
|
|
||||||
for (uint8 i = POWER_MANA; i < MAX_POWERS; ++i)
|
for (uint8 i = POWER_MANA; i < MAX_POWERS; ++i)
|
||||||
UpdateMaxPower(Powers(i));
|
UpdateMaxPower(PowerType(i));
|
||||||
|
|
||||||
UpdateAllResistances();
|
UpdateAllResistances();
|
||||||
|
|
||||||
@@ -981,7 +981,7 @@ void Creature::UpdateMaxHealth()
|
|||||||
SetMaxHealth(uint32(value));
|
SetMaxHealth(uint32(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 Creature::GetPowerIndex(Powers power) const
|
uint32 Creature::GetPowerIndex(PowerType power) const
|
||||||
{
|
{
|
||||||
if (power == GetPowerType())
|
if (power == GetPowerType())
|
||||||
return 0;
|
return 0;
|
||||||
@@ -990,7 +990,7 @@ uint32 Creature::GetPowerIndex(Powers power) const
|
|||||||
return MAX_POWERS;
|
return MAX_POWERS;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Creature::UpdateMaxPower(Powers power)
|
void Creature::UpdateMaxPower(PowerType power)
|
||||||
{
|
{
|
||||||
if (GetPowerIndex(power) == MAX_POWERS)
|
if (GetPowerIndex(power) == MAX_POWERS)
|
||||||
return;
|
return;
|
||||||
@@ -1141,7 +1141,7 @@ bool Guardian::UpdateAllStats()
|
|||||||
UpdateStats(Stats(i));
|
UpdateStats(Stats(i));
|
||||||
|
|
||||||
for (uint8 i = POWER_MANA; i < MAX_POWERS; ++i)
|
for (uint8 i = POWER_MANA; i < MAX_POWERS; ++i)
|
||||||
UpdateMaxPower(Powers(i));
|
UpdateMaxPower(PowerType(i));
|
||||||
|
|
||||||
UpdateAllResistances();
|
UpdateAllResistances();
|
||||||
|
|
||||||
@@ -1188,7 +1188,7 @@ void Guardian::UpdateMaxHealth()
|
|||||||
SetMaxHealth((uint32)value);
|
SetMaxHealth((uint32)value);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Guardian::UpdateMaxPower(Powers power)
|
void Guardian::UpdateMaxPower(PowerType power)
|
||||||
{
|
{
|
||||||
if (GetPowerIndex(power) == MAX_POWERS)
|
if (GetPowerIndex(power) == MAX_POWERS)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -5243,7 +5243,7 @@ void Unit::SendAttackStateUpdate(uint32 HitInfo, Unit* target, uint8 /*SwingType
|
|||||||
SendAttackStateUpdate(&dmgInfo);
|
SendAttackStateUpdate(&dmgInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unit::SetPowerType(Powers power)
|
void Unit::SetPowerType(PowerType power)
|
||||||
{
|
{
|
||||||
if (GetPowerType() == power)
|
if (GetPowerType() == power)
|
||||||
return;
|
return;
|
||||||
@@ -5292,9 +5292,9 @@ void Unit::SetPowerType(Powers power)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Powers Unit::CalculateDisplayPowerType() const
|
PowerType Unit::CalculateDisplayPowerType() const
|
||||||
{
|
{
|
||||||
Powers displayPower = POWER_MANA;
|
PowerType displayPower = POWER_MANA;
|
||||||
switch (GetShapeshiftForm())
|
switch (GetShapeshiftForm())
|
||||||
{
|
{
|
||||||
case FORM_GHOUL:
|
case FORM_GHOUL:
|
||||||
@@ -5312,12 +5312,12 @@ Powers Unit::CalculateDisplayPowerType() const
|
|||||||
{
|
{
|
||||||
ChrClassesEntry const* cEntry = sChrClassesStore.LookupEntry(getClass());
|
ChrClassesEntry const* cEntry = sChrClassesStore.LookupEntry(getClass());
|
||||||
if (cEntry && cEntry->DisplayPower < MAX_POWERS)
|
if (cEntry && cEntry->DisplayPower < MAX_POWERS)
|
||||||
displayPower = Powers(cEntry->DisplayPower);
|
displayPower = PowerType(cEntry->DisplayPower);
|
||||||
|
|
||||||
if (Vehicle* vehicle = GetVehicleKit())
|
if (Vehicle* vehicle = GetVehicleKit())
|
||||||
{
|
{
|
||||||
if (PowerDisplayEntry const* powerDisplay = sPowerDisplayStore.LookupEntry(vehicle->GetVehicleInfo()->PowerDisplayID[0])) // To-do: 4.x has 3 power display id fields.
|
if (PowerDisplayEntry const* powerDisplay = sPowerDisplayStore.LookupEntry(vehicle->GetVehicleInfo()->PowerDisplayID[0])) // To-do: 4.x has 3 power display id fields.
|
||||||
displayPower = Powers(powerDisplay->ActualType);
|
displayPower = PowerType(powerDisplay->ActualType);
|
||||||
else if (getClass() == CLASS_ROGUE)
|
else if (getClass() == CLASS_ROGUE)
|
||||||
displayPower = POWER_ENERGY;
|
displayPower = POWER_ENERGY;
|
||||||
}
|
}
|
||||||
@@ -6267,7 +6267,7 @@ int32 Unit::HealBySpell(HealInfo& healInfo, bool critical /*= false*/)
|
|||||||
return healInfo.GetEffectiveHeal();
|
return healInfo.GetEffectiveHeal();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unit::SendEnergizeSpellLog(Unit* victim, uint32 spellId, int32 damage, Powers powerType)
|
void Unit::SendEnergizeSpellLog(Unit* victim, uint32 spellId, int32 damage, PowerType powerType)
|
||||||
{
|
{
|
||||||
WorldPackets::CombatLog::SpellEnergizeLog packet;
|
WorldPackets::CombatLog::SpellEnergizeLog packet;
|
||||||
packet.TargetGUID = victim->GetGUID();
|
packet.TargetGUID = victim->GetGUID();
|
||||||
@@ -6279,13 +6279,13 @@ void Unit::SendEnergizeSpellLog(Unit* victim, uint32 spellId, int32 damage, Powe
|
|||||||
SendMessageToSet(packet.Write(), true);
|
SendMessageToSet(packet.Write(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unit::EnergizeBySpell(Unit* victim, uint32 spellId, int32 damage, Powers powerType)
|
void Unit::EnergizeBySpell(Unit* victim, uint32 spellId, int32 damage, PowerType powerType)
|
||||||
{
|
{
|
||||||
if (SpellInfo const* info = sSpellMgr->GetSpellInfo(spellId))
|
if (SpellInfo const* info = sSpellMgr->GetSpellInfo(spellId))
|
||||||
EnergizeBySpell(victim, info, damage, powerType);
|
EnergizeBySpell(victim, info, damage, powerType);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unit::EnergizeBySpell(Unit* victim, SpellInfo const* spellInfo, int32 damage, Powers powerType)
|
void Unit::EnergizeBySpell(Unit* victim, SpellInfo const* spellInfo, int32 damage, PowerType powerType)
|
||||||
{
|
{
|
||||||
victim->ModifyPower(powerType, damage, false);
|
victim->ModifyPower(powerType, damage, false);
|
||||||
victim->GetThreatManager().ForwardThreatForAssistingMe(this, float(damage) / 2, spellInfo, true);
|
victim->GetThreatManager().ForwardThreatForAssistingMe(this, float(damage) / 2, spellInfo, true);
|
||||||
@@ -8206,7 +8206,7 @@ int32 Unit::GetHealthGain(int32 dVal)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// returns negative amount on power reduction
|
// returns negative amount on power reduction
|
||||||
int32 Unit::ModifyPower(Powers power, int32 dVal, bool withPowerUpdate /*= true*/)
|
int32 Unit::ModifyPower(PowerType power, int32 dVal, bool withPowerUpdate /*= true*/)
|
||||||
{
|
{
|
||||||
int32 gain = 0;
|
int32 gain = 0;
|
||||||
|
|
||||||
@@ -8239,7 +8239,7 @@ int32 Unit::ModifyPower(Powers power, int32 dVal, bool withPowerUpdate /*= true*
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Based on client function
|
// Based on client function
|
||||||
float Unit::GetPowerRegen(Powers powerType, bool isInCombat) const
|
float Unit::GetPowerRegen(PowerType powerType, bool isInCombat) const
|
||||||
{
|
{
|
||||||
uint32 powerSlot = MAX_POWERS;
|
uint32 powerSlot = MAX_POWERS;
|
||||||
float totalRegeneration = 0.f;
|
float totalRegeneration = 0.f;
|
||||||
@@ -9169,7 +9169,7 @@ Stats Unit::GetStatByAuraGroup(UnitMods unitMod) const
|
|||||||
return stat;
|
return stat;
|
||||||
}
|
}
|
||||||
|
|
||||||
Powers Unit::GetPowerTypeByAuraGroup(UnitMods unitMod) const
|
PowerType Unit::GetPowerTypeByAuraGroup(UnitMods unitMod) const
|
||||||
{
|
{
|
||||||
switch (unitMod)
|
switch (unitMod)
|
||||||
{
|
{
|
||||||
@@ -9295,7 +9295,7 @@ void Unit::SetMaxHealth(uint32 val)
|
|||||||
SetHealth(val);
|
SetHealth(val);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 Unit::GetPower(Powers power) const
|
int32 Unit::GetPower(PowerType power) const
|
||||||
{
|
{
|
||||||
uint32 powerIndex = GetPowerIndex(power);
|
uint32 powerIndex = GetPowerIndex(power);
|
||||||
if (powerIndex == MAX_POWERS)
|
if (powerIndex == MAX_POWERS)
|
||||||
@@ -9304,7 +9304,7 @@ int32 Unit::GetPower(Powers power) const
|
|||||||
return GetUInt32Value(UNIT_FIELD_POWER1 + powerIndex);
|
return GetUInt32Value(UNIT_FIELD_POWER1 + powerIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 Unit::GetMaxPower(Powers power) const
|
int32 Unit::GetMaxPower(PowerType power) const
|
||||||
{
|
{
|
||||||
uint32 powerIndex = GetPowerIndex(power);
|
uint32 powerIndex = GetPowerIndex(power);
|
||||||
if (powerIndex == MAX_POWERS)
|
if (powerIndex == MAX_POWERS)
|
||||||
@@ -9313,7 +9313,7 @@ int32 Unit::GetMaxPower(Powers power) const
|
|||||||
return GetInt32Value(UNIT_FIELD_MAXPOWER1 + powerIndex);
|
return GetInt32Value(UNIT_FIELD_MAXPOWER1 + powerIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unit::SetPower(Powers power, int32 val, bool withPowerUpdate /*= true*/)
|
void Unit::SetPower(PowerType power, int32 val, bool withPowerUpdate /*= true*/)
|
||||||
{
|
{
|
||||||
uint32 powerIndex = GetPowerIndex(power);
|
uint32 powerIndex = GetPowerIndex(power);
|
||||||
if (powerIndex == MAX_POWERS)
|
if (powerIndex == MAX_POWERS)
|
||||||
@@ -9350,7 +9350,7 @@ void Unit::SetPower(Powers power, int32 val, bool withPowerUpdate /*= true*/)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unit::SetMaxPower(Powers power, int32 val)
|
void Unit::SetMaxPower(PowerType power, int32 val)
|
||||||
{
|
{
|
||||||
uint32 powerIndex = GetPowerIndex(power);
|
uint32 powerIndex = GetPowerIndex(power);
|
||||||
if (powerIndex == MAX_POWERS)
|
if (powerIndex == MAX_POWERS)
|
||||||
@@ -9379,7 +9379,7 @@ void Unit::SetMaxPower(Powers power, int32 val)
|
|||||||
SetPower(power, val);
|
SetPower(power, val);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unit::Regenerate(Powers powerType, uint32 diff)
|
void Unit::Regenerate(PowerType powerType, uint32 diff)
|
||||||
{
|
{
|
||||||
uint32 maxValue = GetMaxPower(powerType);
|
uint32 maxValue = GetMaxPower(powerType);
|
||||||
if (!maxValue)
|
if (!maxValue)
|
||||||
@@ -9476,11 +9476,11 @@ void Unit::RegisterPowerTypes()
|
|||||||
{
|
{
|
||||||
for (uint8 i = POWER_MANA; i < MAX_POWERS; ++i)
|
for (uint8 i = POWER_MANA; i < MAX_POWERS; ++i)
|
||||||
{
|
{
|
||||||
uint32 powerIndex = GetPowerIndex(Powers(i));
|
uint32 powerIndex = GetPowerIndex(PowerType(i));
|
||||||
if (powerIndex == MAX_POWERS || powerIndex == MAX_POWERS_PER_CLASS)
|
if (powerIndex == MAX_POWERS || powerIndex == MAX_POWERS_PER_CLASS)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
_usedPowerTypes[powerIndex] = static_cast<Powers>(i);
|
_usedPowerTypes[powerIndex] = static_cast<PowerType>(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10444,7 +10444,7 @@ void Unit::ApplyHasteRegenMod(float val, bool apply)
|
|||||||
|
|
||||||
SetFloatValue(PLAYER_FIELD_MOD_HASTE_REGEN, amount);
|
SetFloatValue(PLAYER_FIELD_MOD_HASTE_REGEN, amount);
|
||||||
|
|
||||||
for (Powers powerType : GetUsedPowerTypes())
|
for (PowerType powerType : GetUsedPowerTypes())
|
||||||
{
|
{
|
||||||
if (powerType == MAX_POWERS || GetPowerIndex(powerType) == MAX_POWERS)
|
if (powerType == MAX_POWERS || GetPowerIndex(powerType) == MAX_POWERS)
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -802,26 +802,26 @@ class TC_GAME_API Unit : public WorldObject
|
|||||||
int32 ModifyHealth(int32 val);
|
int32 ModifyHealth(int32 val);
|
||||||
int32 GetHealthGain(int32 dVal);
|
int32 GetHealthGain(int32 dVal);
|
||||||
|
|
||||||
Powers GetPowerType() const { return Powers(GetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_POWER_TYPE)); }
|
PowerType GetPowerType() const { return PowerType(GetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_POWER_TYPE)); }
|
||||||
void SetPowerType(Powers power);
|
void SetPowerType(PowerType power);
|
||||||
Powers CalculateDisplayPowerType() const;
|
PowerType CalculateDisplayPowerType() const;
|
||||||
void UpdateDisplayPower();
|
void UpdateDisplayPower();
|
||||||
int32 GetPower(Powers power) const;
|
int32 GetPower(PowerType power) const;
|
||||||
int32 GetMinPower(Powers power) const { return power == POWER_ECLIPSE ? -100 : 0; }
|
int32 GetMinPower(PowerType power) const { return power == POWER_ECLIPSE ? -100 : 0; }
|
||||||
int32 GetMaxPower(Powers power) const;
|
int32 GetMaxPower(PowerType power) const;
|
||||||
int32 CountPctFromMaxPower(Powers power, int32 pct) const { return CalculatePct(GetMaxPower(power), pct); }
|
int32 CountPctFromMaxPower(PowerType power, int32 pct) const { return CalculatePct(GetMaxPower(power), pct); }
|
||||||
void SetPower(Powers power, int32 val, bool withPowerUpdate = true);
|
void SetPower(PowerType power, int32 val, bool withPowerUpdate = true);
|
||||||
void SetMaxPower(Powers power, int32 val);
|
void SetMaxPower(PowerType power, int32 val);
|
||||||
void SetPowerBarID(uint32 id) { _powerBarId = id; }
|
void SetPowerBarID(uint32 id) { _powerBarId = id; }
|
||||||
void Regenerate(Powers powerType, uint32 diff);
|
void Regenerate(PowerType powerType, uint32 diff);
|
||||||
void UpdatePowerRegeneration(Powers powerType);
|
void UpdatePowerRegeneration(PowerType powerType);
|
||||||
void RegisterPowerTypes();
|
void RegisterPowerTypes();
|
||||||
|
|
||||||
inline void SetFullPower(Powers power) { SetPower(power, GetMaxPower(power)); }
|
inline void SetFullPower(PowerType power) { SetPower(power, GetMaxPower(power)); }
|
||||||
|
|
||||||
// returns the change in power
|
// returns the change in power
|
||||||
int32 ModifyPower(Powers power, int32 val, bool withPowerUpdate = true);
|
int32 ModifyPower(PowerType power, int32 val, bool withPowerUpdate = true);
|
||||||
float GetPowerRegen(Powers powerType, bool isInCombat) const;
|
float GetPowerRegen(PowerType powerType, bool isInCombat) const;
|
||||||
|
|
||||||
virtual void RegenerateHealth() { }
|
virtual void RegenerateHealth() { }
|
||||||
|
|
||||||
@@ -1010,9 +1010,9 @@ class TC_GAME_API Unit : public WorldObject
|
|||||||
|
|
||||||
void SendHealSpellLog(HealInfo& healInfo, bool critical = false);
|
void SendHealSpellLog(HealInfo& healInfo, bool critical = false);
|
||||||
int32 HealBySpell(HealInfo& healInfo, bool critical = false);
|
int32 HealBySpell(HealInfo& healInfo, bool critical = false);
|
||||||
void SendEnergizeSpellLog(Unit* victim, uint32 spellId, int32 damage, Powers powerType);
|
void SendEnergizeSpellLog(Unit* victim, uint32 spellId, int32 damage, PowerType powerType);
|
||||||
void EnergizeBySpell(Unit* victim, uint32 spellId, int32 damage, Powers powerType);
|
void EnergizeBySpell(Unit* victim, uint32 spellId, int32 damage, PowerType powerType);
|
||||||
void EnergizeBySpell(Unit* victim, SpellInfo const* spellInfo, int32 damage, Powers powerType);
|
void EnergizeBySpell(Unit* victim, SpellInfo const* spellInfo, int32 damage, PowerType powerType);
|
||||||
|
|
||||||
Aura* AddAura(uint32 spellId, Unit* target);
|
Aura* AddAura(uint32 spellId, Unit* target);
|
||||||
Aura* AddAura(SpellInfo const* spellInfo, uint8 effMask, Unit* target);
|
Aura* AddAura(SpellInfo const* spellInfo, uint8 effMask, Unit* target);
|
||||||
@@ -1287,7 +1287,7 @@ class TC_GAME_API Unit : public WorldObject
|
|||||||
uint32 GetCreateHealth() const { return GetUInt32Value(UNIT_FIELD_BASE_HEALTH); }
|
uint32 GetCreateHealth() const { return GetUInt32Value(UNIT_FIELD_BASE_HEALTH); }
|
||||||
void SetCreateMana(uint32 val) { SetUInt32Value(UNIT_FIELD_BASE_MANA, val); }
|
void SetCreateMana(uint32 val) { SetUInt32Value(UNIT_FIELD_BASE_MANA, val); }
|
||||||
uint32 GetCreateMana() const { return GetUInt32Value(UNIT_FIELD_BASE_MANA); }
|
uint32 GetCreateMana() const { return GetUInt32Value(UNIT_FIELD_BASE_MANA); }
|
||||||
int32 GetCreatePowerValue(Powers power) const;
|
int32 GetCreatePowerValue(PowerType power) const;
|
||||||
float GetPosStat(Stats stat) const { return GetFloatValue(UNIT_FIELD_POSSTAT0 + AsUnderlyingType(stat)); }
|
float GetPosStat(Stats stat) const { return GetFloatValue(UNIT_FIELD_POSSTAT0 + AsUnderlyingType(stat)); }
|
||||||
float GetNegStat(Stats stat) const { return GetFloatValue(UNIT_FIELD_NEGSTAT0 + AsUnderlyingType(stat)); }
|
float GetNegStat(Stats stat) const { return GetFloatValue(UNIT_FIELD_NEGSTAT0 + AsUnderlyingType(stat)); }
|
||||||
float GetCreateStat(Stats stat) const { return m_createStats[stat]; }
|
float GetCreateStat(Stats stat) const { return m_createStats[stat]; }
|
||||||
@@ -1364,7 +1364,7 @@ class TC_GAME_API Unit : public WorldObject
|
|||||||
float GetTotalAuraModValue(UnitMods unitMod) const;
|
float GetTotalAuraModValue(UnitMods unitMod) const;
|
||||||
SpellSchools GetSpellSchoolByAuraGroup(UnitMods unitMod) const;
|
SpellSchools GetSpellSchoolByAuraGroup(UnitMods unitMod) const;
|
||||||
Stats GetStatByAuraGroup(UnitMods unitMod) const;
|
Stats GetStatByAuraGroup(UnitMods unitMod) const;
|
||||||
Powers GetPowerTypeByAuraGroup(UnitMods unitMod) const;
|
PowerType GetPowerTypeByAuraGroup(UnitMods unitMod) const;
|
||||||
bool CanModifyStats() const { return m_canModifyStats; }
|
bool CanModifyStats() const { return m_canModifyStats; }
|
||||||
void SetCanModifyStats(bool modifyStats) { m_canModifyStats = modifyStats; }
|
void SetCanModifyStats(bool modifyStats) { m_canModifyStats = modifyStats; }
|
||||||
virtual bool UpdateStats(Stats stat) = 0;
|
virtual bool UpdateStats(Stats stat) = 0;
|
||||||
@@ -1373,8 +1373,8 @@ class TC_GAME_API Unit : public WorldObject
|
|||||||
virtual void UpdateAllResistances();
|
virtual void UpdateAllResistances();
|
||||||
virtual void UpdateArmor() = 0;
|
virtual void UpdateArmor() = 0;
|
||||||
virtual void UpdateMaxHealth() = 0;
|
virtual void UpdateMaxHealth() = 0;
|
||||||
virtual void UpdateMaxPower(Powers power) = 0;
|
virtual void UpdateMaxPower(PowerType power) = 0;
|
||||||
virtual uint32 GetPowerIndex(Powers power) const = 0;
|
virtual uint32 GetPowerIndex(PowerType power) const = 0;
|
||||||
virtual void UpdateAttackPowerAndDamage(bool ranged = false) = 0;
|
virtual void UpdateAttackPowerAndDamage(bool ranged = false) = 0;
|
||||||
virtual void UpdateDamagePhysical(WeaponAttackType attType);
|
virtual void UpdateDamagePhysical(WeaponAttackType attType);
|
||||||
float GetTotalAttackPowerValue(WeaponAttackType attType) const;
|
float GetTotalAttackPowerValue(WeaponAttackType attType) const;
|
||||||
@@ -1727,10 +1727,10 @@ class TC_GAME_API Unit : public WorldObject
|
|||||||
int32 _powerUpdateTimer;
|
int32 _powerUpdateTimer;
|
||||||
int32 _healthRegenerationTimer;
|
int32 _healthRegenerationTimer;
|
||||||
std::array<float, MAX_POWERS_PER_CLASS> _powerFraction;
|
std::array<float, MAX_POWERS_PER_CLASS> _powerFraction;
|
||||||
std::array<Powers, MAX_POWERS_PER_CLASS> _usedPowerTypes;
|
std::array<PowerType, MAX_POWERS_PER_CLASS> _usedPowerTypes;
|
||||||
public:
|
public:
|
||||||
// Returns an array that contains information about which power type is used at which power index. MAX_POWERS implies that a power at given index is not used.
|
// Returns an array that contains information about which power type is used at which power index. MAX_POWERS implies that a power at given index is not used.
|
||||||
std::array<Powers, MAX_POWERS_PER_CLASS> const& GetUsedPowerTypes() const { return _usedPowerTypes; }
|
std::array<PowerType, MAX_POWERS_PER_CLASS> const& GetUsedPowerTypes() const { return _usedPowerTypes; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@@ -1827,7 +1827,7 @@ namespace Trinity
|
|||||||
class PowerPctOrderPred
|
class PowerPctOrderPred
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PowerPctOrderPred(Powers power, bool ascending = true) : _power(power), _ascending(ascending) { }
|
PowerPctOrderPred(PowerType power, bool ascending = true) : _power(power), _ascending(ascending) { }
|
||||||
|
|
||||||
bool operator()(WorldObject const* objA, WorldObject const* objB) const
|
bool operator()(WorldObject const* objA, WorldObject const* objB) const
|
||||||
{
|
{
|
||||||
@@ -1846,7 +1846,7 @@ namespace Trinity
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Powers const _power;
|
PowerType const _power;
|
||||||
bool const _ascending;
|
bool const _ascending;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ class Map;
|
|||||||
class WorldObject;
|
class WorldObject;
|
||||||
struct VehicleSeatEntry;
|
struct VehicleSeatEntry;
|
||||||
|
|
||||||
enum PowerType : uint32
|
enum PowerDisplay : uint32
|
||||||
{
|
{
|
||||||
POWER_STEAM = 61,
|
POWER_STEAM = 61,
|
||||||
POWER_PYRITE = 41,
|
POWER_PYRITE = 41,
|
||||||
|
|||||||
@@ -1803,7 +1803,7 @@ void AuraEffect::HandleAuraModShapeshift(AuraApplication const* aurApp, uint8 mo
|
|||||||
Unit* target = aurApp->GetTarget();
|
Unit* target = aurApp->GetTarget();
|
||||||
|
|
||||||
uint32 modelid = 0;
|
uint32 modelid = 0;
|
||||||
Powers PowerType = POWER_MANA;
|
PowerType PowerType = POWER_MANA;
|
||||||
ShapeshiftForm form = ShapeshiftForm(GetMiscValue());
|
ShapeshiftForm form = ShapeshiftForm(GetMiscValue());
|
||||||
|
|
||||||
switch (form)
|
switch (form)
|
||||||
@@ -3802,7 +3802,7 @@ void AuraEffect::HandleModPowerRegen(AuraApplication const* aurApp, uint8 mode,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// Update power regen values
|
// Update power regen values
|
||||||
aurApp->GetTarget()->UpdatePowerRegeneration(Powers(GetMiscValue()));
|
aurApp->GetTarget()->UpdatePowerRegeneration(PowerType(GetMiscValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void AuraEffect::HandleModPowerRegenPCT(AuraApplication const* aurApp, uint8 mode, bool apply) const
|
void AuraEffect::HandleModPowerRegenPCT(AuraApplication const* aurApp, uint8 mode, bool apply) const
|
||||||
@@ -3896,7 +3896,7 @@ void AuraEffect::HandleAuraModIncreaseEnergy(AuraApplication const* aurApp, uint
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
Unit* target = aurApp->GetTarget();
|
Unit* target = aurApp->GetTarget();
|
||||||
Powers powerType = Powers(GetMiscValue());
|
PowerType powerType = PowerType(GetMiscValue());
|
||||||
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + AsUnderlyingType(powerType));
|
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + AsUnderlyingType(powerType));
|
||||||
|
|
||||||
target->HandleStatFlatModifier(unitMod, TOTAL_VALUE, float(GetAmount()), apply);
|
target->HandleStatFlatModifier(unitMod, TOTAL_VALUE, float(GetAmount()), apply);
|
||||||
@@ -3909,7 +3909,7 @@ void AuraEffect::HandleAuraModIncreaseEnergyPercent(AuraApplication const* aurAp
|
|||||||
|
|
||||||
Unit* target = aurApp->GetTarget();
|
Unit* target = aurApp->GetTarget();
|
||||||
|
|
||||||
Powers powerType = Powers(GetMiscValue());
|
PowerType powerType = PowerType(GetMiscValue());
|
||||||
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + AsUnderlyingType(powerType));
|
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + AsUnderlyingType(powerType));
|
||||||
|
|
||||||
// Save old powers for further calculation
|
// Save old powers for further calculation
|
||||||
@@ -6086,7 +6086,7 @@ void AuraEffect::HandlePeriodicHealAurasTick(Unit* target, Unit* caster) const
|
|||||||
|
|
||||||
void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) const
|
void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) const
|
||||||
{
|
{
|
||||||
Powers powerType = Powers(GetMiscValue());
|
PowerType powerType = PowerType(GetMiscValue());
|
||||||
|
|
||||||
if (!caster || !caster->IsAlive() || !target->IsAlive() || target->GetPowerType() != powerType)
|
if (!caster || !caster->IsAlive() || !target->IsAlive() || target->GetPowerType() != powerType)
|
||||||
return;
|
return;
|
||||||
@@ -6154,11 +6154,11 @@ void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) con
|
|||||||
|
|
||||||
void AuraEffect::HandleObsModPowerAuraTick(Unit* target, Unit* caster) const
|
void AuraEffect::HandleObsModPowerAuraTick(Unit* target, Unit* caster) const
|
||||||
{
|
{
|
||||||
Powers powerType;
|
PowerType powerType;
|
||||||
if (GetMiscValue() == POWER_ALL)
|
if (GetMiscValue() == POWER_ALL)
|
||||||
powerType = target->GetPowerType();
|
powerType = target->GetPowerType();
|
||||||
else
|
else
|
||||||
powerType = Powers(GetMiscValue());
|
powerType = PowerType(GetMiscValue());
|
||||||
|
|
||||||
if (!target->IsAlive() || !target->GetMaxPower(powerType))
|
if (!target->IsAlive() || !target->GetMaxPower(powerType))
|
||||||
return;
|
return;
|
||||||
@@ -6189,7 +6189,7 @@ void AuraEffect::HandleObsModPowerAuraTick(Unit* target, Unit* caster) const
|
|||||||
|
|
||||||
void AuraEffect::HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) const
|
void AuraEffect::HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) const
|
||||||
{
|
{
|
||||||
Powers powerType = Powers(GetMiscValue());
|
PowerType powerType = PowerType(GetMiscValue());
|
||||||
if (!target->IsAlive() || !target->GetMaxPower(powerType))
|
if (!target->IsAlive() || !target->GetMaxPower(powerType))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -6220,7 +6220,7 @@ void AuraEffect::HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) cons
|
|||||||
|
|
||||||
void AuraEffect::HandlePeriodicPowerBurnAuraTick(Unit* target, Unit* caster) const
|
void AuraEffect::HandlePeriodicPowerBurnAuraTick(Unit* target, Unit* caster) const
|
||||||
{
|
{
|
||||||
Powers powerType = Powers(GetMiscValue());
|
PowerType powerType = PowerType(GetMiscValue());
|
||||||
|
|
||||||
if (!caster || !target->IsAlive() || target->GetPowerType() != powerType)
|
if (!caster || !target->IsAlive() || target->GetPowerType() != powerType)
|
||||||
return;
|
return;
|
||||||
@@ -6449,7 +6449,7 @@ void AuraEffect::HandleProcOnPowerAmountAuraProc(AuraApplication* aurApp, ProcEv
|
|||||||
Unit* triggerTarget = eventInfo.GetProcTarget();
|
Unit* triggerTarget = eventInfo.GetProcTarget();
|
||||||
|
|
||||||
int32 powerAmountRequired = GetAmount();
|
int32 powerAmountRequired = GetAmount();
|
||||||
Powers powerRequired = Powers(GetMiscValue());
|
PowerType powerRequired = PowerType(GetMiscValue());
|
||||||
|
|
||||||
if (!powerRequired || !powerAmountRequired)
|
if (!powerRequired || !powerAmountRequired)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -858,7 +858,7 @@ void Aura::Update(uint32 diff, Unit* caster)
|
|||||||
{
|
{
|
||||||
m_timeCla += 1000 - diff;
|
m_timeCla += 1000 - diff;
|
||||||
|
|
||||||
Powers powertype = Powers(m_spellInfo->PowerType);
|
PowerType powertype = PowerType(m_spellInfo->PowerType);
|
||||||
if (powertype == POWER_HEALTH)
|
if (powertype == POWER_HEALTH)
|
||||||
{
|
{
|
||||||
if (int32(caster->GetHealth()) > manaPerSecond)
|
if (int32(caster->GetHealth()) > manaPerSecond)
|
||||||
|
|||||||
@@ -4574,7 +4574,7 @@ void Spell::SendSpellStart()
|
|||||||
m_targets.Write(castData.Target);
|
m_targets.Write(castData.Target);
|
||||||
|
|
||||||
if (castFlags & CAST_FLAG_POWER_LEFT_SELF)
|
if (castFlags & CAST_FLAG_POWER_LEFT_SELF)
|
||||||
castData.RemainingPower = ASSERT_NOTNULL(m_caster->ToUnit())->GetPower(Powers(m_spellInfo->PowerType));
|
castData.RemainingPower = ASSERT_NOTNULL(m_caster->ToUnit())->GetPower(PowerType(m_spellInfo->PowerType));
|
||||||
|
|
||||||
if (castFlags & CAST_FLAG_RUNE_LIST) // rune cooldowns list
|
if (castFlags & CAST_FLAG_RUNE_LIST) // rune cooldowns list
|
||||||
{
|
{
|
||||||
@@ -4694,7 +4694,7 @@ void Spell::SendSpellGo()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (castFlags & CAST_FLAG_POWER_LEFT_SELF)
|
if (castFlags & CAST_FLAG_POWER_LEFT_SELF)
|
||||||
castData.RemainingPower = ASSERT_NOTNULL(m_caster->ToUnit())->GetPower((Powers)m_spellInfo->PowerType);
|
castData.RemainingPower = ASSERT_NOTNULL(m_caster->ToUnit())->GetPower((PowerType)m_spellInfo->PowerType);
|
||||||
|
|
||||||
if (castFlags & CAST_FLAG_RUNE_LIST) // rune cooldowns list
|
if (castFlags & CAST_FLAG_RUNE_LIST) // rune cooldowns list
|
||||||
{
|
{
|
||||||
@@ -5286,7 +5286,7 @@ void Spell::TakePower()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Powers powerType = Powers(m_spellInfo->PowerType);
|
PowerType powerType = PowerType(m_spellInfo->PowerType);
|
||||||
if (unitCaster->GetTypeId() == TYPEID_PLAYER && m_spellInfo->HasAttribute(SPELL_ATTR1_DISCOUNT_POWER_ON_MISS))
|
if (unitCaster->GetTypeId() == TYPEID_PLAYER && m_spellInfo->HasAttribute(SPELL_ATTR1_DISCOUNT_POWER_ON_MISS))
|
||||||
{
|
{
|
||||||
ObjectGuid targetGUID = m_targets.GetUnitTargetGUID();
|
ObjectGuid targetGUID = m_targets.GetUnitTargetGUID();
|
||||||
@@ -6146,7 +6146,7 @@ SpellCastResult Spell::CheckCast(bool strict, uint32* param1 /*= nullptr*/, uint
|
|||||||
// Can be area effect, Check only for players and not check if target - caster (spell can have multiply drain/burn effects)
|
// Can be area effect, Check only for players and not check if target - caster (spell can have multiply drain/burn effects)
|
||||||
if (m_caster->GetTypeId() == TYPEID_PLAYER)
|
if (m_caster->GetTypeId() == TYPEID_PLAYER)
|
||||||
if (Unit* target = m_targets.GetUnitTarget())
|
if (Unit* target = m_targets.GetUnitTarget())
|
||||||
if (target != m_caster && target->GetPowerType() != Powers(m_spellInfo->Effects[i].MiscValue))
|
if (target != m_caster && target->GetPowerType() != PowerType(m_spellInfo->Effects[i].MiscValue))
|
||||||
return SPELL_FAILED_BAD_TARGETS;
|
return SPELL_FAILED_BAD_TARGETS;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -7122,7 +7122,7 @@ SpellCastResult Spell::CheckPower() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check power amount
|
// Check power amount
|
||||||
Powers powerType = Powers(m_spellInfo->PowerType);
|
PowerType powerType = PowerType(m_spellInfo->PowerType);
|
||||||
if (int32(unitCaster->GetPower(powerType)) < m_powerCost)
|
if (int32(unitCaster->GetPower(powerType)) < m_powerCost)
|
||||||
return SPELL_FAILED_NO_POWER;
|
return SPELL_FAILED_NO_POWER;
|
||||||
else
|
else
|
||||||
@@ -7188,7 +7188,7 @@ SpellCastResult Spell::CheckItems(uint32* param1 /*= nullptr*/, uint32* param2 /
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
Powers power = Powers(m_spellInfo->Effects[i].MiscValue);
|
PowerType power = PowerType(m_spellInfo->Effects[i].MiscValue);
|
||||||
if (m_targets.GetUnitTarget()->GetPower(power) == m_targets.GetUnitTarget()->GetMaxPower(power))
|
if (m_targets.GetUnitTarget()->GetPower(power) == m_targets.GetUnitTarget()->GetMaxPower(power))
|
||||||
{
|
{
|
||||||
failReason = SPELL_FAILED_ALREADY_AT_FULL_POWER;
|
failReason = SPELL_FAILED_ALREADY_AT_FULL_POWER;
|
||||||
|
|||||||
@@ -1055,7 +1055,7 @@ void Spell::EffectPowerDrain(SpellEffIndex effIndex)
|
|||||||
if (m_spellInfo->Effects[effIndex].MiscValue < 0 || m_spellInfo->Effects[effIndex].MiscValue >= int8(MAX_POWERS))
|
if (m_spellInfo->Effects[effIndex].MiscValue < 0 || m_spellInfo->Effects[effIndex].MiscValue >= int8(MAX_POWERS))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Powers powerType = Powers(m_spellInfo->Effects[effIndex].MiscValue);
|
PowerType powerType = PowerType(m_spellInfo->Effects[effIndex].MiscValue);
|
||||||
|
|
||||||
if (!unitTarget || !unitTarget->IsAlive() || unitTarget->GetPowerType() != powerType || damage < 0)
|
if (!unitTarget || !unitTarget->IsAlive() || unitTarget->GetPowerType() != powerType || damage < 0)
|
||||||
return;
|
return;
|
||||||
@@ -1127,7 +1127,7 @@ void Spell::EffectPowerBurn(SpellEffIndex effIndex)
|
|||||||
if (m_spellInfo->Effects[effIndex].MiscValue < 0 || m_spellInfo->Effects[effIndex].MiscValue >= int8(MAX_POWERS))
|
if (m_spellInfo->Effects[effIndex].MiscValue < 0 || m_spellInfo->Effects[effIndex].MiscValue >= int8(MAX_POWERS))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Powers powerType = Powers(m_spellInfo->Effects[effIndex].MiscValue);
|
PowerType powerType = PowerType(m_spellInfo->Effects[effIndex].MiscValue);
|
||||||
|
|
||||||
if (!unitTarget || !unitTarget->IsAlive() || unitTarget->GetPowerType() != powerType || damage < 0)
|
if (!unitTarget || !unitTarget->IsAlive() || unitTarget->GetPowerType() != powerType || damage < 0)
|
||||||
return;
|
return;
|
||||||
@@ -1576,7 +1576,7 @@ void Spell::EffectEnergize(SpellEffIndex effIndex)
|
|||||||
if (m_spellInfo->Effects[effIndex].MiscValue < 0 || m_spellInfo->Effects[effIndex].MiscValue >= int8(MAX_POWERS))
|
if (m_spellInfo->Effects[effIndex].MiscValue < 0 || m_spellInfo->Effects[effIndex].MiscValue >= int8(MAX_POWERS))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Powers power = Powers(m_spellInfo->Effects[effIndex].MiscValue);
|
PowerType power = PowerType(m_spellInfo->Effects[effIndex].MiscValue);
|
||||||
if (unitTarget->GetMaxPower(power) == 0)
|
if (unitTarget->GetMaxPower(power) == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -1637,7 +1637,7 @@ void Spell::EffectEnergizePct(SpellEffIndex effIndex)
|
|||||||
if (m_spellInfo->Effects[effIndex].MiscValue < 0 || m_spellInfo->Effects[effIndex].MiscValue >= int8(MAX_POWERS))
|
if (m_spellInfo->Effects[effIndex].MiscValue < 0 || m_spellInfo->Effects[effIndex].MiscValue >= int8(MAX_POWERS))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Powers power = Powers(m_spellInfo->Effects[effIndex].MiscValue);
|
PowerType power = PowerType(m_spellInfo->Effects[effIndex].MiscValue);
|
||||||
uint32 maxPower = unitTarget->GetMaxPower(power);
|
uint32 maxPower = unitTarget->GetMaxPower(power);
|
||||||
if (!maxPower)
|
if (!maxPower)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -3654,7 +3654,7 @@ int32 SpellInfo::CalcPowerCost(WorldObject const* caster, SpellSchoolMask school
|
|||||||
return unitCaster->GetHealth();
|
return unitCaster->GetHealth();
|
||||||
// Else drain all power
|
// Else drain all power
|
||||||
if (PowerType < MAX_POWERS)
|
if (PowerType < MAX_POWERS)
|
||||||
return unitCaster->GetPower(Powers(PowerType));
|
return unitCaster->GetPower(static_cast<::PowerType>(PowerType));
|
||||||
|
|
||||||
TC_LOG_ERROR("spells", "SpellInfo::CalcPowerCost: Unknown power type '%d' in spell %d", PowerType, Id);
|
TC_LOG_ERROR("spells", "SpellInfo::CalcPowerCost: Unknown power type '%d' in spell %d", PowerType, Id);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -3693,7 +3693,7 @@ int32 SpellInfo::CalcPowerCost(WorldObject const* caster, SpellSchoolMask school
|
|||||||
case POWER_RAGE:
|
case POWER_RAGE:
|
||||||
case POWER_FOCUS:
|
case POWER_FOCUS:
|
||||||
case POWER_ENERGY:
|
case POWER_ENERGY:
|
||||||
ressource = unitCaster->GetMaxPower(Powers(PowerType));
|
ressource = unitCaster->GetMaxPower(static_cast<::PowerType>(PowerType));
|
||||||
break;
|
break;
|
||||||
case POWER_RUNE:
|
case POWER_RUNE:
|
||||||
case POWER_RUNIC_POWER:
|
case POWER_RUNIC_POWER:
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ enum MiscSpells
|
|||||||
class PowerCheck
|
class PowerCheck
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit PowerCheck(Powers const power) : _power(power) { }
|
explicit PowerCheck(PowerType const power) : _power(power) { }
|
||||||
|
|
||||||
bool operator()(WorldObject* obj) const
|
bool operator()(WorldObject* obj) const
|
||||||
{
|
{
|
||||||
@@ -143,7 +143,7 @@ class PowerCheck
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Powers const _power;
|
PowerType const _power;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RaidCheck
|
class RaidCheck
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ enum Stats
|
|||||||
|
|
||||||
#define MAX_STATS 5
|
#define MAX_STATS 5
|
||||||
|
|
||||||
enum Powers
|
enum PowerType
|
||||||
{
|
{
|
||||||
POWER_MANA = 0,
|
POWER_MANA = 0,
|
||||||
POWER_RAGE = 1,
|
POWER_RAGE = 1,
|
||||||
|
|||||||
Reference in new issue
Block a user