Merge branch 'super-flicky-fixes' into 'splitscreen-timer'

Fixes for Super Flicky

See merge request KartKrew/Kart!1311
This commit is contained in:
Oni 2023-06-30 05:20:44 +00:00
commit 83602df24a
2 changed files with 6 additions and 6 deletions

View file

@ -151,7 +151,7 @@ void Obj_SpawnSuperFlickySwarm(player_t *owner, tic_t time);
void Obj_SuperFlickyControllerThink(mobj_t *controller); void Obj_SuperFlickyControllerThink(mobj_t *controller);
void Obj_EndSuperFlickySwarm(mobj_t *controller); void Obj_EndSuperFlickySwarm(mobj_t *controller);
void Obj_ExtendSuperFlickySwarm(mobj_t *controller, tic_t time); void Obj_ExtendSuperFlickySwarm(mobj_t *controller, tic_t time);
tic_t Obj_SuperFlickySwarmTime(const mobj_t *controller); tic_t Obj_SuperFlickySwarmTime(mobj_t *controller);
/* Super Flicky */ /* Super Flicky */
void Obj_SuperFlickyThink(mobj_t *flicky); void Obj_SuperFlickyThink(mobj_t *flicky);

View file

@ -141,7 +141,7 @@ struct Controller : mobj_t
x->source(player->mo); x->source(player->mo);
x->mode(Mode::kDescend); x->mode(Mode::kDescend);
x->zofs(0); x->zofs(0);
x->expiry(leveltime + time); x->expiry(leveltime + time + kRiseTime);
P_SetTarget(&player->powerup.flickyController, x); P_SetTarget(&player->powerup.flickyController, x);
@ -754,16 +754,16 @@ void Obj_ExtendSuperFlickySwarm(mobj_t* mobj, tic_t time)
x->expiry(x->expiry() + time); x->expiry(x->expiry() + time);
} }
tic_t Obj_SuperFlickySwarmTime(const mobj_t* mobj) tic_t Obj_SuperFlickySwarmTime(mobj_t* mobj)
{ {
const Controller* x = static_cast<const Controller*>(mobj); Controller* x = static_cast<Controller*>(mobj);
return x ? x->powerup_remaining() : 0u; return !P_MobjWasRemoved(x) ? x->powerup_remaining() : 0u;
} }
boolean Obj_IsSuperFlickyWhippable(const mobj_t* mobj) boolean Obj_IsSuperFlickyWhippable(const mobj_t* mobj)
{ {
const Flicky* x = static_cast<const Flicky*>(mobj); const Flicky* x = static_cast<const Flicky*>(mobj);
return !x->stunned(); return mobj == x->chasing() && !x->stunned();
} }