From 5d91028c55878d9c39703678daec7be6f528fe10 Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Mon, 18 Jun 2018 21:52:26 -0400 Subject: [PATCH] Finished Jawz, item odds changes, sound effect distance increases --- src/dehacked.c | 10 ++++++++- src/info.c | 58 +++++++++++++++++++++++++++++--------------------- src/info.h | 10 ++++++++- src/k_kart.c | 20 ++++++++--------- src/p_enemy.c | 41 ++++++++++++++++++++++++++++++++++- src/p_inter.c | 17 +++++++-------- src/p_mobj.c | 7 ++++-- src/sounds.c | 16 +++++++------- 8 files changed, 123 insertions(+), 56 deletions(-) diff --git a/src/dehacked.c b/src/dehacked.c index 1078da51a..299ec4b34 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -1825,6 +1825,7 @@ static actionpointer_t actionpointers[] = {{A_ToggleFlameJet}, "A_TOGGLEFLAMEJET"}, {{A_ItemPop}, "A_ITEMPOP"}, // SRB2kart {{A_JawzChase}, "A_JAWZCHASE"}, // SRB2kart + {{A_JawzExplode}, "A_JAWZEXPLODE"}, // SRB2kart {{A_MineExplode}, "A_MINEEXPLODE"}, // SRB2kart {{A_OrbitNights}, "A_ORBITNIGHTS"}, {{A_GhostMe}, "A_GHOSTME"}, @@ -6331,19 +6332,26 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_JAWZ4", "S_JAWZ5", "S_JAWZ6", + "S_JAWZ7", + "S_JAWZ8", "S_JAWZ_DUD1", "S_JAWZ_DUD2", "S_JAWZ_DUD3", "S_JAWZ_DUD4", "S_JAWZ_DUD5", "S_JAWZ_DUD6", + "S_JAWZ_DUD7", + "S_JAWZ_DUD8", "S_JAWZ_SHIELD1", "S_JAWZ_SHIELD2", "S_JAWZ_SHIELD3", "S_JAWZ_SHIELD4", "S_JAWZ_SHIELD5", "S_JAWZ_SHIELD6", - "S_JAWZ_DEAD", + "S_JAWZ_SHIELD7", + "S_JAWZ_SHIELD8", + "S_JAWZ_DEAD1", + "S_JAWZ_DEAD2", //} "S_FIRETRAIL1", diff --git a/src/info.c b/src/info.c index 89ad9b4ca..aa7267f64 100644 --- a/src/info.c +++ b/src/info.c @@ -2657,24 +2657,34 @@ state_t states[NUMSTATES] = {SPR_GSHE, 8, 175, {NULL}, 0, 0, S_NULL}, // S_DEADGREEN {SPR_JAWZ, 0, 1, {A_JawzChase}, 0, 0, S_JAWZ2}, // S_JAWZ1 - {SPR_JAWZ, 3, 1, {A_JawzChase}, 0, 0, S_JAWZ3}, // S_JAWZ2 + {SPR_JAWZ, 4, 1, {A_JawzChase}, 0, 0, S_JAWZ3}, // S_JAWZ2 {SPR_JAWZ, 1, 1, {A_JawzChase}, 0, 0, S_JAWZ4}, // S_JAWZ3 - {SPR_JAWZ, 3, 1, {A_JawzChase}, 0, 0, S_JAWZ5}, // S_JAWZ4 + {SPR_JAWZ, 4, 1, {A_JawzChase}, 0, 0, S_JAWZ5}, // S_JAWZ4 {SPR_JAWZ, 2, 1, {A_JawzChase}, 0, 0, S_JAWZ6}, // S_JAWZ5 - {SPR_JAWZ, 3, 1, {A_JawzChase}, 0, 0, S_JAWZ1}, // S_JAWZ6 - {SPR_JAWZ, 0, 1, {NULL}, 0, 0, S_JAWZ_DUD2}, // S_JAWZ_DUD1 - {SPR_JAWZ, 3, 1, {NULL}, 0, 0, S_JAWZ_DUD3}, // S_JAWZ_DUD2 - {SPR_JAWZ, 1, 1, {NULL}, 0, 0, S_JAWZ_DUD4}, // S_JAWZ_DUD3 - {SPR_JAWZ, 3, 1, {NULL}, 0, 0, S_JAWZ_DUD5}, // S_JAWZ_DUD4 - {SPR_JAWZ, 2, 1, {NULL}, 0, 0, S_JAWZ_DUD6}, // S_JAWZ_DUD5 - {SPR_JAWZ, 3, 1, {NULL}, 0, 0, S_JAWZ_DUD1}, // S_JAWZ_DUD6 - {SPR_JAWZ, 4, 1, {NULL}, 0, 0, S_JAWZ_SHIELD2}, // S_JAWZ_SHIELD1 - {SPR_JAWZ, 7, 1, {NULL}, 0, 0, S_JAWZ_SHIELD3}, // S_JAWZ_SHIELD2 - {SPR_JAWZ, 5, 1, {NULL}, 0, 0, S_JAWZ_SHIELD4}, // S_JAWZ_SHIELD3 - {SPR_JAWZ, 7, 1, {NULL}, 0, 0, S_JAWZ_SHIELD5}, // S_JAWZ_SHIELD4 - {SPR_JAWZ, 6, 1, {NULL}, 0, 0, S_JAWZ_SHIELD6}, // S_JAWZ_SHIELD5 - {SPR_JAWZ, 7, 1, {NULL}, 0, 0, S_JAWZ_SHIELD1}, // S_JAWZ_SHIELD6 - {SPR_JAWZ, 8, 175, {NULL}, 0, 0, S_NULL}, // S_JAWZ_DEAD + {SPR_JAWZ, 4, 1, {A_JawzChase}, 0, 0, S_JAWZ7}, // S_JAWZ6 + {SPR_JAWZ, 3, 1, {A_JawzChase}, 0, 0, S_JAWZ8}, // S_JAWZ7 + {SPR_JAWZ, 4, 1, {A_JawzChase}, 0, 0, S_JAWZ1}, // S_JAWZ8 + + {SPR_JAWZ, 0, 1, {NULL}, 0, 0, S_JAWZ_DUD2}, // S_JAWZ_DUD1 + {SPR_JAWZ, 4, 1, {NULL}, 0, 0, S_JAWZ_DUD3}, // S_JAWZ_DUD2 + {SPR_JAWZ, 1, 1, {NULL}, 0, 0, S_JAWZ_DUD4}, // S_JAWZ_DUD3 + {SPR_JAWZ, 4, 1, {NULL}, 0, 0, S_JAWZ_DUD5}, // S_JAWZ_DUD4 + {SPR_JAWZ, 2, 1, {NULL}, 0, 0, S_JAWZ_DUD6}, // S_JAWZ_DUD5 + {SPR_JAWZ, 4, 1, {NULL}, 0, 0, S_JAWZ_DUD7}, // S_JAWZ_DUD6 + {SPR_JAWZ, 3, 1, {NULL}, 0, 0, S_JAWZ_DUD8}, // S_JAWZ_DUD7 + {SPR_JAWZ, 4, 1, {NULL}, 0, 0, S_JAWZ_DUD1}, // S_JAWZ_DUD8 + + {SPR_JAWZ, 0, 1, {NULL}, 0, 0, S_JAWZ_SHIELD2}, // S_JAWZ_SHIELD1 + {SPR_JAWZ, 4, 1, {NULL}, 0, 0, S_JAWZ_SHIELD3}, // S_JAWZ_SHIELD2 + {SPR_JAWZ, 1, 1, {NULL}, 0, 0, S_JAWZ_SHIELD4}, // S_JAWZ_SHIELD3 + {SPR_JAWZ, 4, 1, {NULL}, 0, 0, S_JAWZ_SHIELD5}, // S_JAWZ_SHIELD4 + {SPR_JAWZ, 2, 1, {NULL}, 0, 0, S_JAWZ_SHIELD6}, // S_JAWZ_SHIELD5 + {SPR_JAWZ, 4, 1, {NULL}, 0, 0, S_JAWZ_SHIELD7}, // S_JAWZ_SHIELD6 + {SPR_JAWZ, 3, 1, {NULL}, 0, 0, S_JAWZ_SHIELD8}, // S_JAWZ_SHIELD7 + {SPR_JAWZ, 4, 1, {NULL}, 0, 0, S_JAWZ_SHIELD1}, // S_JAWZ_SHIELD8 + + {SPR_JAWZ, 5, 175, {NULL}, 0, 0, S_JAWZ_DEAD2}, // S_JAWZ_DEAD1 + {SPR_NULL, 0, 1, {A_JawzExplode}, 0, 0, S_NULL}, // S_JAWZ_DEAD2 {SPR_FBLL, 13, 3, {NULL}, 0, 0, S_FIRETRAIL2}, // S_FIRETRAIL1 {SPR_FBLL, 14, 3, {NULL}, 0, 0, S_FIRETRAIL3}, // S_FIRETRAIL2 @@ -14646,8 +14656,8 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = sfx_None, // painsound S_NULL, // meleestate S_NULL, // missilestate - S_JAWZ_DEAD, // deathstate - S_NULL, // xdeathstate + S_JAWZ_DEAD1, // deathstate + S_JAWZ_DEAD2, // xdeathstate sfx_shbrk, // deathsound 7*FRACUNIT, // speed 16*FRACUNIT, // radius @@ -14655,7 +14665,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 0, // display offset 100, // mass 1, // damage - sfx_redshl, // activesound + sfx_s3kc0s, // activesound MF_SHOOTABLE, // flags S_NULL // raisestate }, @@ -14673,8 +14683,8 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = sfx_None, // painsound S_NULL, // meleestate S_NULL, // missilestate - S_JAWZ_DEAD, // deathstate - S_NULL, // xdeathstate + S_JAWZ_DEAD1, // deathstate + S_JAWZ_DEAD2, // xdeathstate sfx_shbrk, // deathsound 56*FRACUNIT, // speed 16*FRACUNIT, // radius @@ -14682,7 +14692,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 0, // display offset 100, // mass 1, // damage - sfx_redshl, // activesound + sfx_s3kc0s, // activesound MF_SHOOTABLE, // flags S_NULL // raisestate }, @@ -14700,8 +14710,8 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = sfx_None, // painsound S_NULL, // meleestate S_NULL, // missilestate - S_JAWZ_DEAD, // deathstate - S_NULL, // xdeathstate + S_JAWZ_DEAD1, // deathstate + S_JAWZ_DEAD2, // xdeathstate sfx_None, // deathsound 10*FRACUNIT, // speed 16*FRACUNIT, // radius diff --git a/src/info.h b/src/info.h index 3a02f63cf..ed1c53a79 100644 --- a/src/info.h +++ b/src/info.h @@ -165,6 +165,7 @@ void A_RemoteAction(); void A_ToggleFlameJet(); void A_ItemPop(); // SRB2kart void A_JawzChase(); // SRB2kart +void A_JawzExplode(); // SRB2kart void A_MineExplode(); // SRB2kart void A_OrbitNights(); void A_GhostMe(); @@ -3173,19 +3174,26 @@ typedef enum state S_JAWZ4, S_JAWZ5, S_JAWZ6, + S_JAWZ7, + S_JAWZ8, S_JAWZ_DUD1, S_JAWZ_DUD2, S_JAWZ_DUD3, S_JAWZ_DUD4, S_JAWZ_DUD5, S_JAWZ_DUD6, + S_JAWZ_DUD7, + S_JAWZ_DUD8, S_JAWZ_SHIELD1, S_JAWZ_SHIELD2, S_JAWZ_SHIELD3, S_JAWZ_SHIELD4, S_JAWZ_SHIELD5, S_JAWZ_SHIELD6, - S_JAWZ_DEAD, + S_JAWZ_SHIELD7, + S_JAWZ_SHIELD8, + S_JAWZ_DEAD1, + S_JAWZ_DEAD2, //} S_FIRETRAIL1, diff --git a/src/k_kart.c b/src/k_kart.c index b5486c77b..0bda11870 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -367,23 +367,23 @@ boolean K_IsPlayerLosing(player_t *player) static INT32 K_KartItemOddsRace[NUMKARTRESULTS][9] = { //P-Odds 0 1 2 3 4 5 6 7 8 - /*Sneaker*/ {20, 0, 0, 3, 6, 6, 0, 0, 0 }, // Sneaker - /*Rocket Sneaker*/ { 0, 0, 0, 0, 0, 3, 5, 4, 0 }, // Rocket Sneaker + /*Sneaker*/ {20, 0, 0, 3, 6, 5, 0, 0, 0 }, // Sneaker + /*Rocket Sneaker*/ { 0, 0, 0, 0, 0, 3, 4, 5, 0 }, // Rocket Sneaker /*Invincibility*/ { 0, 0, 0, 0, 0, 1, 6, 9,16 }, // Invincibility /*Banana*/ { 0, 8, 4, 2, 1, 0, 0, 0, 0 }, // Banana - /*Eggman Monitor*/ { 0, 4, 2, 1, 0, 0, 0, 0, 0 }, // Eggman Monitor - /*Orbinaut*/ { 0, 6, 4, 3, 2, 0, 0, 0, 0 }, // Orbinaut + /*Eggman Monitor*/ { 0, 4, 3, 2, 0, 0, 0, 0, 0 }, // Eggman Monitor + /*Orbinaut*/ { 0, 6, 5, 4, 2, 0, 0, 0, 0 }, // Orbinaut /*Jawz*/ { 0, 0, 3, 2, 2, 1, 0, 0, 0 }, // Jawz /*Mine*/ { 0, 1, 1, 2, 1, 0, 0, 0, 0 }, // Mine /*Ballhog*/ { 0, 0, 1, 2, 1, 0, 0, 0, 0 }, // Ballhog - /*Self-Propelled Bomb*/ { 0, 0, 0, 1, 2, 3, 3, 2, 1 }, // Self-Propelled Bomb + /*Self-Propelled Bomb*/ { 0, 0, 1, 1, 2, 3, 4, 3, 2 }, // Self-Propelled Bomb /*Grow*/ { 0, 0, 0, 0, 0, 0, 1, 1, 2 }, // Grow - /*Shrink*/ { 0, 0, 0, 0, 0, 0, 1, 2, 2 }, // Shrink + /*Shrink*/ { 0, 0, 0, 0, 0, 0, 1, 1, 2 }, // Shrink /*Lightning Shield*/ { 0, 1, 2, 0, 0, 0, 0, 0, 0 }, // Lightning Shield - /*Hyudoro*/ { 0, 0, 2, 2, 1, 0, 0, 0, 0 }, // Hyudoro + /*Hyudoro*/ { 0, 0, 0, 0, 1, 2, 1, 0, 0 }, // Hyudoro /*Pogo Spring*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // Pogo Spring /*Kitchen Sink*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // Kitchen Sink - /*Sneaker x3*/ { 0, 0, 0, 0, 3, 8, 7, 4, 0 }, // Sneaker x3 + /*Sneaker x3*/ { 0, 0, 0, 0, 3, 7, 7, 4, 0 }, // Sneaker x3 /*Banana x3*/ { 0, 0, 1, 1, 0, 0, 0, 0, 0 }, // Banana x3 /*Banana x10*/ { 0, 0, 0, 0, 1, 0, 0, 0, 0 }, // Banana x10 /*Orbinaut x3*/ { 0, 0, 0, 1, 1, 1, 0, 0, 0 }, // Orbinaut x3 @@ -409,9 +409,9 @@ static INT32 K_KartItemOddsBattle[NUMKARTRESULTS][6] = /*Hyudoro*/ { 0, 0, 1, 1, 0, 0 }, // Hyudoro /*Pogo Spring*/ { 0, 0, 1, 2, 0, 0 }, // Pogo Spring /*Kitchen Sink*/ { 0, 0, 0, 0, 0, 0 }, // Kitchen Sink - /*Sneaker x3*/ { 3, 0, 0, 0, 0, 2 }, // Sneaker x3 + /*Sneaker x3*/ { 2, 0, 0, 0, 0, 2 }, // Sneaker x3 /*Banana x3*/ { 0, 2, 2, 1, 1, 2 }, // Banana x3 - /*Banana x10*/ { 0, 0, 0, 0, 0, 0 }, // Banana x10 + /*Banana x10*/ { 1, 0, 0, 0, 0, 0 }, // Banana x10 /*Orbinaut x3*/ { 0, 3, 1, 1, 0, 2 }, // Orbinaut x3 /*Jawz x2*/ { 3, 2, 0, 0, 0, 2 } // Jawz x2 }; diff --git a/src/p_enemy.c b/src/p_enemy.c index b7349fdbe..08aeabcd0 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -189,6 +189,7 @@ void A_RemoteAction(mobj_t *actor); void A_ToggleFlameJet(mobj_t *actor); void A_ItemPop(mobj_t *actor); // SRB2kart void A_JawzChase(mobj_t *actor); // SRB2kart +void A_JawzExplode(mobj_t *actor); // SRB2kart void A_MineExplode(mobj_t *actor); // SRB2kart void A_OrbitNights(mobj_t *actor); void A_GhostMe(mobj_t *actor); @@ -8085,7 +8086,7 @@ void A_ToggleFlameJet(mobj_t* actor) } } -//{ SRB2kart - A_ItemPop, A_JawzChase and A_MineExplode +//{ SRB2kart - A_ItemPop, A_JawzChase, A_JawzExplode, and A_MineExplode void A_ItemPop(mobj_t *actor) { mobj_t *remains; @@ -8258,6 +8259,44 @@ void A_JawzChase(mobj_t *actor) } +void A_JawzExplode(mobj_t *actor) +{ + INT32 shrapnel = 2; + mobj_t *truc; + +#ifdef HAVE_BLUA + if (LUA_CallAction("A_JawzExplode", actor)) + return; +#endif + + truc = P_SpawnMobj(actor->x, actor->y, actor->z, MT_BOOMEXPLODE); + truc->scale = actor->scale; + truc->color = SKINCOLOR_RED; + + while (shrapnel) + { + INT32 speed, speed2; + + truc = P_SpawnMobj(actor->x + P_RandomRange(-8, 8)*FRACUNIT, actor->y + P_RandomRange(-8, 8)*FRACUNIT, + actor->z + P_RandomRange(0, 8)*FRACUNIT, MT_BOOMPARTICLE); + truc->scale = actor->scale; + + speed = FixedMul(7*FRACUNIT, actor->scale)>>FRACBITS; + truc->momx = P_RandomRange(-speed, speed)*FRACUNIT; + truc->momy = P_RandomRange(-speed, speed)*FRACUNIT; + + speed = FixedMul(5*FRACUNIT, actor->scale)>>FRACBITS; + speed2 = FixedMul(15*FRACUNIT, actor->scale)>>FRACBITS; + truc->momz = P_RandomRange(speed, speed2)*FRACUNIT; + truc->tics = TICRATE*2; + truc->color = SKINCOLOR_RED; + + shrapnel--; + } + + return; +} + void A_MineExplode(mobj_t *actor) { mobj_t *mo2; diff --git a/src/p_inter.c b/src/p_inter.c index 84e567bf0..9a07e933a 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -443,7 +443,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) return; else { - mobj_t *boom = P_SpawnMobj(special->target->x, special->target->y, special->target->z, MT_BOOMPARTICLE); + mobj_t *boom = P_SpawnMobj(special->target->x, special->target->y, special->target->z, MT_BOOMEXPLODE); boom->scale = special->target->scale; boom->destscale = special->target->scale; boom->momz = 5*FRACUNIT; @@ -2106,7 +2106,6 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source) if (target->target->player->kartstuff[k_itemheld]) { - if ((target->type == MT_BANANA_SHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_BANANA) // trail items || (target->type == MT_SSMINE_SHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_MINE)) { @@ -2118,21 +2117,21 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source) } else target->target->player->kartstuff[k_itemamount]--; - - if (!target->target->player->kartstuff[k_itemamount]) - target->target->player->kartstuff[k_itemheld] = 0; } else if ((target->type == MT_GREENSHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_ORBINAUT) // orbit items || (target->type == MT_JAWZ_SHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_JAWZ)) { - if (target->lastlook > 0) + if (target->lastlook != 0) target->target->player->kartstuff[k_itemamount] = target->lastlook-1; else target->target->player->kartstuff[k_itemamount]--; - - if (!target->target->player->kartstuff[k_itemamount]) - target->target->player->kartstuff[k_itemheld] = 0; } + + if (target->target->player->kartstuff[k_itemamount] < 0) + target->target->player->kartstuff[k_itemamount] = 0; + + if (!target->target->player->kartstuff[k_itemamount]) + target->target->player->kartstuff[k_itemheld] = 0; } } // diff --git a/src/p_mobj.c b/src/p_mobj.c index fb1da70a5..e6255d07b 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -7463,13 +7463,16 @@ void P_MobjThinker(mobj_t *mobj) break; //{ SRB2kart Items - Death States case MT_GREENITEM: - case MT_JAWZ: - case MT_JAWZ_DUD: case MT_BANANA: case MT_FAKEITEM: if (mobj->z <= mobj->floorz) P_RemoveMobj(mobj); break; + case MT_JAWZ: + case MT_JAWZ_DUD: + if (mobj->z <= mobj->floorz) + P_SetMobjState(mobj, mobj->info->xdeathstate); + break; case MT_SSMINE: case MT_BLUEEXPLOSION: if (mobj->health > -100) diff --git a/src/sounds.c b/src/sounds.c index 5f09e525c..a06a36085 100644 --- a/src/sounds.c +++ b/src/sounds.c @@ -493,7 +493,7 @@ sfxinfo_t S_sfx[NUMSFX] = {"s3k8f", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"s3k90", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"s3k91", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"s3k92", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Kart Hyudoro use + {"s3k92", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Kart Hyudoro use {"s3k93", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"s3k94", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"s3k95", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, @@ -543,7 +543,7 @@ sfxinfo_t S_sfx[NUMSFX] = {"s3kbel", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"s3kbfs", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"s3kbfl", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"s3kc0s", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"s3kc0s", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Kart Jawz {"s3kc0l", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"s3kc1s", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"s3kc1l", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, @@ -645,7 +645,7 @@ sfxinfo_t S_sfx[NUMSFX] = {"cdfm36", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"cdfm37", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"cdfm38", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"cdfm39", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // SS Mine deployed + {"cdfm39", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // SS Mine deployed {"cdfm40", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"cdfm41", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"cdfm42", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, @@ -703,7 +703,7 @@ sfxinfo_t S_sfx[NUMSFX] = {"kc2c", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"kc2d", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"kc2e", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"kc2f", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Pogo Spring use + {"kc2f", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Pogo Spring use {"kc30", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"kc31", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"kc32", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, @@ -726,7 +726,7 @@ sfxinfo_t S_sfx[NUMSFX] = {"kc43", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"kc44", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"kc45", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"kc46", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Shrink use + {"kc46", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Shrink use {"kc47", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"kc48", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Vote picked {"kc49", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, @@ -743,10 +743,10 @@ sfxinfo_t S_sfx[NUMSFX] = {"kc54", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"kc55", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"kc56", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"kc57", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // SPB locked in + {"kc57", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // SPB locked in {"kc58", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"kc59", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Shrink - {"kc5a", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Grow + {"kc59", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Shrink + {"kc5a", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Grow {"kc5b", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"kc5c", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"kc5d", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},