diff --git a/src/d_player.h b/src/d_player.h index bd553d9fa..a39b058e2 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -44,6 +44,7 @@ typedef enum SF_STOMPDAMAGE = 1<<9, // Always damage enemies, etc by landing on them, no matter your vunerability? SF_MARIODAMAGE = SF_NOJUMPDAMAGE|SF_STOMPDAMAGE, // The Mario method of being able to damage enemies, etc. SF_MACHINE = 1<<10, // Beep boop. Are you a robot? + SF_NOSPINDASHDUST = 1<<11, // Don't spawn dust particles when charging a spindash // free up to and including 1<<31 } skinflags_t; diff --git a/src/dehacked.c b/src/dehacked.c index 25429dba3..3a8a42129 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -7060,6 +7060,7 @@ struct { {"SF_STOMPDAMAGE",SF_STOMPDAMAGE}, {"SF_MARIODAMAGE",SF_MARIODAMAGE}, {"SF_MACHINE",SF_MACHINE}, + {"SF_NOSPINDASHDUST",SF_NOSPINDASHDUST}, // Character abilities! // Primary diff --git a/src/p_user.c b/src/p_user.c index 69fdc56b0..9cab4c2cd 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -3846,7 +3846,7 @@ static void P_DoSpinAbility(player_t *player, ticcmd_t *cmd) if (player->mo->state-states != S_PLAY_DASH) P_SetPlayerMobjState(player->mo, S_PLAY_DASH); // Spawn spin dash dust - if (!(player->mo->eflags & MFE_GOOWATER)) + if (!(player->charflags & SF_NOSPINDASHDUST) && !(player->mo->eflags & MFE_GOOWATER)) P_DoSpinDashDust(player); } else if (onground && player->pflags & PF_SPINNING && !(player->panim == PA_ROLL)) diff --git a/src/r_things.c b/src/r_things.c index 9f6cad529..a55bc8582 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -2880,6 +2880,7 @@ void R_AddSkins(UINT16 wadnum) GETFLAG(STOMPDAMAGE) GETFLAG(MARIODAMAGE) GETFLAG(MACHINE) + GETFLAG(NOSPINDASHDUST) #undef GETFLAG else // let's check if it's a sound, otherwise error out