- Fixed: Horizontal movement should not trigger bump specials while predicting.

SVN r3855 (trunk)
This commit is contained in:
Randy Heit 2012-08-28 02:52:53 +00:00
parent a94cf9d548
commit 3a6806942c
2 changed files with 10 additions and 4 deletions

View file

@ -941,10 +941,13 @@ bool PIT_CheckThing (AActor *thing, FCheckPosition &tm)
|| ((thing->activationtype & THINGSPEC_MonsterTrigger) && (tm.thing->flags3 & MF3_ISMONSTER)) || ((thing->activationtype & THINGSPEC_MonsterTrigger) && (tm.thing->flags3 & MF3_ISMONSTER))
|| ((thing->activationtype & THINGSPEC_MissileTrigger) && (tm.thing->flags & MF_MISSILE)) || ((thing->activationtype & THINGSPEC_MissileTrigger) && (tm.thing->flags & MF_MISSILE))
) && (level.maptime > thing->lastbump)) // Leave the bumper enough time to go away ) && (level.maptime > thing->lastbump)) // Leave the bumper enough time to go away
{
if (tm.thing->player == NULL || !(tm.thing->player->cheats & CF_PREDICTING))
{ {
if (P_ActivateThingSpecial(thing, tm.thing)) if (P_ActivateThingSpecial(thing, tm.thing))
thing->lastbump = level.maptime + TICRATE; thing->lastbump = level.maptime + TICRATE;
} }
}
// Check for skulls slamming into things // Check for skulls slamming into things
if (tm.thing->flags & MF_SKULLFLY) if (tm.thing->flags & MF_SKULLFLY)

View file

@ -3452,10 +3452,13 @@ void AActor::Tick ()
|| ((onmo->activationtype & THINGSPEC_MonsterTrigger) && (flags3 & MF3_ISMONSTER)) || ((onmo->activationtype & THINGSPEC_MonsterTrigger) && (flags3 & MF3_ISMONSTER))
|| ((onmo->activationtype & THINGSPEC_MissileTrigger) && (flags & MF_MISSILE)) || ((onmo->activationtype & THINGSPEC_MissileTrigger) && (flags & MF_MISSILE))
) && (level.maptime > onmo->lastbump)) // Leave the bumper enough time to go away ) && (level.maptime > onmo->lastbump)) // Leave the bumper enough time to go away
{
if (player == NULL || !(player->cheats & CF_PREDICTING))
{ {
if (P_ActivateThingSpecial(onmo, this)) if (P_ActivateThingSpecial(onmo, this))
onmo->lastbump = level.maptime + TICRATE; onmo->lastbump = level.maptime + TICRATE;
} }
}
if (velz != 0 && (BounceFlags & BOUNCE_Actors)) if (velz != 0 && (BounceFlags & BOUNCE_Actors))
{ {
P_BounceActor(this, onmo, true); P_BounceActor(this, onmo, true);