Item tweakings

- Mines last twice as long
- Mines can appear in 1st with a measly 5% chance, for maximum ass-blasting
- Mine shiiiiink sound no longer plays globally
- Thrown Bananas and Eggman Monitors bounce off walls like Mines
- Hyudoro can steal from anyone
- Halved invincibility alarm/music distance
- Getting out Orbinaut/Jawz plays a shield sound
- Using Shrink plays a devastating Chaotix sound
- SPB plays a high-pitched wail when it's locked in
- Hyudoro plays a ghosty sound when used
- Fixed Battle arrow roulette
This commit is contained in:
TehRealSalt 2018-06-15 02:18:43 -04:00
parent 3b2d156e7f
commit 788c98144f
5 changed files with 63 additions and 53 deletions

View file

@ -2685,7 +2685,7 @@ state_t states[NUMSTATES] =
{SPR_SSMN, 10, 1, {NULL}, 0, 0, S_SSMINE_DEPLOY6}, // S_SSMINE_DEPLOY5
{SPR_SSMN, 9, 1, {NULL}, 0, 0, S_SSMINE_DEPLOY7}, // S_SSMINE_DEPLOY6
{SPR_SSMN, 10, 3, {NULL}, 0, 0, S_SSMINE_DEPLOY8}, // S_SSMINE_DEPLOY7
{SPR_SSMN, 11, 1, {A_PlaySound}, sfx_cdfm39, 0, S_SSMINE_DEPLOY9}, // S_SSMINE_DEPLOY8
{SPR_SSMN, 11, 1, {A_PlaySound}, sfx_cdfm39, 1, S_SSMINE_DEPLOY9}, // S_SSMINE_DEPLOY8
{SPR_SSMN, 10, 1, {NULL}, 0, 0, S_SSMINE_DEPLOY10}, // S_SSMINE_DEPLOY9
{SPR_SSMN, 11, 3, {NULL}, 0, 0, S_SSMINE_DEPLOY11}, // S_SSMINE_DEPLOY10
{SPR_SSMN, 12, 3, {NULL}, 0, 0, S_SSMINE_DEPLOY12}, // S_SSMINE_DEPLOY11
@ -14477,7 +14477,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass
1, // damage
sfx_fake, // activesound
MF_SHOOTABLE, // flags
MF_BOUNCE|MF_SHOOTABLE, // flags
S_NULL // raisestate
},
@ -14504,7 +14504,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass
1, // damage
sfx_peel, // activesound
MF_SHOOTABLE, // flags
MF_BOUNCE|MF_SHOOTABLE, // flags
S_NULL // raisestate
},
@ -14698,30 +14698,30 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
},
{ // MT_SSMINE
-1, // doomednum
S_SSMINE_AIR1, // spawnstate
1, // spawnhealth
S_NULL, // seestate
sfx_tossed, // seesound
105, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
288*FRACUNIT, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_SSMINE_EXPLODE, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
16*FRACUNIT, // radius
24*FRACUNIT, // height
0, // display offset
100, // mass
1, // damage
sfx_bomb, // activesound
MF_BOUNCE|MF_SHOOTABLE, // flags
S_NULL // raisestate
-1, // doomednum
S_SSMINE_AIR1, // spawnstate
1, // spawnhealth
S_NULL, // seestate
sfx_tossed, // seesound
6*TICRATE, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
288*FRACUNIT, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_SSMINE_EXPLODE, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
16*FRACUNIT, // radius
24*FRACUNIT, // height
0, // display offset
100, // mass
1, // damage
sfx_bomb, // activesound
MF_BOUNCE|MF_SHOOTABLE, // flags
S_NULL // raisestate
},
{ // MT_SSMINE_SHIELD

View file

@ -369,13 +369,13 @@ static INT32 K_KartItemOddsRace[NUMKARTRESULTS][9] =
/*Sneaker*/ {20, 0, 0, 3, 7, 6, 0, 0, 0 }, // Sneaker
/*Rocket Sneaker*/ { 0, 0, 0, 0, 0, 3, 5, 4, 0 }, // Rocket Sneaker
/*Invincibility*/ { 0, 0, 0, 0, 0, 1, 6, 9,16 }, // Invincibility
/*Banana*/ { 0, 9, 4, 2, 1, 0, 0, 0, 0 }, // Banana
/*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
/*Jawz*/ { 0, 0, 3, 2, 2, 1, 0, 0, 0 }, // Jawz
/*Mine*/ { 0, 0, 1, 2, 1, 0, 0, 0, 0 }, // Mine
/*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, 2, 1, 0, 0 }, // Self-Propelled Bomb
/*Self-Propelled Bomb*/ { 0, 0, 1, 1, 2, 3, 2, 1, 0 }, // 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
/*Lightning Shield*/ { 0, 1, 2, 0, 0, 0, 0, 0, 0 }, // Lightning Shield
@ -1446,7 +1446,7 @@ void K_SquishPlayer(player_t *player, mobj_t *source)
player->kartstuff[k_comebacktimer] = comebacktime;
player->kartstuff[k_squishedtimer] = 1*TICRATE;
player->kartstuff[k_squishedtimer] = TICRATE;
player->powers[pw_flashing] = K_GetKartFlashing();
@ -2184,7 +2184,7 @@ static void K_DoHyudoroSteal(player_t *player)
&& player != &players[i] && !players[i].exiting && !players[i].spectator // Player in-game
// Can steal from this player
&& ((G_RaceGametype() && players[i].kartstuff[k_position] < player->kartstuff[k_position])
&& (G_RaceGametype() //&& players[i].kartstuff[k_position] < player->kartstuff[k_position])
|| (G_BattleGametype() && players[i].kartstuff[k_balloon] > 0))
// Has an item
@ -2198,6 +2198,7 @@ static void K_DoHyudoroSteal(player_t *player)
}
prandom = P_RandomFixed();
S_StartSound(player->mo, sfx_s3k92);
if ((G_RaceGametype() && player->kartstuff[k_position] == 1) || numplayers == 0) // No-one can be stolen from? Get longer invisibility for nothing
{
@ -2227,6 +2228,9 @@ static void K_DoHyudoroSteal(player_t *player)
players[stealplayer].kartstuff[k_itemtype] = KITEM_NONE;
players[stealplayer].kartstuff[k_itemamount] = 0;
players[stealplayer].kartstuff[k_itemheld] = 0;
if (P_IsLocalPlayer(players[stealplayer]) && !splitscreen)
S_StartSound(NULL, sfx_s3k92);
}
}
@ -2247,7 +2251,7 @@ static void K_DoShrink(player_t *player)
{
INT32 i;
//S_StartSound(player->mo, sfx_bkpoof); // Sound the BANG!
S_StartSound(player->mo, sfx_kc46); // Sound the BANG!
player->pflags |= PF_ATTACKDOWN;
for (i = 0; i < MAXPLAYERS; i++)
@ -2505,7 +2509,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
S_StopSoundByID(player->mo, sfx_kgrow); // Stop it
}
// AAAAAAND handle the SMK star alarm
// AAAAAAND handle the invincibility alarm
if (player->mo->health > 0 && (player->mo->player->kartstuff[k_invincibilitytimer] > 0
|| player->mo->player->kartstuff[k_growshrinktimer] > 0))
{
@ -2965,11 +2969,9 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
overlay->destscale = player->mo->scale;
P_SetScale(overlay, player->mo->scale);
}
player->kartstuff[k_invincibilitytimer] = itemtime; // Activate it
player->kartstuff[k_invincibilitytimer] = itemtime+(2*TICRATE); // 10 seconds
K_PlayTauntSound(player->mo);
player->kartstuff[k_itemamount]--;
if (gametype != GT_RACE)
player->kartstuff[k_poweritemtimer] = 10*TICRATE;
player->pflags |= PF_ATTACKDOWN;
}
break;
@ -3087,7 +3089,8 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
player->kartstuff[k_itemheld] = 2;
player->pflags |= PF_ATTACKDOWN;
K_PlayTauntSound(player->mo);
//K_PlayTauntSound(player->mo);
S_StartSound(player->mo, sfx_s3k3a);
for (moloop = 0; moloop < player->kartstuff[k_itemamount]; moloop++)
{
@ -3154,7 +3157,8 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
player->kartstuff[k_itemheld] = 2;
player->pflags |= PF_ATTACKDOWN;
K_PlayTauntSound(player->mo);
//K_PlayTauntSound(player->mo);
S_StartSound(player->mo, sfx_s3k3a);
for (moloop = 0; moloop < player->kartstuff[k_itemamount]; moloop++)
{
@ -3284,12 +3288,10 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
K_PlayTauntSound(player->mo);
player->mo->scalespeed = FRACUNIT/TICRATE;
player->mo->destscale = 3*(mapheaderinfo[gamemap-1]->mobj_scale)/2;
player->kartstuff[k_growshrinktimer] = itemtime;
player->kartstuff[k_growshrinktimer] = itemtime+(4*TICRATE); // 12 seconds
S_StartSound(player->mo, sfx_kc5a);
player->pflags |= PF_ATTACKDOWN;
player->kartstuff[k_itemamount]--;
if (gametype != GT_RACE)
player->kartstuff[k_poweritemtimer] = 10*TICRATE;
}
break;
case KITEM_SHRINK:
@ -3363,6 +3365,11 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|| player->kartstuff[k_growshrinktimer] > 0))
player->kartstuff[k_poweritemtimer] = 10*TICRATE;
if (player->kartstuff[k_itemtype] == KITEM_SPB
|| player->kartstuff[k_itemtype] == KITEM_SHRINK
|| spbincoming)
indirectitemcooldown = 20*TICRATE;
if (player->kartstuff[k_hyudorotimer] > 0)
{
if (splitscreen)

View file

@ -6968,7 +6968,7 @@ void P_MobjThinker(mobj_t *mobj)
if (mobj->target->player->kartstuff[k_itemroulette])
{
P_SetMobjState(mobj, S_PLAYERARROW_BOX);
mobj->tracer->frame = FF_FULLBRIGHT|((stplyr->kartstuff[k_itemroulette] % (13*3)) / 3);
mobj->tracer->frame = FF_FULLBRIGHT|((mobj->target->player->kartstuff[k_itemroulette] % (13*3)) / 3);
}
else if (mobj->target->player->kartstuff[k_itemtype])
{

View file

@ -703,7 +703,10 @@ void P_Ticker(boolean run)
}
if (hurtthisguy != -1)
{
players[hurtthisguy].kartstuff[k_deathsentence] = TICRATE+1;
S_StartSound(players[hurtthisguy].mo, sfx_kc57);
}
}
if (indirectitemcooldown)

