Entity: Now entites inside a cobweb slow down their speed
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1442 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
parent
c1e6fb454f
commit
accb2971f1
@ -238,23 +238,37 @@ void cEntity::HandlePhysics(float a_Dt, cChunk & a_Chunk)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Push out entity.
|
if (BlockIn == E_BLOCK_COBWEB)
|
||||||
m_bOnGround = true;
|
{
|
||||||
NextPos.y += 0.2;
|
NextSpeed.x *= 0.25;
|
||||||
LOGD("Entity #%d (%s) is inside a block at {%d,%d,%d}",
|
NextSpeed.z *= 0.25;
|
||||||
m_UniqueID, GetClass(), BlockX, BlockY, BlockZ);
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//Push out entity.
|
||||||
|
m_bOnGround = true;
|
||||||
|
NextPos.y += 0.2;
|
||||||
|
LOGD("Entity #%d (%s) is inside a block at {%d,%d,%d}",
|
||||||
|
m_UniqueID, GetClass(), BlockX, BlockY, BlockZ);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m_bOnGround)
|
if (!m_bOnGround)
|
||||||
{
|
{
|
||||||
float fallspeed;
|
float fallspeed;
|
||||||
if (!IsBlockWater(BlockIn))
|
if (IsBlockWater(BlockIn))
|
||||||
{
|
{
|
||||||
fallspeed = m_Gravity * a_Dt;
|
fallspeed = -3.0f * a_Dt; //Fall slower in water.
|
||||||
|
}
|
||||||
|
else if (BlockIn == E_BLOCK_COBWEB)
|
||||||
|
{
|
||||||
|
NextSpeed.y *= 0.05; //Reduce overall falling speed
|
||||||
|
fallspeed = 0; //No falling.
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fallspeed = -3.0f * a_Dt; //Fall slower in water.
|
//Normal gravity
|
||||||
|
fallspeed = m_Gravity * a_Dt;
|
||||||
}
|
}
|
||||||
NextSpeed.y += fallspeed;
|
NextSpeed.y += fallspeed;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user