diff --git a/src/dehacked.c b/src/dehacked.c index f9cd3e962..2915fef2f 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -6591,14 +6591,30 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_DRIFTEXPLODE8", // Drift boost clip - "S_DRIFTCLIP1", - "S_DRIFTCLIP2", - "S_DRIFTCLIP3", - "S_DRIFTCLIP4", - "S_DRIFTCLIP5", - "S_DRIFTCLIP6", - "S_DRIFTCLIP7", - "S_DRIFTCLIP8", + "S_DRIFTCLIPA1", + "S_DRIFTCLIPA2", + "S_DRIFTCLIPA3", + "S_DRIFTCLIPA4", + "S_DRIFTCLIPA5", + "S_DRIFTCLIPA6", + "S_DRIFTCLIPA7", + "S_DRIFTCLIPA8", + "S_DRIFTCLIPA9", + "S_DRIFTCLIPA10", + "S_DRIFTCLIPA11", + "S_DRIFTCLIPA12", + "S_DRIFTCLIPA13", + "S_DRIFTCLIPA14", + "S_DRIFTCLIPA15", + "S_DRIFTCLIPA16", + "S_DRIFTCLIPB1", + "S_DRIFTCLIPB2", + "S_DRIFTCLIPB3", + "S_DRIFTCLIPB4", + "S_DRIFTCLIPB5", + "S_DRIFTCLIPB6", + "S_DRIFTCLIPB7", + "S_DRIFTCLIPB8", // Drift boost clip spark "S_DRIFTCLIPSPARK", diff --git a/src/info.c b/src/info.c index a4c67cb8a..e67a7be69 100644 --- a/src/info.c +++ b/src/info.c @@ -2569,14 +2569,31 @@ state_t states[NUMSTATES] = {SPR_DBOS, FF_FULLBRIGHT|3, 1, {NULL}, 6, 1, S_DRIFTEXPLODE8}, // S_DRIFTEXPLODE7 {SPR_DBST, FF_PAPERSPRITE|FF_FULLBRIGHT|3, 1, {NULL}, 6, 1, S_DRIFTEXPLODE1}, // S_DRIFTEXPLODE8 - {SPR_DBCL, FF_FULLBRIGHT, 2, {NULL}, 6, 1, S_DRIFTCLIP2}, // S_DRIFTCLIP1 - {SPR_DBCL, FF_FULLBRIGHT|1, 2, {NULL}, 6, 1, S_DRIFTCLIP3}, // S_DRIFTCLIP2 - {SPR_DBCL, FF_FULLBRIGHT|2, 2, {NULL}, 6, 1, S_DRIFTCLIP4}, // S_DRIFTCLIP3 - {SPR_DBCL, FF_FULLBRIGHT|3, 2, {NULL}, 6, 1, S_DRIFTCLIP5}, // S_DRIFTCLIP4 - {SPR_DBCL, FF_FULLBRIGHT|4, 2, {NULL}, 6, 1, S_DRIFTCLIP6}, // S_DRIFTCLIP5 - {SPR_DBCL, FF_FULLBRIGHT|5, 2, {NULL}, 6, 1, S_DRIFTCLIP7}, // S_DRIFTCLIP6 - {SPR_DBCL, FF_FULLBRIGHT|6, 2, {NULL}, 6, 1, S_DRIFTCLIP8}, // S_DRIFTCLIP7 - {SPR_DBCL, FF_FULLBRIGHT|7, 2, {NULL}, 6, 1, S_DRIFTCLIP1}, // S_DRIFTCLIP8 + {SPR_DBCL, FF_FULLBRIGHT|0x0, 1, {NULL}, 6, 1, S_DRIFTCLIPA2}, // S_DRIFTCLIPA1 + {SPR_DBCL, FF_FULLBRIGHT|0x8, 1, {NULL}, 6, 1, S_DRIFTCLIPA3}, // S_DRIFTCLIPA2 + {SPR_DBCL, FF_FULLBRIGHT|0x1, 1, {NULL}, 6, 1, S_DRIFTCLIPA4}, // S_DRIFTCLIPA3 + {SPR_DBCL, FF_FULLBRIGHT|0x9, 1, {NULL}, 6, 1, S_DRIFTCLIPA5}, // S_DRIFTCLIPA4 + {SPR_DBCL, FF_FULLBRIGHT|0x2, 1, {NULL}, 6, 1, S_DRIFTCLIPA6}, // S_DRIFTCLIPA5 + {SPR_DBCL, FF_FULLBRIGHT|0xA, 1, {NULL}, 6, 1, S_DRIFTCLIPA7}, // S_DRIFTCLIPA6 + {SPR_DBCL, FF_FULLBRIGHT|0x3, 1, {NULL}, 6, 1, S_DRIFTCLIPA8}, // S_DRIFTCLIPA7 + {SPR_DBCL, FF_FULLBRIGHT|0xB, 1, {NULL}, 6, 1, S_DRIFTCLIPA9}, // S_DRIFTCLIPA8 + {SPR_DBCL, FF_FULLBRIGHT|0x4, 1, {NULL}, 6, 1, S_DRIFTCLIPA10}, // S_DRIFTCLIPA9 + {SPR_DBCL, FF_FULLBRIGHT|0xC, 1, {NULL}, 6, 1, S_DRIFTCLIPA11}, // S_DRIFTCLIPA10 + {SPR_DBCL, FF_FULLBRIGHT|0x5, 1, {NULL}, 6, 1, S_DRIFTCLIPA12}, // S_DRIFTCLIPA11 + {SPR_DBCL, FF_FULLBRIGHT|0xD, 1, {NULL}, 6, 1, S_DRIFTCLIPA13}, // S_DRIFTCLIPA12 + {SPR_DBCL, FF_FULLBRIGHT|0x6, 1, {NULL}, 6, 1, S_DRIFTCLIPA14}, // S_DRIFTCLIPA13 + {SPR_DBCL, FF_FULLBRIGHT|0xE, 1, {NULL}, 6, 1, S_DRIFTCLIPA15}, // S_DRIFTCLIPA14 + {SPR_DBCL, FF_FULLBRIGHT|0x7, 1, {NULL}, 6, 1, S_DRIFTCLIPA16}, // S_DRIFTCLIPA15 + {SPR_DBCL, FF_FULLBRIGHT|0xF, 1, {NULL}, 6, 1, S_DRIFTCLIPB1}, // S_DRIFTCLIPA16 + + {SPR_DBCL, FF_FULLBRIGHT, 2, {NULL}, 6, 1, S_DRIFTCLIPB2}, // S_DRIFTCLIPB1 + {SPR_DBCL, FF_FULLBRIGHT|1, 2, {NULL}, 6, 1, S_DRIFTCLIPB3}, // S_DRIFTCLIPB2 + {SPR_DBCL, FF_FULLBRIGHT|2, 2, {NULL}, 6, 1, S_DRIFTCLIPB4}, // S_DRIFTCLIPB3 + {SPR_DBCL, FF_FULLBRIGHT|3, 2, {NULL}, 6, 1, S_DRIFTCLIPB5}, // S_DRIFTCLIPB4 + {SPR_DBCL, FF_FULLBRIGHT|4, 2, {NULL}, 6, 1, S_DRIFTCLIPB6}, // S_DRIFTCLIPB5 + {SPR_DBCL, FF_FULLBRIGHT|5, 2, {NULL}, 6, 1, S_DRIFTCLIPB7}, // S_DRIFTCLIPB6 + {SPR_DBCL, FF_FULLBRIGHT|6, 2, {NULL}, 6, 1, S_DRIFTCLIPB8}, // S_DRIFTCLIPB7 + {SPR_DBCL, FF_FULLBRIGHT|7, 2, {NULL}, 6, 1, S_DRIFTCLIPB1}, // S_DRIFTCLIPB8 {SPR_DBNC, FF_FULLBRIGHT|FF_ANIMATE, 14, {NULL}, 6, 1, S_NULL}, // S_DRIFTCLIPSPARK @@ -15363,7 +15380,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = { // MT_DRIFTCLIP -1, // doomednum - S_DRIFTCLIP1, // spawnstate + S_DRIFTCLIPA1, // spawnstate 1000, // spawnhealth S_NULL, // seestate sfx_None, // seesound @@ -15377,7 +15394,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL, // deathstate S_NULL, // xdeathstate sfx_None, // deathsound - 8, // speed + 105, // speed 32*FRACUNIT, // radius 64*FRACUNIT, // height 1, // display offset diff --git a/src/info.h b/src/info.h index 00c8b863a..e34e7bd53 100644 --- a/src/info.h +++ b/src/info.h @@ -3256,14 +3256,30 @@ typedef enum state S_DRIFTEXPLODE8, // Drift boost clip - S_DRIFTCLIP1, - S_DRIFTCLIP2, - S_DRIFTCLIP3, - S_DRIFTCLIP4, - S_DRIFTCLIP5, - S_DRIFTCLIP6, - S_DRIFTCLIP7, - S_DRIFTCLIP8, + S_DRIFTCLIPA1, + S_DRIFTCLIPA2, + S_DRIFTCLIPA3, + S_DRIFTCLIPA4, + S_DRIFTCLIPA5, + S_DRIFTCLIPA6, + S_DRIFTCLIPA7, + S_DRIFTCLIPA8, + S_DRIFTCLIPA9, + S_DRIFTCLIPA10, + S_DRIFTCLIPA11, + S_DRIFTCLIPA12, + S_DRIFTCLIPA13, + S_DRIFTCLIPA14, + S_DRIFTCLIPA15, + S_DRIFTCLIPA16, + S_DRIFTCLIPB1, + S_DRIFTCLIPB2, + S_DRIFTCLIPB3, + S_DRIFTCLIPB4, + S_DRIFTCLIPB5, + S_DRIFTCLIPB6, + S_DRIFTCLIPB7, + S_DRIFTCLIPB8, // Drift boost clip sparks S_DRIFTCLIPSPARK, diff --git a/src/k_kart.c b/src/k_kart.c index 495e2ca2d..804d9034c 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -1670,7 +1670,7 @@ void K_SpawnDriftBoostClip(player_t *player) K_MatchGenericExtraFlags(clip, player->mo); clip->fuse = 105; - clip->momz = 4 * clip->scale; + clip->momz = 7 * clip->scale; P_InstaThrust(clip, player->mo->angle + K_RandomFlip(P_RandomRange(FRACUNIT/2, FRACUNIT)), diff --git a/src/p_mobj.c b/src/p_mobj.c index e65d4aef1..40756214a 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -10795,6 +10795,9 @@ static void P_DefaultMobjShadowScale(mobj_t *thing) case MT_FLOATINGITEM: thing->shadowscale = FRACUNIT/2; break; + case MT_DRIFTCLIP: + thing->shadowscale = FRACUNIT/3; + break; default: if (thing->flags & (MF_ENEMY|MF_BOSS)) thing->shadowscale = FRACUNIT;