mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-02-21 03:11:24 +00:00
* Change/add a handful of sounds.
* Make Orbinaut Shields animate at 3 tics per frame, not 1. * Make dead items flash in and out of visibility. * Related to above, fix a few circumstances where returning was not properly handled after removing a mobj in mobjthinker.
This commit is contained in:
parent
fb5ddf44d6
commit
59c64e1ec7
3 changed files with 33 additions and 10 deletions
14
src/info.c
14
src/info.c
|
@ -2646,12 +2646,12 @@ state_t states[NUMSTATES] =
|
|||
{SPR_ORBN, 4, 1, {NULL}, 0, 0, S_ORBINAUT6}, // S_ORBINAUT5
|
||||
{SPR_ORBN, 5, 1, {NULL}, 0, 0, S_ORBINAUT1}, // S_ORBINAUT6
|
||||
{SPR_ORBN, 0, 175, {NULL}, 0, 0, S_NULL}, // S_ORBINAUT_DEAD
|
||||
{SPR_ORBN, 6, 1, {NULL}, 0, 0, S_ORBINAUT_SHIELD2}, // S_ORBINAUT_SHIELD1
|
||||
{SPR_ORBN, 7, 1, {NULL}, 0, 0, S_ORBINAUT_SHIELD3}, // S_ORBINAUT_SHIELD2
|
||||
{SPR_ORBN, 8, 1, {NULL}, 0, 0, S_ORBINAUT_SHIELD4}, // S_ORBINAUT_SHIELD3
|
||||
{SPR_ORBN, 9, 1, {NULL}, 0, 0, S_ORBINAUT_SHIELD5}, // S_ORBINAUT_SHIELD4
|
||||
{SPR_ORBN, 10, 1, {NULL}, 0, 0, S_ORBINAUT_SHIELD6}, // S_ORBINAUT_SHIELD5
|
||||
{SPR_ORBN, 11, 1, {NULL}, 0, 0, S_ORBINAUT_SHIELD1}, // S_ORBINAUT_SHIELD6
|
||||
{SPR_ORBN, 6, 3, {NULL}, 0, 0, S_ORBINAUT_SHIELD2}, // S_ORBINAUT_SHIELD1
|
||||
{SPR_ORBN, 7, 3, {NULL}, 0, 0, S_ORBINAUT_SHIELD3}, // S_ORBINAUT_SHIELD2
|
||||
{SPR_ORBN, 8, 3, {NULL}, 0, 0, S_ORBINAUT_SHIELD4}, // S_ORBINAUT_SHIELD3
|
||||
{SPR_ORBN, 9, 3, {NULL}, 0, 0, S_ORBINAUT_SHIELD5}, // S_ORBINAUT_SHIELD4
|
||||
{SPR_ORBN, 10, 3, {NULL}, 0, 0, S_ORBINAUT_SHIELD6}, // S_ORBINAUT_SHIELD5
|
||||
{SPR_ORBN, 11, 3, {NULL}, 0, 0, S_ORBINAUT_SHIELD1}, // S_ORBINAUT_SHIELD6
|
||||
{SPR_ORBN, 6, 175, {NULL}, 0, 0, S_NULL}, // S_ORBINAUT_SHIELDDEAD
|
||||
|
||||
{SPR_JAWZ, 0, 1, {A_JawzChase}, 0, 0, S_JAWZ2}, // S_JAWZ1
|
||||
|
@ -14816,7 +14816,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
sfx_bomb, // activesound
|
||||
sfx_s3k5c, // activesound
|
||||
MF_BOUNCE|MF_SHOOTABLE, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
|
13
src/k_kart.c
13
src/k_kart.c
|
@ -3647,6 +3647,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
//K_PlayTauntSound(player->mo);
|
||||
player->kartstuff[k_itemheld] = 1;
|
||||
player->pflags |= PF_ATTACKDOWN;
|
||||
S_StartSound(player->mo, sfx_s254);
|
||||
|
||||
for (moloop = 0; moloop < player->kartstuff[k_itemamount]; moloop++)
|
||||
{
|
||||
|
@ -3677,6 +3678,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
player->kartstuff[k_itemamount]--;
|
||||
player->kartstuff[k_eggmanheld] = 1;
|
||||
player->pflags |= PF_ATTACKDOWN;
|
||||
S_StartSound(player->mo, sfx_s254);
|
||||
mo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_FAKESHIELD);
|
||||
mo->threshold = 10;
|
||||
mo->movecount = 1;
|
||||
|
@ -3782,6 +3784,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
mobj_t *mo;
|
||||
player->kartstuff[k_itemheld] = 1;
|
||||
player->pflags |= PF_ATTACKDOWN;
|
||||
S_StartSound(player->mo, sfx_s254);
|
||||
mo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_SSMINE_SHIELD);
|
||||
mo->threshold = 10;
|
||||
mo->movecount = 1;
|
||||
|
@ -3892,7 +3895,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
{
|
||||
player->kartstuff[k_itemamount]--;
|
||||
player->pflags |= PF_ATTACKDOWN;
|
||||
K_DoHyudoroSteal(player);
|
||||
K_DoHyudoroSteal(player); // yes. yes they do.
|
||||
}
|
||||
break;
|
||||
case KITEM_POGOSPRING:
|
||||
|
@ -4089,8 +4092,14 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
// Determine the outcome of your charge.
|
||||
if (leveltime > starttime && player->kartstuff[k_boostcharge])
|
||||
{
|
||||
// Not even trying?
|
||||
if (player->kartstuff[k_boostcharge] < 35)
|
||||
{
|
||||
if (player->kartstuff[k_boostcharge] > 17)
|
||||
S_StartSound(player->mo, sfx_cdfm00); // chosen instead of a conventional skid because it's more engine-like
|
||||
}
|
||||
// Get an instant boost!
|
||||
if (player->kartstuff[k_boostcharge] >= 35 && player->kartstuff[k_boostcharge] <= 50)
|
||||
else if (player->kartstuff[k_boostcharge] <= 50)
|
||||
{
|
||||
player->kartstuff[k_sneakertimer] = -((21*(player->kartstuff[k_boostcharge]*player->kartstuff[k_boostcharge]))/425)+131; // max time is 70, min time is 7; yay parabooolas
|
||||
if (!player->kartstuff[k_floorboost] || player->kartstuff[k_floorboost] == 3)
|
||||
|
|
16
src/p_mobj.c
16
src/p_mobj.c
|
@ -7462,12 +7462,23 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
case MT_BANANA:
|
||||
case MT_FAKEITEM:
|
||||
if (mobj->z <= mobj->floorz)
|
||||
{
|
||||
P_RemoveMobj(mobj);
|
||||
return;
|
||||
}
|
||||
// fallthru
|
||||
case MT_ORBINAUT_SHIELD:
|
||||
case MT_BANANA_SHIELD:
|
||||
case MT_FAKESHIELD:
|
||||
mobj->flags2 ^= MF2_DONTDRAW;
|
||||
break;
|
||||
case MT_JAWZ:
|
||||
case MT_JAWZ_DUD:
|
||||
if (mobj->z <= mobj->floorz)
|
||||
P_SetMobjState(mobj, mobj->info->xdeathstate);
|
||||
// fallthru
|
||||
case MT_JAWZ_SHIELD:
|
||||
mobj->flags2 ^= MF2_DONTDRAW;
|
||||
break;
|
||||
case MT_SSMINE:
|
||||
case MT_BLUEEXPLOSION:
|
||||
|
@ -7477,11 +7488,14 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
mobj->health = -100;
|
||||
}
|
||||
else
|
||||
{
|
||||
P_RemoveMobj(mobj);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case MT_MINEEXPLOSIONSOUND:
|
||||
P_RemoveMobj(mobj);
|
||||
break;
|
||||
return;
|
||||
//}
|
||||
default:
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue