summaryrefslogtreecommitdiffstats
path: root/src/Mobs/Wither.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Mobs/Wither.cpp')
-rw-r--r--src/Mobs/Wither.cpp19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/Mobs/Wither.cpp b/src/Mobs/Wither.cpp
index dd85d7d2b..2cf564fca 100644
--- a/src/Mobs/Wither.cpp
+++ b/src/Mobs/Wither.cpp
@@ -101,28 +101,19 @@ void cWither::KilledBy(TakeDamageInfo & a_TDI)
{
super::KilledBy(a_TDI);
- class cPlayerCallback : public cPlayerListCallback
- {
- Vector3f m_Pos;
-
- virtual bool Item(cPlayer * a_Player)
+ Vector3d Pos = GetPosition();
+ m_World->ForEachPlayer([=](cPlayer & a_Player)
{
// TODO 2014-05-21 xdot: Vanilla minecraft uses an AABB check instead of a radius one
- double Dist = (a_Player->GetPosition() - m_Pos).Length();
+ double Dist = (a_Player.GetPosition() - Pos).Length();
if (Dist < 50.0)
{
// If player is close, award achievement
- a_Player->AwardAchievement(achKillWither);
+ a_Player.AwardAchievement(achKillWither);
}
return false;
}
-
- public:
- cPlayerCallback(const Vector3f & a_Pos) : m_Pos(a_Pos) {}
-
- } PlayerCallback(GetPosition());
-
- m_World->ForEachPlayer(PlayerCallback);
+ );
}