1
0

Fix cPawn pushing

cPawn instances can no longer push an entity they are attached to. cEntity now has a IsAttachedTo method.
This commit is contained in:
Marvin Kopf
2016-02-02 14:44:10 +01:00
parent 57e6fd654b
commit a1c48f4853
3 changed files with 22 additions and 0 deletions

View File

@@ -73,6 +73,12 @@ void cPawn::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk)
return false;
}
// do not push a boat / minecart you're sitting in
if (m_Pusher->IsAttachedTo(a_Entity))
{
return false;
}
Vector3d v3Delta = a_Entity->GetPosition() - m_Pusher->GetPosition();
v3Delta.y = 0.0; // we only push sideways
v3Delta *= 1.0 / (v3Delta.Length() + 0.01); // we push harder if we're close