* Invert solidity flag for vertical spikes and wallspikes.

* (unrelated) Per a request by sphere, make the ambush flag stop sounds being made by the gas jet.
This commit is contained in:
toasterbabe 2017-07-18 14:17:10 +01:00
parent ef4dc42c7c
commit b2e92e7a09
2 changed files with 15 additions and 12 deletions

View File

@ -4110,15 +4110,18 @@ void A_SetSolidSteam(mobj_t *actor)
#endif #endif
actor->flags &= ~MF_NOCLIP; actor->flags &= ~MF_NOCLIP;
actor->flags |= MF_SOLID; actor->flags |= MF_SOLID;
if (P_RandomChance(FRACUNIT/8)) if (!(actor->flags2 & MF2_AMBUSH))
{ {
if (actor->info->deathsound) if (P_RandomChance(FRACUNIT/8))
S_StartSound(actor, actor->info->deathsound); // Hiss! {
} if (actor->info->deathsound)
else S_StartSound(actor, actor->info->deathsound); // Hiss!
{ }
if (actor->info->painsound) else
S_StartSound(actor, actor->info->painsound); {
if (actor->info->painsound)
S_StartSound(actor, actor->info->painsound);
}
} }
P_SetObjectMomZ (actor, 1, true); P_SetObjectMomZ (actor, 1, true);

View File

@ -10120,8 +10120,8 @@ ML_NOCLIMB : Direction not controllable
mobj->flags &= ~MF_SCENERY; mobj->flags &= ~MF_SCENERY;
mobj->fuse = mthing->angle + mobj->info->speed; mobj->fuse = mthing->angle + mobj->info->speed;
} }
// Use per-thing collision for spikes if the deaf flag is checked. // Use per-thing collision for spikes if the deaf flag isn't checked.
if (mthing->options & MTF_AMBUSH && !metalrecording) if (!(mthing->options & MTF_AMBUSH) && !metalrecording)
{ {
P_UnsetThingPosition(mobj); P_UnsetThingPosition(mobj);
mobj->flags &= ~(MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIPHEIGHT); mobj->flags &= ~(MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIPHEIGHT);
@ -10137,8 +10137,8 @@ ML_NOCLIMB : Direction not controllable
mobj->flags &= ~MF_SCENERY; mobj->flags &= ~MF_SCENERY;
mobj->fuse = mobj->info->speed; mobj->fuse = mobj->info->speed;
} }
// Use per-thing collision for spikes if the deaf flag is checked. // Use per-thing collision for spikes if the deaf flag isn't checked.
if (mthing->options & MTF_AMBUSH && !metalrecording) if (!(mthing->options & MTF_AMBUSH) && !metalrecording)
{ {
P_UnsetThingPosition(mobj); P_UnsetThingPosition(mobj);
mobj->flags &= ~(MF_NOBLOCKMAP|MF_NOCLIPHEIGHT); mobj->flags &= ~(MF_NOBLOCKMAP|MF_NOCLIPHEIGHT);