Protocol: Wither metadata
This commit is contained in:
@@ -21,6 +21,15 @@ cWither::cWither(void) :
|
||||
|
||||
|
||||
|
||||
bool cWither::IsArmored(void) const
|
||||
{
|
||||
return GetHealth() <= (GetMaxHealth() / 2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cWither::DoTakeDamage(TakeDamageInfo & a_TDI)
|
||||
{
|
||||
if (a_TDI.DamageType == dtDrowning)
|
||||
@@ -33,6 +42,11 @@ void cWither::DoTakeDamage(TakeDamageInfo & a_TDI)
|
||||
return;
|
||||
}
|
||||
|
||||
if (IsArmored() && (a_TDI.DamageType == dtRangedAttack))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
super::DoTakeDamage(a_TDI);
|
||||
}
|
||||
|
||||
@@ -60,6 +74,8 @@ void cWither::Tick(float a_Dt, cChunk & a_Chunk)
|
||||
Heal(10);
|
||||
}
|
||||
}
|
||||
|
||||
m_World->BroadcastEntityMetadata(*this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user