mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-11-16 17:51:27 +00:00
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:
parent
3b2d156e7f
commit
788c98144f
5 changed files with 63 additions and 53 deletions
54
src/info.c
54
src/info.c
|
@ -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
|
||||
|
|
37
src/k_kart.c
37
src/k_kart.c
|
@ -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)
|
||||
|
|
|
@ -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])
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
|
|
20
src/sounds.c
20
src/sounds.c
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue