Core: Declare some functions const and remove use of "using" directive in a couple of files
This commit is contained in:
1 parent
e5928e13d7
commit
243c325ca4
6 files changed
+108
-112
No files matched your search
@@ -144,37 +144,30 @@ void DamageInfo::BlockDamage(uint32 amount)
|
||||
m_damage -= amount;
|
||||
}
|
||||
|
||||
ProcEventInfo::ProcEventInfo(Unit* actor, Unit* actionTarget, Unit* procTarget, uint32 typeMask, uint32 spellTypeMask, uint32 spellPhaseMask, uint32 hitMask, Spell* spell, DamageInfo* damageInfo, HealInfo* healInfo)
|
||||
:_actor(actor), _actionTarget(actionTarget), _procTarget(procTarget), _typeMask(typeMask), _spellTypeMask(spellTypeMask), _spellPhaseMask(spellPhaseMask),
|
||||
_hitMask(hitMask), _spell(spell), _damageInfo(damageInfo), _healInfo(healInfo)
|
||||
{
|
||||
}
|
||||
ProcEventInfo::ProcEventInfo(Unit* actor, Unit* actionTarget, Unit* procTarget,
|
||||
uint32 typeMask, uint32 spellTypeMask,
|
||||
uint32 spellPhaseMask, uint32 hitMask,
|
||||
Spell* spell, DamageInfo* damageInfo,
|
||||
HealInfo* healInfo) :
|
||||
_actor(actor), _actionTarget(actionTarget), _procTarget(procTarget),
|
||||
_typeMask(typeMask), _spellTypeMask(spellTypeMask),
|
||||
_spellPhaseMask(spellPhaseMask), _hitMask(hitMask), _spell(spell),
|
||||
_damageInfo(damageInfo), _healInfo(healInfo)
|
||||
{ }
|
||||
|
||||
// we can disable this warning for this since it only
|
||||
// causes undefined behavior when passed to the base class constructor
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable:4355)
|
||||
#endif
|
||||
Unit::Unit(bool isWorldObject): WorldObject(isWorldObject)
|
||||
, m_movedPlayer(NULL)
|
||||
, m_lastSanctuaryTime(0)
|
||||
, m_TempSpeed(0.0f)
|
||||
, IsAIEnabled(false)
|
||||
, NeedChangeAI(false)
|
||||
, m_ControlledByPlayer(false)
|
||||
, movespline(new Movement::MoveSpline())
|
||||
, i_AI(NULL)
|
||||
, i_disabledAI(NULL)
|
||||
, m_AutoRepeatFirstCast(false)
|
||||
, m_procDeep(0)
|
||||
, m_removedAurasCount(0)
|
||||
, i_motionMaster(this)
|
||||
, m_ThreatManager(this)
|
||||
, m_vehicle(NULL)
|
||||
, m_vehicleKit(NULL)
|
||||
, m_unitTypeMask(UNIT_MASK_NONE)
|
||||
, m_HostileRefManager(this)
|
||||
, _lastDamagedTime(0)
|
||||
Unit::Unit(bool isWorldObject) :
|
||||
WorldObject(isWorldObject), m_movedPlayer(NULL), m_lastSanctuaryTime(0),
|
||||
m_TempSpeed(0.0f), IsAIEnabled(false), NeedChangeAI(false),
|
||||
m_ControlledByPlayer(false), movespline(new Movement::MoveSpline()),
|
||||
i_AI(NULL), i_disabledAI(NULL), m_AutoRepeatFirstCast(false), m_procDeep(0),
|
||||
m_removedAurasCount(0), i_motionMaster(this), m_ThreatManager(this),
|
||||
m_vehicle(NULL), m_vehicleKit(NULL), m_unitTypeMask(UNIT_MASK_NONE),
|
||||
m_HostileRefManager(this), _lastDamagedTime(0)
|
||||
{
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default:4355)
|
||||
@@ -1428,7 +1421,7 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
|
||||
victim->DealDamageMods(this, damage, NULL);
|
||||
|
||||
/// @todo Move this to a packet handler
|
||||
WorldPacket data(SMSG_SPELLDAMAGESHIELD, (8+8+4+4+4+4));
|
||||
WorldPacket data(SMSG_SPELLDAMAGESHIELD, 8 + 8 + 4 + 4 + 4 + 4 + 4);
|
||||
data << uint64(victim->GetGUID());
|
||||
data << uint64(GetGUID());
|
||||
data << uint32(i_spellProto->Id);
|
||||
@@ -1476,7 +1469,6 @@ bool Unit::IsDamageReducedByArmor(SpellSchoolMask schoolMask, SpellInfo const* s
|
||||
|
||||
uint32 Unit::CalcArmorReducedDamage(Unit* victim, const uint32 damage, SpellInfo const* spellInfo, WeaponAttackType /*attackType*/)
|
||||
{
|
||||
uint32 newdamage = 0;
|
||||
float armor = float(victim->GetArmor());
|
||||
|
||||
// Ignore enemy armor by SPELL_AURA_MOD_TARGET_RESISTANCE aura
|
||||
@@ -1486,16 +1478,16 @@ uint32 Unit::CalcArmorReducedDamage(Unit* victim, const uint32 damage, SpellInfo
|
||||
if (Player* modOwner = GetSpellModOwner())
|
||||
modOwner->ApplySpellMod(spellInfo->Id, SPELLMOD_IGNORE_ARMOR, armor);
|
||||
|
||||
AuraEffectList const& ResIgnoreAurasAb = GetAuraEffectsByType(SPELL_AURA_MOD_ABILITY_IGNORE_TARGET_RESIST);
|
||||
for (AuraEffectList::const_iterator j = ResIgnoreAurasAb.begin(); j != ResIgnoreAurasAb.end(); ++j)
|
||||
AuraEffectList const& resIgnoreAurasAb = GetAuraEffectsByType(SPELL_AURA_MOD_ABILITY_IGNORE_TARGET_RESIST);
|
||||
for (AuraEffectList::const_iterator j = resIgnoreAurasAb.begin(); j != resIgnoreAurasAb.end(); ++j)
|
||||
{
|
||||
if ((*j)->GetMiscValue() & SPELL_SCHOOL_MASK_NORMAL
|
||||
&& (*j)->IsAffectedOnSpell(spellInfo))
|
||||
armor = floor(AddPct(armor, -(*j)->GetAmount()));
|
||||
}
|
||||
|
||||
AuraEffectList const& ResIgnoreAuras = GetAuraEffectsByType(SPELL_AURA_MOD_IGNORE_TARGET_RESIST);
|
||||
for (AuraEffectList::const_iterator j = ResIgnoreAuras.begin(); j != ResIgnoreAuras.end(); ++j)
|
||||
AuraEffectList const& resIgnoreAuras = GetAuraEffectsByType(SPELL_AURA_MOD_IGNORE_TARGET_RESIST);
|
||||
for (AuraEffectList::const_iterator j = resIgnoreAuras.begin(); j != resIgnoreAuras.end(); ++j)
|
||||
{
|
||||
if ((*j)->GetMiscValue() & SPELL_SCHOOL_MASK_NORMAL)
|
||||
armor = floor(AddPct(armor, -(*j)->GetAmount()));
|
||||
@@ -1541,7 +1533,7 @@ uint32 Unit::CalcArmorReducedDamage(Unit* victim, const uint32 damage, SpellInfo
|
||||
|
||||
float levelModifier = getLevel();
|
||||
if (levelModifier > 59)
|
||||
levelModifier = levelModifier + (4.5f * (levelModifier - 59));
|
||||
levelModifier = levelModifier + 4.5f * (levelModifier - 59);
|
||||
|
||||
float tmpvalue = 0.1f * armor / (8.5f * levelModifier + 40);
|
||||
tmpvalue = tmpvalue / (1.0f + tmpvalue);
|
||||
@@ -1551,9 +1543,7 @@ uint32 Unit::CalcArmorReducedDamage(Unit* victim, const uint32 damage, SpellInfo
|
||||
if (tmpvalue > 0.75f)
|
||||
tmpvalue = 0.75f;
|
||||
|
||||
newdamage = uint32(damage - (damage * tmpvalue));
|
||||
|
||||
return (newdamage > 1) ? newdamage : 1;
|
||||
return std::max<uint32>(damage * (1.0f - tmpvalue), 1);
|
||||
}
|
||||
|
||||
void Unit::CalcAbsorbResist(Unit* victim, SpellSchoolMask schoolMask, DamageEffectType damagetype, uint32 const damage, uint32 *absorb, uint32 *resist, SpellInfo const* spellInfo)
|
||||
@@ -1646,6 +1636,7 @@ void Unit::CalcAbsorbResist(Unit* victim, SpellSchoolMask schoolMask, DamageEffe
|
||||
if (((*itr)->GetAmount() > auraAbsorbMod) && (*itr)->IsAffectedOnSpell(spellInfo))
|
||||
auraAbsorbMod = float((*itr)->GetAmount());
|
||||
}
|
||||
|
||||
RoundToInterval(auraAbsorbMod, 0.0f, 100.0f);
|
||||
|
||||
// We're going to call functions which can modify content of the list during iteration over it's elements
|
||||
@@ -1801,7 +1792,7 @@ void Unit::CalcAbsorbResist(Unit* victim, SpellSchoolMask schoolMask, DamageEffe
|
||||
// We're going to call functions which can modify content of the list during iteration over it's elements
|
||||
// Let's copy the list so we can prevent iterator invalidation
|
||||
AuraEffectList vSplitDamagePctCopy(victim->GetAuraEffectsByType(SPELL_AURA_SPLIT_DAMAGE_PCT));
|
||||
for (AuraEffectList::iterator itr = vSplitDamagePctCopy.begin(), next; (itr != vSplitDamagePctCopy.end()) && (dmgInfo.GetDamage() > 0); ++itr)
|
||||
for (AuraEffectList::iterator itr = vSplitDamagePctCopy.begin(); itr != vSplitDamagePctCopy.end() && dmgInfo.GetDamage() > 0; ++itr)
|
||||
{
|
||||
// Check if aura was removed during iteration - we don't need to work on such auras
|
||||
AuraApplication const* aurApp = (*itr)->GetBase()->GetApplicationOfTarget(victim->GetGUID());
|
||||
@@ -2209,7 +2200,7 @@ void Unit::SendMeleeAttackStop(Unit* victim)
|
||||
{
|
||||
WorldPacket data(SMSG_ATTACKSTOP, (8+8+4));
|
||||
data.append(GetPackGUID());
|
||||
data.appendPackGUID(victim ? victim->GetGUID() : 0);
|
||||
data.append(victim ? victim->GetPackGUID() : 0);
|
||||
data << uint32(0); //! Can also take the value 0x01, which seems related to updating rotation
|
||||
SendMessageToSet(&data, true);
|
||||
sLog->outDebug(LOG_FILTER_UNITS, "WORLD: Sent SMSG_ATTACKSTOP");
|
||||
@@ -2248,7 +2239,7 @@ bool Unit::isBlockCritical()
|
||||
return false;
|
||||
}
|
||||
|
||||
int32 Unit::GetMechanicResistChance(const SpellInfo* spell)
|
||||
int32 Unit::GetMechanicResistChance(const SpellInfo* spell) const
|
||||
{
|
||||
if (!spell)
|
||||
return 0;
|
||||
@@ -2272,11 +2263,15 @@ bool Unit::CanUseAttackType(uint8 attacktype) const
|
||||
{
|
||||
switch (attacktype)
|
||||
{
|
||||
case BASE_ATTACK: return !HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISARMED);
|
||||
case OFF_ATTACK: return !HasFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_DISARM_OFFHAND);
|
||||
case RANGED_ATTACK: return !HasFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_DISARM_RANGED);
|
||||
case BASE_ATTACK:
|
||||
return !HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISARMED);
|
||||
case OFF_ATTACK:
|
||||
return !HasFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_DISARM_OFFHAND);
|
||||
case RANGED_ATTACK:
|
||||
return !HasFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_DISARM_RANGED);
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Melee based spells hit result calculations
|
||||
@@ -4332,11 +4327,11 @@ bool Unit::HasAuraTypeWithValue(AuraType auratype, int32 value) const
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Unit::HasNegativeAuraWithInterruptFlag(uint32 flag, uint64 guid)
|
||||
bool Unit::HasNegativeAuraWithInterruptFlag(uint32 flag, uint64 guid) const
|
||||
{
|
||||
if (!(m_interruptMask & flag))
|
||||
return false;
|
||||
for (AuraApplicationList::iterator iter = m_interruptableAuras.begin(); iter != m_interruptableAuras.end(); ++iter)
|
||||
for (AuraApplicationList::const_iterator iter = m_interruptableAuras.begin(); iter != m_interruptableAuras.end(); ++iter)
|
||||
{
|
||||
if (!(*iter)->IsPositive() && (*iter)->GetBase()->GetSpellInfo()->AuraInterruptFlags & flag && (!guid || (*iter)->GetBase()->GetCasterGUID() == guid))
|
||||
return true;
|
||||
@@ -4344,9 +4339,9 @@ bool Unit::HasNegativeAuraWithInterruptFlag(uint32 flag, uint64 guid)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Unit::HasNegativeAuraWithAttribute(uint32 flag, uint64 guid)
|
||||
bool Unit::HasNegativeAuraWithAttribute(uint32 flag, uint64 guid) const
|
||||
{
|
||||
for (AuraApplicationMap::iterator iter = m_appliedAuras.begin(); iter != m_appliedAuras.end(); ++iter)
|
||||
for (AuraApplicationMap::const_iterator iter = m_appliedAuras.begin(); iter != m_appliedAuras.end(); ++iter)
|
||||
{
|
||||
Aura const* aura = iter->second->GetBase();
|
||||
if (!iter->second->IsPositive() && aura->GetSpellInfo()->Attributes & flag && (!guid || aura->GetCasterGUID() == guid))
|
||||
@@ -4355,11 +4350,11 @@ bool Unit::HasNegativeAuraWithAttribute(uint32 flag, uint64 guid)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Unit::HasAuraWithMechanic(uint32 mechanicMask)
|
||||
bool Unit::HasAuraWithMechanic(uint32 mechanicMask) const
|
||||
{
|
||||
for (AuraApplicationMap::iterator iter = m_appliedAuras.begin(); iter != m_appliedAuras.end(); ++iter)
|
||||
for (AuraApplicationMap::const_iterator iter = m_appliedAuras.begin(); iter != m_appliedAuras.end(); ++iter)
|
||||
{
|
||||
SpellInfo const* spellInfo = iter->second->GetBase()->GetSpellInfo();
|
||||
SpellInfo const* spellInfo = iter->second->GetBase()->GetSpellInfo();
|
||||
if (spellInfo->Mechanic && (mechanicMask & (1 << spellInfo->Mechanic)))
|
||||
return true;
|
||||
|
||||
@@ -4394,7 +4389,7 @@ uint32 Unit::GetDiseasesByCaster(uint64 casterGUID, bool remove)
|
||||
};
|
||||
|
||||
uint32 diseases = 0;
|
||||
for (AuraType const* itr = &diseaseAuraTypes[0]; itr && itr[0] != SPELL_AURA_NONE; ++itr)
|
||||
for (AuraType const* itr = diseaseAuraTypes; *itr != SPELL_AURA_NONE; ++itr)
|
||||
{
|
||||
for (AuraEffectList::iterator i = m_modAuras[*itr].begin(); i != m_modAuras[*itr].end();)
|
||||
{
|
||||
@@ -9585,9 +9580,11 @@ void Unit::SetCharm(Unit* charm, bool apply)
|
||||
}
|
||||
|
||||
if (charm->GetTypeId() == TYPEID_PLAYER
|
||||
|| !charm->ToCreature()->HasUnitTypeMask(UNIT_MASK_MINION)
|
||||
|| charm->GetOwnerGUID() != GetGUID())
|
||||
|| !charm->ToCreature()->HasUnitTypeMask(UNIT_MASK_MINION)
|
||||
|| charm->GetOwnerGUID() != GetGUID())
|
||||
{
|
||||
m_Controlled.erase(charm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user