mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-23 20:43:15 +00:00
- Fixed: MF6_BUMPSPECIAL only worked when bumped from X/Y movement but not Z movement.
SVN r3745 (trunk)
This commit is contained in:
parent
5e2b4bddda
commit
f6ff2ea8a7
1 changed files with 14 additions and 0 deletions
|
@ -3392,6 +3392,20 @@ void AActor::Tick ()
|
|||
}
|
||||
z = onmo->z + onmo->height;
|
||||
}
|
||||
// Check for MF6_BUMPSPECIAL
|
||||
// By default, only players can activate things by bumping into them
|
||||
// We trigger specials as long as we are on top of it and not just when
|
||||
// we land on it. This could be considered as gravity making us continually
|
||||
// bump into it, but it also avoids having to worry about walking on to
|
||||
// something without dropping and not triggering anything.
|
||||
if ((onmo->flags6 & MF6_BUMPSPECIAL) && ((player != NULL)
|
||||
|| ((onmo->activationtype & THINGSPEC_MonsterTrigger) && (flags3 & MF3_ISMONSTER))
|
||||
|| ((onmo->activationtype & THINGSPEC_MissileTrigger) && (flags & MF_MISSILE))
|
||||
) && (level.maptime > onmo->lastbump)) // Leave the bumper enough time to go away
|
||||
{
|
||||
if (P_ActivateThingSpecial(onmo, this))
|
||||
onmo->lastbump = level.maptime + TICRATE;
|
||||
}
|
||||
if (velz != 0 && (BounceFlags & BOUNCE_Actors))
|
||||
{
|
||||
P_BounceActor(this, onmo, true);
|
||||
|
|
Loading…
Reference in a new issue