From dbd680787c1669a4063099e8116e7804c14067a4 Mon Sep 17 00:00:00 2001 From: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> Date: Tue, 2 Jun 2026 16:12:19 -0400 Subject: [PATCH] Tweaks space whales (#32011) * Tweaks space whales * Small adjustment * Checks * Lints * Apply suggestion from @CRUNCH-Borg Co-authored-by: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com> Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com> --------- Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com> --- .../hunting_behavior/find_and_hunt_target.dm | 7 ------- code/modules/events/whale_migration.dm | 14 ++++++++++++++ code/modules/events/whale_mirgration.dm | 7 ------- .../hostile/megafauna/space_whale/space_whale.dm | 8 +++++++- .../megafauna/space_whale/space_whale_ai.dm | 2 +- paradise.dme | 2 +- 6 files changed, 23 insertions(+), 17 deletions(-) create mode 100644 code/modules/events/whale_migration.dm delete mode 100644 code/modules/events/whale_mirgration.dm diff --git a/code/datums/ai/basic_mobs/hunting_behavior/find_and_hunt_target.dm b/code/datums/ai/basic_mobs/hunting_behavior/find_and_hunt_target.dm index 45401fd4f28..77aeef11270 100644 --- a/code/datums/ai/basic_mobs/hunting_behavior/find_and_hunt_target.dm +++ b/code/datums/ai/basic_mobs/hunting_behavior/find_and_hunt_target.dm @@ -57,10 +57,3 @@ hunting_behavior = /datum/ai_behavior/hunt_target/interact_with_target/clean hunt_targets = list(/obj/effect/decal/cleanable) hunt_range = 4 - -/// Find and hunt fish -/datum/ai_planning_subtree/find_and_hunt_target/fish - hunt_targets = list(/mob/living/basic/carp, - /mob/living/simple_animal/hostile/retaliate/carp) - hunt_chance = 50 - hunt_range = 16 diff --git a/code/modules/events/whale_migration.dm b/code/modules/events/whale_migration.dm new file mode 100644 index 00000000000..65b24f9998c --- /dev/null +++ b/code/modules/events/whale_migration.dm @@ -0,0 +1,14 @@ +/datum/event/carp_migration/whale + name = "Whale Pod" + spawned_mobs = list( + /mob/living/basic/megafauna/space_whale) + +/datum/event/carp_migration/whale/start() + spawn_fish(rand(1, 3), 1, 1) // Whales are rather big and can cause good damage if angered so keeping numbers low + spawned_mobs = list( + /mob/living/basic/carp = 95, + /mob/living/basic/carp/megacarp = 5) + spawn_fish(rand(1, 4), 2, 6) // Spawn some fish for them to eat too. + +/datum/event/carp_migration/whale/announce() + GLOB.minor_announcement.Announce("Migration of space whales detected near [station_name()]. Please stand by.", "Lifesign Alert") diff --git a/code/modules/events/whale_mirgration.dm b/code/modules/events/whale_mirgration.dm deleted file mode 100644 index 4809199ba2b..00000000000 --- a/code/modules/events/whale_mirgration.dm +++ /dev/null @@ -1,7 +0,0 @@ -/datum/event/carp_migration/whale - name = "Whale Pod" - spawned_mobs = list( - /mob/living/basic/megafauna/space_whale) - -/datum/event/carp_migration/whale/start() - spawn_fish(rand(1, 2), 1, 3) // Whales are rather big and can cause good damage if angered so keeping numbers low diff --git a/code/modules/mob/living/basic/hostile/megafauna/space_whale/space_whale.dm b/code/modules/mob/living/basic/hostile/megafauna/space_whale/space_whale.dm index 366df27e617..e4ae712506b 100644 --- a/code/modules/mob/living/basic/hostile/megafauna/space_whale/space_whale.dm +++ b/code/modules/mob/living/basic/hostile/megafauna/space_whale/space_whale.dm @@ -22,8 +22,9 @@ pixel_x = -80 pixel_y = -96 faction = list("neutral", "whale") + weather_immunities = list("lava","ash", "burn", "rad") step_type = FOOTSTEP_MOB_HEAVY - true_spawn = FALSE + internal_gps = /obj/item/gps/internal/space_whale ai_controller = /datum/ai_controller/basic_controller/space_whale innate_actions = list( /datum/action/cooldown/mob_cooldown/space_whale/charge = BB_WHALE_CHARGE_ACTION) @@ -57,3 +58,8 @@ if(harbringer == attacker) // Do not commit suicide attacking yourself continue harbringer.ai_controller.insert_blackboard_key_lazylist(BB_BASIC_MOB_RETALIATE_LIST, attacker) + +/obj/item/gps/internal/space_whale + icon_state = null + gpstag = "Whale Signal" + desc = "You hear the groaning call of the space whale." diff --git a/code/modules/mob/living/basic/hostile/megafauna/space_whale/space_whale_ai.dm b/code/modules/mob/living/basic/hostile/megafauna/space_whale/space_whale_ai.dm index dc659fa3b4c..ee9d74a0090 100644 --- a/code/modules/mob/living/basic/hostile/megafauna/space_whale/space_whale_ai.dm +++ b/code/modules/mob/living/basic/hostile/megafauna/space_whale/space_whale_ai.dm @@ -11,7 +11,7 @@ max_target_distance = 15 planning_subtrees = list( /datum/ai_planning_subtree/target_retaliate, - /datum/ai_planning_subtree/find_and_hunt_target/fish, + /datum/ai_planning_subtree/find_food, /datum/ai_planning_subtree/simple_find_target, /datum/ai_planning_subtree/targeted_mob_ability/whale_offensive_spellcasting, /datum/ai_planning_subtree/attack_obstacle_in_path/walls, diff --git a/paradise.dme b/paradise.dme index c11a73be746..7c3299b3289 100644 --- a/paradise.dme +++ b/paradise.dme @@ -2317,7 +2317,7 @@ #include "code\modules\events\traders.dm" #include "code\modules\events\vent_clog.dm" #include "code\modules\events\wallrot.dm" -#include "code\modules\events\whale_mirgration.dm" +#include "code\modules\events\whale_migration.dm" #include "code\modules\events\wormholes.dm" #include "code\modules\events\blob\blob_mobs.dm" #include "code\modules\events\blob\blob_mobs_ai.dm"