From 2137f95c345c502d02ef5710b355a34610b5ad5b Mon Sep 17 00:00:00 2001 From: MysterD Date: Fri, 24 Nov 2023 15:41:43 -0800 Subject: [PATCH] Make enemy lakitu and wiggler respect their home radius again --- src/game/behaviors/enemy_lakitu.inc.c | 10 +++++----- src/game/behaviors/wiggler.inc.c | 5 +++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/game/behaviors/enemy_lakitu.inc.c b/src/game/behaviors/enemy_lakitu.inc.c index 0f5a1171..b22206eb 100644 --- a/src/game/behaviors/enemy_lakitu.inc.c +++ b/src/game/behaviors/enemy_lakitu.inc.c @@ -25,7 +25,7 @@ static struct ObjectHitbox sEnemyLakituHitbox = { */ static void enemy_lakitu_act_uninitialized(void) { struct Object *player = nearest_player_to_object(o); - s32 distanceToPlayer = player ? dist_between_objects(o, player) : 10000; + s32 distanceToPlayer = player ? dist_between_objects(o, player) : 25000; if (distanceToPlayer < 2000.0f) { spawn_object_relative_with_scale(CLOUD_BP_LAKITU_CLOUD, 0, 0, 0, 2.0f, o, MODEL_MIST, bhvCloud); @@ -66,7 +66,7 @@ static void enemy_lakitu_update_vel_y(f32 offsetY) { static void enemy_lakitu_update_speed_and_angle(void) { struct MarioState* marioState = nearest_mario_state_to_object(o); struct Object* player = marioState ? marioState->marioObj : NULL; - s32 distanceToPlayer = player ? dist_between_objects(o, player) : 10000; + s32 distanceToPlayer = player ? dist_between_objects(o, player) : 25000; s32 angleToPlayer = player ? obj_angle_to_object(o, player) : 0; f32 minSpeed = 0; @@ -109,7 +109,7 @@ static void enemy_lakitu_update_speed_and_angle(void) { static void enemy_lakitu_sub_act_no_spiny(void) { struct MarioState* marioState = nearest_mario_state_to_object(o); struct Object* player = marioState ? marioState->marioObj : NULL; - s32 distanceToPlayer = player ? dist_between_objects(o, player) : 10000; + s32 distanceToPlayer = player ? dist_between_objects(o, player) : 25000; s32 angleToPlayer = player ? obj_angle_to_object(o, player) : 0; treat_far_home_as_mario(2000.0f, &distanceToPlayer, &angleToPlayer); @@ -155,7 +155,7 @@ static void enemy_lakitu_sub_act_hold_spiny(void) { } struct Object* player = nearest_player_to_object(o); - s32 distanceToPlayer = player ? dist_between_objects(o, player) : 10000; + s32 distanceToPlayer = player ? dist_between_objects(o, player) : 25000; s32 angleToPlayer = player ? obj_angle_to_object(o, player) : 0; treat_far_home_as_mario(2000.0f, &distanceToPlayer, &angleToPlayer); @@ -224,7 +224,7 @@ static void enemy_lakitu_act_main(void) { } struct Object* player = nearest_player_to_object(o); - s32 distanceToPlayer = player ? dist_between_objects(o, player) : 10000; + s32 distanceToPlayer = player ? dist_between_objects(o, player) : 25000; if (distanceToPlayer <= o->oDrawingDistance) { cur_obj_move_standard(78); } diff --git a/src/game/behaviors/wiggler.inc.c b/src/game/behaviors/wiggler.inc.c index f28b5f83..696098aa 100644 --- a/src/game/behaviors/wiggler.inc.c +++ b/src/game/behaviors/wiggler.inc.c @@ -216,8 +216,9 @@ void wiggler_update_segments(void) { static void wiggler_act_walk(void) { struct MarioState *marioState = nearest_mario_state_to_object(o); struct Object* player = marioState ? marioState->marioObj : NULL; - s32 distanceToPlayer = player ? dist_between_objects(o, player) : 10000; + s32 distanceToPlayer = player ? dist_between_objects(o, player) : 25000; s32 angleToPlayer = player ? obj_angle_to_object(o, player) : 0; + treat_far_home_as_mario(1200.0f, &distanceToPlayer, &angleToPlayer); o->oWigglerWalkAnimSpeed = 0.06f * o->oForwardVel; @@ -481,7 +482,7 @@ void bhv_wiggler_update(void) { } struct Object* player = nearest_player_to_object(o); - s32 distanceToPlayer = player ? dist_between_objects(o, player) : 10000; + s32 distanceToPlayer = player ? dist_between_objects(o, player) : 25000; s32 angleToPlayer = player ? obj_angle_to_object(o, player) : 0; o->oDistanceToMario = distanceToPlayer; o->oAngleToMario = angleToPlayer;