* 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
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, 4, 1, {NULL}, 0, 0, S_ORBINAUT6}, // S_ORBINAUT5
|
||||||
{SPR_ORBN, 5, 1, {NULL}, 0, 0, S_ORBINAUT1}, // S_ORBINAUT6
|
{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, 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, 6, 3, {NULL}, 0, 0, S_ORBINAUT_SHIELD2}, // S_ORBINAUT_SHIELD1
|
||||||
{SPR_ORBN, 7, 1, {NULL}, 0, 0, S_ORBINAUT_SHIELD3}, // S_ORBINAUT_SHIELD2
|
{SPR_ORBN, 7, 3, {NULL}, 0, 0, S_ORBINAUT_SHIELD3}, // S_ORBINAUT_SHIELD2
|
||||||
{SPR_ORBN, 8, 1, {NULL}, 0, 0, S_ORBINAUT_SHIELD4}, // S_ORBINAUT_SHIELD3
|
{SPR_ORBN, 8, 3, {NULL}, 0, 0, S_ORBINAUT_SHIELD4}, // S_ORBINAUT_SHIELD3
|
||||||
{SPR_ORBN, 9, 1, {NULL}, 0, 0, S_ORBINAUT_SHIELD5}, // S_ORBINAUT_SHIELD4
|
{SPR_ORBN, 9, 3, {NULL}, 0, 0, S_ORBINAUT_SHIELD5}, // S_ORBINAUT_SHIELD4
|
||||||
{SPR_ORBN, 10, 1, {NULL}, 0, 0, S_ORBINAUT_SHIELD6}, // S_ORBINAUT_SHIELD5
|
{SPR_ORBN, 10, 3, {NULL}, 0, 0, S_ORBINAUT_SHIELD6}, // S_ORBINAUT_SHIELD5
|
||||||
{SPR_ORBN, 11, 1, {NULL}, 0, 0, S_ORBINAUT_SHIELD1}, // S_ORBINAUT_SHIELD6
|
{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_ORBN, 6, 175, {NULL}, 0, 0, S_NULL}, // S_ORBINAUT_SHIELDDEAD
|
||||||
|
|
||||||
{SPR_JAWZ, 0, 1, {A_JawzChase}, 0, 0, S_JAWZ2}, // S_JAWZ1
|
{SPR_JAWZ, 0, 1, {A_JawzChase}, 0, 0, S_JAWZ2}, // S_JAWZ1
|
||||||
|
@ -14816,7 +14816,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
0, // display offset
|
0, // display offset
|
||||||
100, // mass
|
100, // mass
|
||||||
1, // damage
|
1, // damage
|
||||||
sfx_bomb, // activesound
|
sfx_s3k5c, // activesound
|
||||||
MF_BOUNCE|MF_SHOOTABLE, // flags
|
MF_BOUNCE|MF_SHOOTABLE, // flags
|
||||||
S_NULL // raisestate
|
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);
|
//K_PlayTauntSound(player->mo);
|
||||||
player->kartstuff[k_itemheld] = 1;
|
player->kartstuff[k_itemheld] = 1;
|
||||||
player->pflags |= PF_ATTACKDOWN;
|
player->pflags |= PF_ATTACKDOWN;
|
||||||
|
S_StartSound(player->mo, sfx_s254);
|
||||||
|
|
||||||
for (moloop = 0; moloop < player->kartstuff[k_itemamount]; moloop++)
|
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_itemamount]--;
|
||||||
player->kartstuff[k_eggmanheld] = 1;
|
player->kartstuff[k_eggmanheld] = 1;
|
||||||
player->pflags |= PF_ATTACKDOWN;
|
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 = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_FAKESHIELD);
|
||||||
mo->threshold = 10;
|
mo->threshold = 10;
|
||||||
mo->movecount = 1;
|
mo->movecount = 1;
|
||||||
|
@ -3782,6 +3784,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
||||||
mobj_t *mo;
|
mobj_t *mo;
|
||||||
player->kartstuff[k_itemheld] = 1;
|
player->kartstuff[k_itemheld] = 1;
|
||||||
player->pflags |= PF_ATTACKDOWN;
|
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 = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_SSMINE_SHIELD);
|
||||||
mo->threshold = 10;
|
mo->threshold = 10;
|
||||||
mo->movecount = 1;
|
mo->movecount = 1;
|
||||||
|
@ -3892,7 +3895,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
||||||
{
|
{
|
||||||
player->kartstuff[k_itemamount]--;
|
player->kartstuff[k_itemamount]--;
|
||||||
player->pflags |= PF_ATTACKDOWN;
|
player->pflags |= PF_ATTACKDOWN;
|
||||||
K_DoHyudoroSteal(player);
|
K_DoHyudoroSteal(player); // yes. yes they do.
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case KITEM_POGOSPRING:
|
case KITEM_POGOSPRING:
|
||||||
|
@ -4089,8 +4092,14 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
||||||
// Determine the outcome of your charge.
|
// Determine the outcome of your charge.
|
||||||
if (leveltime > starttime && player->kartstuff[k_boostcharge])
|
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!
|
// 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
|
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)
|
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_BANANA:
|
||||||
case MT_FAKEITEM:
|
case MT_FAKEITEM:
|
||||||
if (mobj->z <= mobj->floorz)
|
if (mobj->z <= mobj->floorz)
|
||||||
|
{
|
||||||
P_RemoveMobj(mobj);
|
P_RemoveMobj(mobj);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// fallthru
|
||||||
|
case MT_ORBINAUT_SHIELD:
|
||||||
|
case MT_BANANA_SHIELD:
|
||||||
|
case MT_FAKESHIELD:
|
||||||
|
mobj->flags2 ^= MF2_DONTDRAW;
|
||||||
break;
|
break;
|
||||||
case MT_JAWZ:
|
case MT_JAWZ:
|
||||||
case MT_JAWZ_DUD:
|
case MT_JAWZ_DUD:
|
||||||
if (mobj->z <= mobj->floorz)
|
if (mobj->z <= mobj->floorz)
|
||||||
P_SetMobjState(mobj, mobj->info->xdeathstate);
|
P_SetMobjState(mobj, mobj->info->xdeathstate);
|
||||||
|
// fallthru
|
||||||
|
case MT_JAWZ_SHIELD:
|
||||||
|
mobj->flags2 ^= MF2_DONTDRAW;
|
||||||
break;
|
break;
|
||||||
case MT_SSMINE:
|
case MT_SSMINE:
|
||||||
case MT_BLUEEXPLOSION:
|
case MT_BLUEEXPLOSION:
|
||||||
|
@ -7477,11 +7488,14 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
mobj->health = -100;
|
mobj->health = -100;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
P_RemoveMobj(mobj);
|
P_RemoveMobj(mobj);
|
||||||
|
return;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case MT_MINEEXPLOSIONSOUND:
|
case MT_MINEEXPLOSIONSOUND:
|
||||||
P_RemoveMobj(mobj);
|
P_RemoveMobj(mobj);
|
||||||
break;
|
return;
|
||||||
//}
|
//}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue