mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-24 08:52:33 +00:00
Basic Ring Shooter freeze implementation
It's probably too easy to break, but this should be enough for testing at least.
This commit is contained in:
parent
92b8e38f11
commit
14d371f00f
3 changed files with 19 additions and 2 deletions
|
|
@ -3407,7 +3407,9 @@ SINT8 K_GetForwardMove(player_t *player)
|
|||
{
|
||||
SINT8 forwardmove = player->cmd.forwardmove;
|
||||
|
||||
if ((player->pflags & PF_STASIS) || (player->carry == CR_SLIDING))
|
||||
if ((player->pflags & PF_STASIS)
|
||||
|| (player->carry == CR_SLIDING)
|
||||
|| Obj_PlayerRingShooterFreeze(player) == true)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ boolean Obj_DropTargetMorphThink(mobj_t *morph);
|
|||
|
||||
/* Ring Shooter */
|
||||
boolean Obj_RingShooterThinker(mobj_t *mo);
|
||||
boolean Obj_PlayerRingShooterFreeze(player_t *const player);
|
||||
void Obj_RingShooterInput(player_t *player);
|
||||
void Obj_PlayerUsedRingShooter(mobj_t *base, player_t *player);
|
||||
void Obj_RingShooterDelete(mobj_t *mo);
|
||||
|
|
|
|||
|
|
@ -645,6 +645,20 @@ static boolean AllowRingShooter(player_t *player)
|
|||
return false;
|
||||
}
|
||||
|
||||
boolean Obj_PlayerRingShooterFreeze(player_t *const player)
|
||||
{
|
||||
mobj_t *const base = player->ringShooter;
|
||||
|
||||
if (AllowRingShooter(player) == true
|
||||
&& (player->cmd.buttons & BT_RESPAWN) == BT_RESPAWN
|
||||
&& P_MobjWasRemoved(base) == false)
|
||||
{
|
||||
return (rs_base_canceled(base) == 0);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void Obj_RingShooterInput(player_t *player)
|
||||
{
|
||||
mobj_t *const base = player->ringShooter;
|
||||
|
|
@ -658,7 +672,7 @@ void Obj_RingShooterInput(player_t *player)
|
|||
return;
|
||||
}
|
||||
|
||||
if (rs_base_canceled(base) != 0)
|
||||
if (rs_base_canceled(base) == 0)
|
||||
{
|
||||
if (base->fuse < RS_FUSE_BLINK)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue