1
0

ExpOrbs now move.

This commit is contained in:
STRWarrior 2013-12-11 16:14:08 +01:00
parent 858b03deb4
commit bba51755d4

View File

@ -40,21 +40,25 @@ void cExpOrb::SpawnOn(cClientHandle & a_Client)
void cExpOrb::Tick(float a_Dt, cChunk & a_Chunk)
{
cPlayer * a_ClosestPlayer(m_World->FindClosestPlayer(Vector3f(GetPosition()), 4));
cPlayer * a_ClosestPlayer(m_World->FindClosestPlayer(Vector3f(GetPosition()), 5));
if (a_ClosestPlayer)
{
Vector3f a_PlayerPos(a_ClosestPlayer->GetPosition());
a_PlayerPos.y++;
Vector3f a_Distance(a_PlayerPos - GetPosition());
if (a_Distance.Length() < 0.1f)
double Distance(a_Distance.Length());
if (Distance < 0.1f)
{
a_ClosestPlayer->DeltaExperience(m_Reward);
a_ClosestPlayer->SendExperience();
Destroy(true);
}
a_Distance.y = 0;
a_Distance.Normalize();
a_Distance *= 3;
a_Distance *= ((float) (5.5 - Distance));
SetSpeedX( a_Distance.x );
SetSpeedY( a_Distance.y );
SetSpeedZ( a_Distance.z );
BroadcastMovementUpdate();
}
HandlePhysics(a_Dt, a_Chunk);
}