mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-05-03 07:22:10 +00:00
Allow machine skins to damage objects in dashmode
This commit is contained in:
parent
7f55ee6fd9
commit
a1633e9acf
3 changed files with 14 additions and 8 deletions
|
|
@ -511,6 +511,10 @@ typedef struct player_s
|
||||||
#endif
|
#endif
|
||||||
} player_t;
|
} player_t;
|
||||||
|
|
||||||
|
// Values for dashmode
|
||||||
|
#define DASHMODE_THRESHOLD (3*TICRATE)
|
||||||
|
#define DASHMODE_MAX (DASHMODE_THRESHOLD + 3)
|
||||||
|
|
||||||
// Value for infinite lives
|
// Value for infinite lives
|
||||||
#define INFLIVES 0x7F
|
#define INFLIVES 0x7F
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1096,6 +1096,9 @@ boolean P_PlayerCanDamage(player_t *player, mobj_t *thing)
|
||||||
// Spinning.
|
// Spinning.
|
||||||
if (player->pflags & PF_SPINNING)
|
if (player->pflags & PF_SPINNING)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
if (player->dashmode >= DASHMODE_THRESHOLD && player->charflags & (SF_DASHMODE|SF_MACHINE) == (SF_DASHMODE|SF_MACHINE))
|
||||||
|
return true;
|
||||||
|
|
||||||
// From the front.
|
// From the front.
|
||||||
if (((player->pflags & PF_GLIDING) || (player->charability2 == CA2_MELEE && player->panim == PA_ABILITY2))
|
if (((player->pflags & PF_GLIDING) || (player->charability2 == CA2_MELEE && player->panim == PA_ABILITY2))
|
||||||
|
|
@ -2204,9 +2207,6 @@ boolean P_InSpaceSector(mobj_t *mo) // Returns true if you are in space
|
||||||
return false; // No vacuum here, Captain!
|
return false; // No vacuum here, Captain!
|
||||||
}
|
}
|
||||||
|
|
||||||
#define DASHMODE_THRESHOLD (3*TICRATE)
|
|
||||||
#define DASHMODE_MAX (DASHMODE_THRESHOLD + 3)
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// P_PlayerHitFloor
|
// P_PlayerHitFloor
|
||||||
//
|
//
|
||||||
|
|
@ -2477,7 +2477,7 @@ static void P_CheckBustableBlocks(player_t *player)
|
||||||
&& !(player->powers[pw_super])
|
&& !(player->powers[pw_super])
|
||||||
&& !(player->charability == CA_GLIDEANDCLIMB)
|
&& !(player->charability == CA_GLIDEANDCLIMB)
|
||||||
&& !(player->pflags & PF_BOUNCING)
|
&& !(player->pflags & PF_BOUNCING)
|
||||||
&& !((player->charflags & SF_DASHMODE) && (player->dashmode >= DASHMODE_THRESHOLD))
|
&& !((player->charflags & (SF_DASHMODE|SF_MACHINE) == (SF_DASHMODE|SF_MACHINE)) && (player->dashmode >= DASHMODE_THRESHOLD))
|
||||||
&& !((player->charability == CA_TWINSPIN) && (player->panim == PA_ABILITY))
|
&& !((player->charability == CA_TWINSPIN) && (player->panim == PA_ABILITY))
|
||||||
&& !(player->charability2 == CA2_MELEE && player->panim == PA_ABILITY2)
|
&& !(player->charability2 == CA2_MELEE && player->panim == PA_ABILITY2)
|
||||||
&& !(player->pflags & PF_DRILLING)
|
&& !(player->pflags & PF_DRILLING)
|
||||||
|
|
|
||||||
|
|
@ -754,8 +754,9 @@ static void R_DrawVisSprite(vissprite_t *vis)
|
||||||
if (!(vis->cut & SC_PRECIP) && vis->mobj->colorized)
|
if (!(vis->cut & SC_PRECIP) && vis->mobj->colorized)
|
||||||
dc_translation = R_GetTranslationColormap(TC_RAINBOW, vis->mobj->color, GTC_CACHE);
|
dc_translation = R_GetTranslationColormap(TC_RAINBOW, vis->mobj->color, GTC_CACHE);
|
||||||
else if (!(vis->cut & SC_PRECIP)
|
else if (!(vis->cut & SC_PRECIP)
|
||||||
&& vis->mobj->player && vis->mobj->player->dashmode >= 108 && vis->mobj->player->charflags & SF_MACHINE
|
&& vis->mobj->player && vis->mobj->player->dashmode >= DASHMODE_THRESHOLD
|
||||||
&&((leveltime/2) & 1))
|
&& vis->mobj->player->charflags & (SF_DASHMODE|SF_MACHINE) == (SF_DASHMODE|SF_MACHINE)
|
||||||
|
&& ((leveltime/2) & 1))
|
||||||
{
|
{
|
||||||
dc_translation = R_GetTranslationColormap(TC_DASHMODE, 0, GTC_CACHE);
|
dc_translation = R_GetTranslationColormap(TC_DASHMODE, 0, GTC_CACHE);
|
||||||
}
|
}
|
||||||
|
|
@ -781,8 +782,9 @@ static void R_DrawVisSprite(vissprite_t *vis)
|
||||||
if (!(vis->cut & SC_PRECIP) && vis->mobj->colorized)
|
if (!(vis->cut & SC_PRECIP) && vis->mobj->colorized)
|
||||||
dc_translation = R_GetTranslationColormap(TC_RAINBOW, vis->mobj->color, GTC_CACHE);
|
dc_translation = R_GetTranslationColormap(TC_RAINBOW, vis->mobj->color, GTC_CACHE);
|
||||||
else if (!(vis->cut & SC_PRECIP)
|
else if (!(vis->cut & SC_PRECIP)
|
||||||
&& vis->mobj->player && vis->mobj->player->dashmode >= 108 && vis->mobj->player->charflags & SF_MACHINE
|
&& vis->mobj->player && vis->mobj->player->dashmode >= DASHMODE_THRESHOLD
|
||||||
&&((leveltime/2) & 1))
|
&& vis->mobj->player->charflags & (SF_DASHMODE|SF_MACHINE) == (SF_DASHMODE|SF_MACHINE)
|
||||||
|
&& ((leveltime/2) & 1))
|
||||||
{
|
{
|
||||||
dc_translation = R_GetTranslationColormap(TC_DASHMODE, 0, GTC_CACHE);
|
dc_translation = R_GetTranslationColormap(TC_DASHMODE, 0, GTC_CACHE);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue