Create a quick P_StartQuake without epicenter/radius support and clean up the grand total of 4 earthquake uses in the code

This commit is contained in:
Latapostrophe 2020-05-14 17:28:33 +02:00
parent f467791161
commit fc789790bb
5 changed files with 18 additions and 13 deletions

View file

@ -3157,10 +3157,7 @@ void K_ExplodePlayer(player_t *player, mobj_t *source, mobj_t *inflictor) // A b
K_PlayPainSound(player->mo);
if (P_IsDisplayPlayer(player))
{
quake.intensity = 64*FRACUNIT;
quake.time = 5;
}
P_StartQuake(64<<FRACBITS, 5);
player->kartstuff[k_instashield] = 15;
K_DropItems(player);
@ -5244,7 +5241,7 @@ static void K_MoveHeldObjects(player_t *player)
if (cur->type == MT_EGGMANITEM_SHIELD)
{
// Decided that this should use their "canon" color.
cur->color = SKINCOLOR_BLACK;
cur->color = SKINCOLOR_BLACK;
}
cur->flags &= ~MF_NOCLIPTHING;
@ -5613,7 +5610,7 @@ static void K_UpdateInvincibilitySounds(player_t *player)
{
if (player->kartstuff[k_invincibilitytimer] > 0) // Prioritize invincibility
sfxnum = sfx_alarmi;
else if (player->kartstuff[k_growshrinktimer] > 0)
else if (player->kartstuff[k_growshrinktimer] > 0)
sfxnum = sfx_alarmg;
}
else

View file

@ -1518,8 +1518,7 @@ static int lib_pStartQuake(lua_State *L)
quake.radius = luaL_optinteger(L, 4, 512*FRACUNIT);
// These things are actually used in 2.1.
quake.intensity = q_intensity;
quake.time = q_time;
P_StartQuake(q_intensity, q_time);
return 0;
}

View file

@ -638,7 +638,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
P_SetTarget(&special->tracer, toucher);
toucher->flags |= MF_NOGRAVITY;
toucher->momz = (8*toucher->scale) * P_MobjFlip(toucher);
S_StartSound(toucher, sfx_s1b2);
S_StartSound(toucher, sfx_s1b2);
return;
// ***************************************** //
@ -3192,10 +3192,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
K_KartPainEnergyFling(player);
if (P_IsDisplayPlayer(player))
{
quake.intensity = 32*FRACUNIT;
quake.time = 5;
}
P_StartQuake(32<<FRACBITS, 5);
}
else
K_SpinPlayer(player, source, 0, inflictor, false);

View file

@ -8273,3 +8273,11 @@ static void P_SearchForDisableLinedefs(void)
}
}
}
// Rudimentary function to start a earthquake.
// epicenter and radius are not yet used.
void P_StartQuake(fixed_t intensity, tic_t time)
{
quake.intensity = intensity;
quake.time = time;
}

View file

@ -19,6 +19,10 @@
extern mobj_t *skyboxmo[2];
// Something that should've been done long ago???
// We won't be using epicenter or radius anytime soon so I don't think it's worth it yet.
void P_StartQuake(fixed_t intensity, tic_t time);
// GETSECSPECIAL (specialval, section)
//
// Pulls out the special # from a particular section.