From c81665b9af3b901b449d9e932f0ffa8f452b755b Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Sun, 13 Nov 2016 22:02:29 +0000 Subject: [PATCH] Added flame version --- src/dehacked.c | 4 ++++ src/info.c | 6 ++++++ src/info.h | 5 +++++ src/p_user.c | 8 ++++---- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/dehacked.c b/src/dehacked.c index 487ef8cd9..25429dba3 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -5575,6 +5575,10 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_SPINDUST_BUBBLE2", "S_SPINDUST_BUBBLE3", "S_SPINDUST_BUBBLE4", + "S_SPINDUST_FIRE1", + "S_SPINDUST_FIRE2", + "S_SPINDUST_FIRE3", + "S_SPINDUST_FIRE4", "S_FOG1", "S_FOG2", diff --git a/src/info.c b/src/info.c index d9bf9b463..fb8291f4f 100644 --- a/src/info.c +++ b/src/info.c @@ -275,6 +275,7 @@ char sprnames[NUMSPRITES + 1][5] = "BUBL", // Bubble "WZAP", "DUST", // Spindash dust + "FPRT", // Spindash dust (flame) "TFOG", // Teleport Fog "SEED", // Sonic CD flower seed "PRTL", // Particle (for fans, etc.) @@ -2289,6 +2290,11 @@ state_t states[NUMSTATES] = {SPR_BUBL, 0, 6, {NULL}, 0, 0, S_SPINDUST_BUBBLE3}, // S_SPINDUST_BUBBLE2 {SPR_BUBL, FF_TRANS30|0, 4, {NULL}, 0, 0, S_SPINDUST_BUBBLE4}, // S_SPINDUST_BUBBLE3 {SPR_BUBL, FF_TRANS60|0, 3, {NULL}, 0, 0, S_NULL}, // S_SPINDUST_BUBBLE4 + {SPR_FPRT, 0, 7, {NULL}, 0, 0, S_SPINDUST_FIRE2}, // S_SPINDUST_FIRE1 + {SPR_FPRT, 0, 6, {NULL}, 0, 0, S_SPINDUST_FIRE3}, // S_SPINDUST_FIRE2 + {SPR_FPRT, FF_TRANS30|0, 4, {NULL}, 0, 0, S_SPINDUST_FIRE4}, // S_SPINDUST_FIRE3 + {SPR_FPRT, FF_TRANS60|0, 3, {NULL}, 0, 0, S_NULL}, // S_SPINDUST_FIRE4 + {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50, 2, {NULL}, 0, 0, S_FOG2}, // S_FOG1 {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|1, 2, {NULL}, 0, 0, S_FOG3}, // S_FOG2 diff --git a/src/info.h b/src/info.h index 4545bbbd6..d3f4ad55a 100644 --- a/src/info.h +++ b/src/info.h @@ -467,6 +467,7 @@ typedef enum sprite SPR_BUBL, // Bubble SPR_WZAP, SPR_DUST, // Spindash dust + SPR_FPRT, // Spindash dust (flame) SPR_TFOG, // Teleport Fog SPR_SEED, // Sonic CD flower seed SPR_PRTL, // Particle (for fans, etc.) @@ -2467,6 +2468,10 @@ typedef enum state S_SPINDUST_BUBBLE2, S_SPINDUST_BUBBLE3, S_SPINDUST_BUBBLE4, + S_SPINDUST_FIRE1, + S_SPINDUST_FIRE2, + S_SPINDUST_FIRE3, + S_SPINDUST_FIRE4, S_FOG1, S_FOG2, diff --git a/src/p_user.c b/src/p_user.c index 7fe015a39..69fdc56b0 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -3675,11 +3675,11 @@ static void P_DoSpinDashDust(player_t *player) for (i = 0; i <= (leveltime%7)/2; i++) { // 1, 2, 3 or 4 particles particle = P_SpawnMobjFromMobj(player->mo, 0, 0, 0, MT_SPINDUST); - /*if (player->powers[pw_shield] == SH_ELEMENTAL && !(player->mo->eflags & (MFE_TOUCHWATER|MFE_UNDERWATER))) { - P_SetMobjState(particle, S_SPINDUST_FIRE; - } else */if (player->mo->eflags & (MFE_TOUCHWATER|MFE_UNDERWATER)) { + if (player->mo->eflags & (MFE_TOUCHWATER|MFE_UNDERWATER)) // overrides fire version P_SetMobjState(particle, S_SPINDUST_BUBBLE1); - } + else if (player->powers[pw_shield] == SH_ELEMENTAL) + P_SetMobjState(particle, S_SPINDUST_FIRE1); + P_SetTarget(&particle->target, player->mo); particle->destscale = (2*player->mo->scale)/3; P_SetScale(particle, particle->destscale);