View file

@ -405,7 +405,7 @@ sfxinfo_t S_sfx[NUMSFX] =
{"s3k37", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"s3k38", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"s3k39", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"s3k3a", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"s3k3a", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Kart item shield
{"s3k3b", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"s3k3c", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"s3k3d", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
@ -416,7 +416,7 @@ sfxinfo_t S_sfx[NUMSFX] =
{"s3k42", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"s3k43", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"s3k44", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"s3k45", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"s3k45", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Kart Lightning Shield use
{"s3k46", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"s3k47", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"s3k48", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
@ -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},
{"s3k92", false, 64, 0, -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},
@ -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},
{"cdfm39", false, 64, 0, -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
{"kc2f", false, 64, 0, -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},
{"kc46", false, 64, 0, -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,7 +743,7 @@ 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},
{"kc57", false, 64, 0, -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
@ -777,8 +777,8 @@ sfxinfo_t S_sfx[NUMSFX] =
{"mlap", true, 127, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"sboost", true, 90, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"mush", false, 90, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"kinvnc", false, 140, 16, -1, NULL, 0, -1, -1, LUMPERROR},
{"kgrow", false, 140, 16, -1, NULL, 0, -1, -1, LUMPERROR},
{"kinvnc", false, 140, 8, -1, NULL, 0, -1, -1, LUMPERROR},
{"kgrow", false, 140, 8, -1, NULL, 0, -1, -1, LUMPERROR},
{"bomb", false, 110, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"bomb2", false, 110, 8, -1, NULL, 0, -1, -1, LUMPERROR},
{"peel", false, 100, 0, -1, NULL, 0, -1, -1, LUMPERROR},
@ -804,7 +804,7 @@ sfxinfo_t S_sfx[NUMSFX] =
{"shelit", false, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR},
{"vroom", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"boing", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR},
{"smkinv", false, 140, 16, -1, NULL, 0, -1, -1, LUMPERROR},
{"smkinv", false, 140, 8, -1, NULL, 0, -1, -1, LUMPERROR},
{"screec", false, 52, 0, -1, NULL, 0, -1, -1, LUMPERROR},
// SRB2kart - Skin sounds