mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-01-31 13:40:45 +00:00
Merge branch 'damagetype-fixes' into 'next'
A few damage type fixes Closes #392 See merge request STJr/SRB2!1660
This commit is contained in:
commit
cef9a1ad18
5 changed files with 10 additions and 11 deletions
10
src/info.c
10
src/info.c
|
@ -5199,7 +5199,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
24*FRACUNIT, // radius
|
||||
34*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
DMG_FIRE, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_FIRE|MF_PAIN, // flags
|
||||
|
@ -7974,7 +7974,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
8*FRACUNIT, // radius
|
||||
32*FRACUNIT, // height
|
||||
0, // display offset
|
||||
4, // mass
|
||||
DMG_SPIKE, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_SCENERY|MF_NOCLIPHEIGHT, // flags
|
||||
|
@ -8001,7 +8001,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
16*FRACUNIT, // radius
|
||||
14*FRACUNIT, // height
|
||||
0, // display offset
|
||||
4, // mass
|
||||
DMG_SPIKE, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_SCENERY|MF_NOCLIPHEIGHT|MF_PAPERCOLLISION, // flags
|
||||
|
@ -13401,7 +13401,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
30*FRACUNIT, // radius
|
||||
48*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
DMG_FIRE, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_SPECIAL|MF_PAIN|MF_NOGRAVITY|MF_FIRE, // flags
|
||||
|
@ -13806,7 +13806,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
8*FRACUNIT, // radius
|
||||
32*FRACUNIT, // height
|
||||
0, // display offset
|
||||
0, // mass
|
||||
0, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_PAIN, // flags
|
||||
|
|
|
@ -3651,7 +3651,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
|
|||
return true;
|
||||
}
|
||||
|
||||
if (!force && inflictor && inflictor->flags & MF_FIRE)
|
||||
if (!force && inflictor && inflictor->flags & MF_FIRE && !(damagetype && damagetype != DMG_FIRE))
|
||||
{
|
||||
if (player->powers[pw_shield] & SH_PROTECTFIRE)
|
||||
return false; // Invincible to fire objects
|
||||
|
|
|
@ -1156,7 +1156,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
else
|
||||
thing->z = tmthing->z + tmthing->height + FixedMul(FRACUNIT, tmthing->scale);
|
||||
if (thing->flags & MF_SHOOTABLE)
|
||||
P_DamageMobj(thing, tmthing, tmthing, 1, 0);
|
||||
P_DamageMobj(thing, tmthing, tmthing, 1, DMG_SPIKE);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -487,7 +487,7 @@ static inline void P_DoSpecialStageStuff(void)
|
|||
continue;
|
||||
|
||||
// If in water, deplete timer 6x as fast.
|
||||
if (players[i].mo->eflags & (MFE_TOUCHWATER|MFE_UNDERWATER) && !(players[i].powers[pw_shield] & SH_PROTECTWATER))
|
||||
if (players[i].mo->eflags & (MFE_TOUCHWATER|MFE_UNDERWATER) && !(players[i].powers[pw_shield] & ((players[i].mo->eflags & MFE_TOUCHLAVA) ? SH_PROTECTFIRE : SH_PROTECTWATER)))
|
||||
players[i].nightstime -= 5;
|
||||
if (--players[i].nightstime > 6)
|
||||
{
|
||||
|
|
|
@ -2037,9 +2037,8 @@ static void ST_drawNiGHTSHUD(void)
|
|||
else
|
||||
numbersize = 48/2;
|
||||
|
||||
if ((oldspecialstage && leveltime & 2)
|
||||
&& (stplyr->mo->eflags & (MFE_TOUCHWATER|MFE_UNDERWATER))
|
||||
&& !(stplyr->powers[pw_shield] & SH_PROTECTWATER))
|
||||
if ((oldspecialstage && leveltime & 2) &&
|
||||
(stplyr->mo->eflags & (MFE_TOUCHWATER|MFE_UNDERWATER) && !(stplyr->powers[pw_shield] & ((stplyr->mo->eflags & MFE_TOUCHLAVA) ? SH_PROTECTFIRE : SH_PROTECTWATER))))
|
||||
col = SKINCOLOR_ORANGE;
|
||||
|
||||
ST_DrawNightsOverlayNum((160 + numbersize)<<FRACBITS, 14<<FRACBITS, FRACUNIT, V_PERPLAYER|V_SNAPTOTOP, realnightstime, nightsnum, col);
|
||||
|
|
Loading…
Reference in a new issue