Reduce explosion radius, lives forever, longer startup

This commit is contained in:
James 2019-02-19 20:19:01 -05:00
parent 2f4d3eb087
commit f822eb94cf
3 changed files with 7 additions and 21 deletions

View file

@ -15574,10 +15574,10 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
1, // spawnhealth 1, // spawnhealth
S_NULL, // seestate S_NULL, // seestate
sfx_tossed, // seesound sfx_tossed, // seesound
6*TICRATE, // reactiontime 0, // reactiontime
sfx_None, // attacksound sfx_None, // attacksound
S_NULL, // painstate S_NULL, // painstate
192*FRACUNIT, // painchance 128*FRACUNIT, // painchance
sfx_None, // painsound sfx_None, // painsound
S_NULL, // meleestate S_NULL, // meleestate
S_NULL, // missilestate S_NULL, // missilestate
@ -15604,7 +15604,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
8, // reactiontime 8, // reactiontime
sfx_None, // attacksound sfx_None, // attacksound
S_NULL, // painstate S_NULL, // painstate
192*FRACUNIT, // painchance 128*FRACUNIT, // painchance
sfx_None, // painsound sfx_None, // painsound
S_NULL, // meleestate S_NULL, // meleestate
S_NULL, // missilestate S_NULL, // missilestate

View file

@ -3085,7 +3085,7 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
mo->eflags |= MFE_VERTICALFLIP; mo->eflags |= MFE_VERTICALFLIP;
if (mapthing == MT_SSMINE) if (mapthing == MT_SSMINE)
mo->extravalue1 = 14; // Pads the start-up length from 21 frames to a full second mo->extravalue1 = 49; // Pads the start-up length from 21 frames to a full 2 seconds
} }
} }

View file

@ -8194,31 +8194,17 @@ void P_MobjThinker(mobj_t *mobj)
if (mobj->momx || mobj->momy) if (mobj->momx || mobj->momy)
P_SpawnGhostMobj(mobj); P_SpawnGhostMobj(mobj);
if (P_IsObjectOnGround(mobj)) if (P_IsObjectOnGround(mobj) && (mobj->state == &states[S_SSMINE_AIR1] || mobj->state == &states[S_SSMINE_AIR2]))
{ {
if (mobj->extravalue1 > 0) if (mobj->extravalue1 > 0)
mobj->extravalue1--; mobj->extravalue1--;
else else
{ {
if (mobj->state == &states[S_SSMINE_AIR1] || mobj->state == &states[S_SSMINE_AIR2]) mobj->momx = mobj->momy = 0;
P_SetMobjState(mobj, S_SSMINE_DEPLOY1); S_StartSound(mobj, mobj->info->activesound);
if (mobj->reactiontime >= mobj->info->reactiontime)
{
mobj->momx = mobj->momy = 0;
S_StartSound(mobj, mobj->info->activesound);
mobj->reactiontime--;
}
} }
} }
if (mobj->reactiontime && mobj->reactiontime < mobj->info->reactiontime)
{
mobj->reactiontime--;
if (!mobj->reactiontime)
P_KillMobj(mobj, NULL, NULL);
}
if ((mobj->state >= &states[S_SSMINE1] && mobj->state <= &states[S_SSMINE4]) if ((mobj->state >= &states[S_SSMINE1] && mobj->state <= &states[S_SSMINE4])
|| (mobj->state >= &states[S_SSMINE_DEPLOY8] && mobj->state <= &states[S_SSMINE_DEPLOY13])) || (mobj->state >= &states[S_SSMINE_DEPLOY8] && mobj->state <= &states[S_SSMINE_DEPLOY13]))
A_GrenadeRing(mobj); A_GrenadeRing(mobj);