diff options
| author | Mihapro <miha.penger@outlook.com> | 2018-01-03 16:39:00 +0100 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2018-01-03 16:39:32 +0100 |
| commit | 8199eef81cad464bb43f3613ed884a2c8fc3973d (patch) | |
| tree | 7a17cb8ede0a45814532dd306fcf7f37d2f90ce8 /src/server/game/Entities/Unit | |
| parent | c2aead1da5b6cb9a3a69e276b3f12a2c76b9ab86 (diff) | |
Core/Misc: Added helper function Unit::SetFullPower
* Also renamed Unit::getPowerType and Unit::setPowerType to follow style guidelines
Ref #20981
Diffstat (limited to 'src/server/game/Entities/Unit')
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 18 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 17 |
2 files changed, 18 insertions, 17 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index e3b4958b330..8233d7b2457 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -780,7 +780,7 @@ uint32 Unit::DealDamage(Unit* victim, uint32 damage, CleanDamage const* cleanDam } // Rage from Damage made (only from direct weapon damage) - if (cleanDamage && (cleanDamage->attackType == BASE_ATTACK || cleanDamage->attackType == OFF_ATTACK) && damagetype == DIRECT_DAMAGE && this != victim && getPowerType() == POWER_RAGE) + if (cleanDamage && (cleanDamage->attackType == BASE_ATTACK || cleanDamage->attackType == OFF_ATTACK) && damagetype == DIRECT_DAMAGE && this != victim && GetPowerType() == POWER_RAGE) { uint32 rage = uint32(GetBaseAttackTime(cleanDamage->attackType) / 1000.f * 1.75f); if (cleanDamage->attackType == OFF_ATTACK) @@ -5159,9 +5159,9 @@ void Unit::SendAttackStateUpdate(uint32 HitInfo, Unit* target, uint8 /*SwingType SendAttackStateUpdate(&dmgInfo); } -void Unit::setPowerType(Powers new_powertype) +void Unit::SetPowerType(Powers new_powertype) { - if (getPowerType() == new_powertype) + if (GetPowerType() == new_powertype) return; SetUInt32Value(UNIT_FIELD_DISPLAY_POWER, new_powertype); @@ -5235,7 +5235,7 @@ void Unit::UpdateDisplayPower() } } - setPowerType(displayPower); + SetPowerType(displayPower); } FactionTemplateEntry const* Unit::GetFactionTemplateEntry() const @@ -5923,7 +5923,7 @@ void Unit::SetMinion(Minion *minion, bool apply) // Ghoul pets have energy instead of mana (is anywhere better place for this code?) if (minion->IsPetGhoul()) - minion->setPowerType(POWER_ENERGY); + minion->SetPowerType(POWER_ENERGY); // Send infinity cooldown - client does that automatically but after relog cooldown needs to be set again SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(minion->GetUInt32Value(UNIT_CREATED_BY_SPELL)); @@ -8540,7 +8540,7 @@ void Unit::setDeathState(DeathState s) // without this when removing IncreaseMaxHealth aura player may stuck with 1 hp // do not why since in IncreaseMaxHealth currenthealth is checked SetHealth(0); - SetPower(getPowerType(), 0); + SetPower(GetPowerType(), 0); SetUInt32Value(UNIT_NPC_EMOTESTATE, 0); // players in instance don't have ZoneScript, but they have InstanceScript @@ -9265,9 +9265,9 @@ bool Unit::HandleStatModifier(UnitMods unitMod, UnitModifierType modifierType, f case UNIT_MOD_RUNES: case UNIT_MOD_RUNIC_POWER: case UNIT_MOD_SOUL_SHARDS: - case UNIT_MOD_ECLIPSE: + case UNIT_MOD_LUNAR_POWER: case UNIT_MOD_HOLY_POWER: - case UNIT_MOD_ALTERNATIVE: + case UNIT_MOD_ALTERNATE: case UNIT_MOD_MAELSTROM: case UNIT_MOD_CHI: case UNIT_MOD_INSANITY: @@ -9508,7 +9508,7 @@ void Unit::SetPower(Powers power, int32 val) if (powerIndex == MAX_POWERS || powerIndex >= MAX_POWERS_PER_CLASS) return; - int32 maxPower = int32(GetMaxPower(power)); + int32 maxPower = GetMaxPower(power); if (maxPower < val) val = maxPower; diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index f9096940b48..7caa345a89f 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -292,9 +292,9 @@ enum UnitMods UNIT_MOD_RUNES, UNIT_MOD_RUNIC_POWER, UNIT_MOD_SOUL_SHARDS, - UNIT_MOD_ECLIPSE, + UNIT_MOD_LUNAR_POWER, UNIT_MOD_HOLY_POWER, - UNIT_MOD_ALTERNATIVE, + UNIT_MOD_ALTERNATE, UNIT_MOD_MAELSTROM, UNIT_MOD_CHI, UNIT_MOD_INSANITY, @@ -1043,8 +1043,8 @@ class TC_GAME_API Unit : public WorldObject virtual float GetDamageMultiplierForTarget(WorldObject const* /*target*/) const { return 1.0f; } virtual float GetArmorMultiplierForTarget(WorldObject const* /*target*/) const { return 1.0f; } - Powers getPowerType() const { return Powers(GetUInt32Value(UNIT_FIELD_DISPLAY_POWER)); } - void setPowerType(Powers power); + Powers GetPowerType() const { return Powers(GetUInt32Value(UNIT_FIELD_DISPLAY_POWER)); } + void SetPowerType(Powers power); void UpdateDisplayPower(); int32 GetPower(Powers power) const; int32 GetMinPower(Powers power) const { return power == POWER_LUNAR_POWER ? -100 : 0; } @@ -1053,6 +1053,7 @@ class TC_GAME_API Unit : public WorldObject int32 CountPctFromMaxPower(Powers power, int32 pct) const { return CalculatePct(GetMaxPower(power), pct); } void SetPower(Powers power, int32 val); void SetMaxPower(Powers power, int32 val); + inline void SetFullPower(Powers power) { SetPower(power, GetMaxPower(power)); } // returns the change in power int32 ModifyPower(Powers power, int32 val); @@ -2027,15 +2028,15 @@ namespace Trinity { Unit const* a = objA->ToUnit(); Unit const* b = objB->ToUnit(); - float rA = (a && a->GetMaxPower(_power)) ? float(a->GetPower(_power)) / float(a->GetMaxPower(_power)) : 0.0f; - float rB = (b && b->GetMaxPower(_power)) ? float(b->GetPower(_power)) / float(b->GetMaxPower(_power)) : 0.0f; + float rA = a ? a->GetPowerPct(_power) : 0.0f; + float rB = b ? b->GetPowerPct(_power) : 0.0f; return _ascending ? rA < rB : rA > rB; } bool operator()(Unit const* a, Unit const* b) const { - float rA = a->GetMaxPower(_power) ? float(a->GetPower(_power)) / float(a->GetMaxPower(_power)) : 0.0f; - float rB = b->GetMaxPower(_power) ? float(b->GetPower(_power)) / float(b->GetMaxPower(_power)) : 0.0f; + float rA = a->GetPowerPct(_power); + float rB = b->GetPowerPct(_power); return _ascending ? rA < rB : rA > rB; } |
