mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-28 06:53:58 +00:00
- Added a check for all z-movement for floor huggers so that it doesn't skip all the height checks if +NODROPOFF is also given.
This commit is contained in:
parent
0c660ff29c
commit
073e63ed04
2 changed files with 3 additions and 3 deletions
|
@ -2281,7 +2281,7 @@ bool P_TryMove(AActor *thing, const DVector2 &pos,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
if (!(thing->flags & MF_TELEPORT) && !(thing->flags3 & MF3_FLOORHUGGER))
|
if (!(thing->flags & MF_TELEPORT) && (!(thing->flags3 & MF3_FLOORHUGGER) || thing->flags5 & MF5_NODROPOFF))
|
||||||
{
|
{
|
||||||
if ((thing->flags & MF_MISSILE) && !(thing->flags6 & MF6_STEPMISSILE) && tm.floorz > thing->Z())
|
if ((thing->flags & MF_MISSILE) && !(thing->flags6 & MF6_STEPMISSILE) && tm.floorz > thing->Z())
|
||||||
{ // [RH] Don't let normal missiles climb steps
|
{ // [RH] Don't let normal missiles climb steps
|
||||||
|
@ -2772,7 +2772,7 @@ bool P_CheckMove(AActor *thing, const DVector2 &pos, int flags)
|
||||||
if (thing->Top() > tm.ceilingz)
|
if (thing->Top() > tm.ceilingz)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!(thing->flags & MF_TELEPORT) && !(thing->flags3 & MF3_FLOORHUGGER))
|
if (!(thing->flags & MF_TELEPORT) && (!(thing->flags3 & MF3_FLOORHUGGER) || thing->flags5 & MF5_NODROPOFF))
|
||||||
{
|
{
|
||||||
if (tm.floorz - newz > thing->MaxStepHeight)
|
if (tm.floorz - newz > thing->MaxStepHeight)
|
||||||
{ // too big a step up
|
{ // too big a step up
|
||||||
|
|
|
@ -2958,7 +2958,7 @@ void P_ZMovement (AActor *mo, double oldfloorz)
|
||||||
mo->Vel.Z = 0;
|
mo->Vel.Z = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (mo->flags3 & MF3_FLOORHUGGER)
|
else if ((mo->flags3 & MF3_FLOORHUGGER) && !(mo->flags5 & MF5_NODROPOFF))
|
||||||
{ // Floor huggers can go up steps
|
{ // Floor huggers can go up steps
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue