From b1c0f6647e1b1ea8a61793ae4886bd6b91c52be6 Mon Sep 17 00:00:00 2001 From: James R Date: Tue, 14 Nov 2023 21:01:40 -0800 Subject: [PATCH] Obj_IsSuperFlickyWhippable: pass target - Old behavior: if flicky is chasing itself. What? Why did I write this?? --- src/k_collide.cpp | 2 +- src/k_objects.h | 2 +- src/objects/super-flicky.cpp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/k_collide.cpp b/src/k_collide.cpp index 76917d2b5..568f87338 100644 --- a/src/k_collide.cpp +++ b/src/k_collide.cpp @@ -925,7 +925,7 @@ boolean K_InstaWhipCollide(mobj_t *shield, mobj_t *victim) } else if (victim->type == MT_SUPER_FLICKY) { - if (Obj_IsSuperFlickyWhippable(victim)) + if (Obj_IsSuperFlickyWhippable(victim, attacker)) { K_AddHitLag(victim, victimHitlag, true); K_AddHitLag(attacker, attackerHitlag, false); diff --git a/src/k_objects.h b/src/k_objects.h index bad973f62..186ba9b48 100644 --- a/src/k_objects.h +++ b/src/k_objects.h @@ -168,7 +168,7 @@ void Obj_BlockSuperFlicky(mobj_t *flicky); void Obj_SuperFlickyPlayerCollide(mobj_t *flicky, mobj_t *player); void Obj_SuperFlickyLanding(mobj_t *flicky); mobj_t *Obj_SuperFlickyOwner(const mobj_t *flicky); -boolean Obj_IsSuperFlickyWhippable(const mobj_t *flicky); +boolean Obj_IsSuperFlickyWhippable(const mobj_t *flicky, const mobj_t *target); boolean Obj_IsSuperFlickyTargettingYou(const mobj_t *flicky, mobj_t *player); /* Battle/Power-UP UFO */ diff --git a/src/objects/super-flicky.cpp b/src/objects/super-flicky.cpp index 601ccdf7e..344cbd46c 100644 --- a/src/objects/super-flicky.cpp +++ b/src/objects/super-flicky.cpp @@ -768,11 +768,11 @@ mobj_t *Obj_SuperFlickyOwner(const mobj_t* mobj) return x->valid() ? x->source() : nullptr; } -boolean Obj_IsSuperFlickyWhippable(const mobj_t* mobj) +boolean Obj_IsSuperFlickyWhippable(const mobj_t* mobj, const mobj_t* target) { const Flicky* x = static_cast(mobj); - return mobj == x->chasing() && !x->stunned(); + return target == x->chasing() && !x->stunned(); } boolean Obj_IsSuperFlickyTargettingYou(const mobj_t* mobj, mobj_t *player)