Hardcode these godforsaken turbines

This commit is contained in:
Lat 2023-09-23 16:32:32 +02:00
parent 058a1c03b5
commit df31c65ebb
4 changed files with 27 additions and 0 deletions

View file

@ -62,6 +62,7 @@ boolean K_isPlayerInSpecialState(player_t *p)
{ {
return ( return (
p->rideroid p->rideroid
|| p->rdnodepull
|| p->bungee || p->bungee
|| p->dlzrocket || p->dlzrocket
|| p->seasaw || p->seasaw
@ -11863,6 +11864,14 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
if (player->seasawcooldown && !player->seasaw) if (player->seasawcooldown && !player->seasaw)
player->seasawcooldown--; player->seasawcooldown--;
if (player->turbine)
{
if (player->mo->tracer && !P_MobjWasRemoved(player->mo->tracer))
Obj_playerWPZTurbine(player);
else
player->turbine--; // acts as a cooldown
}
} }
void K_CheckSpectateStatus(boolean considermapreset) void K_CheckSpectateStatus(boolean considermapreset)

View file

@ -267,6 +267,12 @@ void Obj_DLZRingVaccumSpawn(mobj_t *mo);
void Obj_DLZRingVaccumCollide(mobj_t *mo, mobj_t *mo2); void Obj_DLZRingVaccumCollide(mobj_t *mo, mobj_t *mo2);
void Obj_DLZSuckedRingThink(mobj_t *mo); void Obj_DLZSuckedRingThink(mobj_t *mo);
/* WPZ Turbine */
void Obj_WPZTurbineSpawn(mobj_t *mo);
void Obj_WPZTurbineThinker(mobj_t *mo);
void Obj_playerWPZTurbine(player_t *p);
void Obj_WPZBubbleThink(mobj_t *mo);
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif #endif

View file

@ -35,5 +35,6 @@ target_sources(SRB2SDL2 PRIVATE
dlzrocket.c dlzrocket.c
dlzseasaw.c dlzseasaw.c
dlzothers.c dlzothers.c
wpzturbine.c
shadow.cpp shadow.cpp
) )

View file

@ -9737,6 +9737,14 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
Obj_DLZSuckedRingThink(mobj); Obj_DLZSuckedRingThink(mobj);
break; break;
case MT_WATERPALACETURBINE:
Obj_WPZTurbineThinker(mobj);
break;
case MT_WATERPALACEBUBBLE:
Obj_WPZBubbleThink(mobj);
break;
default: default:
// check mobj against possible water content, before movement code // check mobj against possible water content, before movement code
P_MobjCheckWater(mobj); P_MobjCheckWater(mobj);
@ -11182,6 +11190,9 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
case MT_DLZ_RINGVACCUM: case MT_DLZ_RINGVACCUM:
Obj_DLZRingVaccumSpawn(mobj); Obj_DLZRingVaccumSpawn(mobj);
break; break;
case MT_WATERPALACETURBINE:
Obj_WPZTurbineSpawn(mobj);
break;
case MT_SNEAKERPANEL: case MT_SNEAKERPANEL:
Obj_SneakerPanelSpawn(mobj); Obj_SneakerPanelSpawn(mobj);
break; break;