* Make the Egg Capsule only explode for one second, but have the number of explosions (and flickies) multiplied 1.5 times.

* If the player is spindashing when the level is exited, they will un-spindash. (Currently you get stuck in charging)
This commit is contained in:
toaster 2019-11-15 15:20:36 +00:00
parent d0fac1988a
commit 52bd4b05e1
3 changed files with 9 additions and 4 deletions

View File

@ -2741,7 +2741,7 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
case MT_EGGTRAP: case MT_EGGTRAP:
// Time for birdies! Yaaaaaaaay! // Time for birdies! Yaaaaaaaay!
target->fuse = TICRATE*2; target->fuse = TICRATE;
break; break;
case MT_MINECART: case MT_MINECART:

View File

@ -8227,7 +8227,7 @@ void P_MobjThinker(mobj_t *mobj)
mobj->flags2 ^= MF2_DONTDRAW; mobj->flags2 ^= MF2_DONTDRAW;
break; break;
case MT_EGGTRAP: // Egg Capsule animal release case MT_EGGTRAP: // Egg Capsule animal release
if (mobj->fuse > 0 && mobj->fuse < 2*TICRATE-(TICRATE/7)) if (mobj->fuse > 0)// && mobj->fuse < TICRATE-(TICRATE/7))
{ {
INT32 i; INT32 i;
fixed_t x,y,z; fixed_t x,y,z;
@ -8236,9 +8236,9 @@ void P_MobjThinker(mobj_t *mobj)
mobj_t *flicky; mobj_t *flicky;
z = mobj->subsector->sector->floorheight + FRACUNIT + (P_RandomKey(64)<<FRACBITS); z = mobj->subsector->sector->floorheight + FRACUNIT + (P_RandomKey(64)<<FRACBITS);
for (i = 0; i < 2; i++) for (i = 0; i < 3; i++)
{ {
const angle_t fa = (P_RandomByte()*FINEANGLES/16) & FINEMASK; const angle_t fa = P_RandomKey(FINEANGLES) & FINEMASK;
ns = 64 * FRACUNIT; ns = 64 * FRACUNIT;
x = mobj->x + FixedMul(FINESINE(fa),ns); x = mobj->x + FixedMul(FINESINE(fa),ns);
y = mobj->y + FixedMul(FINECOSINE(fa),ns); y = mobj->y + FixedMul(FINECOSINE(fa),ns);

View File

@ -2158,6 +2158,11 @@ void P_DoPlayerExit(player_t *player)
player->pflags |= P_GetJumpFlags(player); player->pflags |= P_GetJumpFlags(player);
P_SetPlayerMobjState(player->mo, S_PLAY_JUMP); P_SetPlayerMobjState(player->mo, S_PLAY_JUMP);
} }
else if (player->pflags & PF_STARTDASH)
{
player->pflags &= ~PF_STARTDASH;
P_SetPlayerMobjState(player->mo, S_PLAY_STND);
}
player->powers[pw_underwater] = 0; player->powers[pw_underwater] = 0;
player->powers[pw_spacetime] = 0; player->powers[pw_spacetime] = 0;
P_RestoreMusic(player); P_RestoreMusic(player);