Prefer static_cast to reinterpret_cast (#4223)
* Change reinterpret_cast -> static_cast wherever possible * Remove more unnecessary `const_cast`s. reinterpret_casts should be avoided for the same reason as c-style casts - they don't do any type-checking. reinterpret_cast was mainly being used for down-casting in inheritance hierarchies but static_cast works just as well while also making sure that there is actually an inheritance relationship there.
This commit is contained in:
@@ -241,12 +241,12 @@ void cEntityEffectSpeed::OnActivate(cPawn & a_Target)
|
||||
{
|
||||
if (a_Target.IsMob())
|
||||
{
|
||||
cMonster * Mob = reinterpret_cast<cMonster*>(&a_Target);
|
||||
cMonster * Mob = static_cast<cMonster*>(&a_Target);
|
||||
Mob->SetRelativeWalkSpeed(Mob->GetRelativeWalkSpeed() + 0.2 * m_Intensity);
|
||||
}
|
||||
else if (a_Target.IsPlayer())
|
||||
{
|
||||
cPlayer * Player = reinterpret_cast<cPlayer*>(&a_Target);
|
||||
cPlayer * Player = static_cast<cPlayer*>(&a_Target);
|
||||
Player->SetNormalMaxSpeed(Player->GetNormalMaxSpeed() + 0.2 * m_Intensity);
|
||||
Player->SetSprintingMaxSpeed(Player->GetSprintingMaxSpeed() + 0.26 * m_Intensity);
|
||||
Player->SetFlyingMaxSpeed(Player->GetFlyingMaxSpeed() + 0.2 * m_Intensity);
|
||||
@@ -261,12 +261,12 @@ void cEntityEffectSpeed::OnDeactivate(cPawn & a_Target)
|
||||
{
|
||||
if (a_Target.IsMob())
|
||||
{
|
||||
cMonster * Mob = reinterpret_cast<cMonster*>(&a_Target);
|
||||
cMonster * Mob = static_cast<cMonster*>(&a_Target);
|
||||
Mob->SetRelativeWalkSpeed(Mob->GetRelativeWalkSpeed() - 0.2 * m_Intensity);
|
||||
}
|
||||
else if (a_Target.IsPlayer())
|
||||
{
|
||||
cPlayer * Player = reinterpret_cast<cPlayer*>(&a_Target);
|
||||
cPlayer * Player = static_cast<cPlayer*>(&a_Target);
|
||||
Player->SetNormalMaxSpeed(Player->GetNormalMaxSpeed() - 0.2 * m_Intensity);
|
||||
Player->SetSprintingMaxSpeed(Player->GetSprintingMaxSpeed() - 0.26 * m_Intensity);
|
||||
Player->SetFlyingMaxSpeed(Player->GetFlyingMaxSpeed() - 0.2 * m_Intensity);
|
||||
@@ -328,7 +328,7 @@ void cEntityEffectInstantHealth::OnActivate(cPawn & a_Target)
|
||||
// Base amount = 6, doubles for every increase in intensity
|
||||
int amount = static_cast<int>(6 * (1 << m_Intensity) * m_DistanceModifier);
|
||||
|
||||
if (a_Target.IsMob() && reinterpret_cast<cMonster &>(a_Target).IsUndead())
|
||||
if (a_Target.IsMob() && static_cast<cMonster &>(a_Target).IsUndead())
|
||||
{
|
||||
a_Target.TakeDamage(dtPotionOfHarming, nullptr, amount, 0); // TODO: Store attacker in a pointer-safe way, pass to TakeDamage
|
||||
return;
|
||||
@@ -348,7 +348,7 @@ void cEntityEffectInstantDamage::OnActivate(cPawn & a_Target)
|
||||
// Base amount = 6, doubles for every increase in intensity
|
||||
int amount = static_cast<int>(6 * (1 << m_Intensity) * m_DistanceModifier);
|
||||
|
||||
if (a_Target.IsMob() && reinterpret_cast<cMonster &>(a_Target).IsUndead())
|
||||
if (a_Target.IsMob() && static_cast<cMonster &>(a_Target).IsUndead())
|
||||
{
|
||||
a_Target.Heal(amount);
|
||||
return;
|
||||
@@ -367,7 +367,7 @@ void cEntityEffectRegeneration::OnTick(cPawn & a_Target)
|
||||
{
|
||||
super::OnTick(a_Target);
|
||||
|
||||
if (a_Target.IsMob() && reinterpret_cast<cMonster &>(a_Target).IsUndead())
|
||||
if (a_Target.IsMob() && static_cast<cMonster &>(a_Target).IsUndead())
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -396,7 +396,7 @@ void cEntityEffectHunger::OnTick(cPawn & a_Target)
|
||||
|
||||
if (a_Target.IsPlayer())
|
||||
{
|
||||
cPlayer & Target = reinterpret_cast<cPlayer &>(a_Target);
|
||||
cPlayer & Target = static_cast<cPlayer &>(a_Target);
|
||||
Target.AddFoodExhaustion(0.025 * (static_cast<double>(GetIntensity()) + 1.0)); // 0.5 per second = 0.025 per tick
|
||||
}
|
||||
}
|
||||
@@ -448,7 +448,7 @@ void cEntityEffectPoison::OnTick(cPawn & a_Target)
|
||||
|
||||
if (a_Target.IsMob())
|
||||
{
|
||||
cMonster & Target = reinterpret_cast<cMonster &>(a_Target);
|
||||
cMonster & Target = static_cast<cMonster &>(a_Target);
|
||||
|
||||
// Doesn't effect undead mobs, spiders
|
||||
if (
|
||||
@@ -505,7 +505,7 @@ void cEntityEffectSaturation::OnTick(cPawn & a_Target)
|
||||
{
|
||||
if (a_Target.IsPlayer())
|
||||
{
|
||||
cPlayer & Target = reinterpret_cast<cPlayer &>(a_Target);
|
||||
cPlayer & Target = static_cast<cPlayer &>(a_Target);
|
||||
Target.SetFoodSaturationLevel(Target.GetFoodSaturationLevel() + (1 + m_Intensity)); // Increase saturation 1 per tick, adds 1 for every increase in level
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user