Adds retaliation to some space mobs (#30841)

* Adds retaliation to some space mobs

* Tweaks mob mech damage, makes basic mobs handle mechs consistently.

* Revert "Tweaks mob mech damage, makes basic mobs handle mechs consistently."

This reverts commit 1e1fa43937.

---------

Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
This commit is contained in:
PollardTheDragon
2025-11-19 14:41:45 -05:00
committed by GitHub
parent 050494fe31
commit aad47daacc
5 changed files with 13 additions and 1 deletions
@@ -7,6 +7,7 @@
planning_subtrees = list(
/datum/ai_planning_subtree/random_speech/alien,
/datum/ai_planning_subtree/target_retaliate/check_faction,
/datum/ai_planning_subtree/simple_find_target,
/datum/ai_planning_subtree/attack_obstacle_in_path,
/datum/ai_planning_subtree/basic_melee_attack_subtree,
@@ -17,6 +18,7 @@
/datum/ai_controller/basic_controller/alien/sentinel
planning_subtrees = list(
/datum/ai_planning_subtree/random_speech/alien,
/datum/ai_planning_subtree/target_retaliate/check_faction,
/datum/ai_planning_subtree/simple_find_target,
/datum/ai_planning_subtree/maintain_distance,
/datum/ai_planning_subtree/basic_melee_attack_subtree/opportunistic,
@@ -26,6 +28,7 @@
/datum/ai_controller/basic_controller/alien/corgi
planning_subtrees = list(
/datum/ai_planning_subtree/simple_find_target,
/datum/ai_planning_subtree/target_retaliate/check_faction,
/datum/ai_planning_subtree/maintain_distance,
/datum/ai_planning_subtree/basic_melee_attack_subtree/opportunistic,
/datum/ai_planning_subtree/ranged_skirmish,
@@ -39,6 +42,7 @@
planning_subtrees = list(
/datum/ai_planning_subtree/random_speech/alien,
/datum/ai_planning_subtree/target_retaliate/check_faction,
/datum/ai_planning_subtree/simple_find_target,
/datum/ai_planning_subtree/maintain_distance,
/datum/ai_planning_subtree/basic_melee_attack_subtree/opportunistic,
@@ -50,6 +50,7 @@
/mob/living/basic/alien/Initialize(mapload)
. = ..()
AddComponent(/datum/component/aggro_emote, emote_list = list("hisses"), emote_chance = 20)
AddElement(/datum/element/ai_retaliate)
/mob/living/basic/alien/proc/spread_plants()
if(!isturf(loc) || isspaceturf(loc))
@@ -40,6 +40,7 @@
AddComponent(/datum/component/ai_retaliate_advanced, CALLBACK(src, PROC_REF(retaliate_callback)))
add_language("Sinta'unathi")
set_default_language(GLOB.all_languages["Sinta'unathi"])
AddElement(/datum/element/ai_retaliate)
AddComponent(/datum/component/aggro_emote, aggro_sound = 'sound/effects/unathihiss.ogg', emote_chance = 100)
if(prob(50))
loot = list(
@@ -149,7 +150,7 @@
ai_movement = /datum/ai_movement/jps
planning_subtrees = list(
/datum/ai_planning_subtree/random_speech/drakehound,
/datum/ai_planning_subtree/target_retaliate,
/datum/ai_planning_subtree/target_retaliate/check_faction,
/datum/ai_planning_subtree/simple_find_target,
/datum/ai_planning_subtree/attack_obstacle_in_path,
/datum/ai_planning_subtree/basic_melee_attack_subtree,
@@ -42,6 +42,7 @@
AddComponent(/datum/component/aggro_emote, aggro_sound = 'sound/creatures/pirateengage.ogg', emote_chance = 100)
add_language("Galactic Common")
set_default_language(GLOB.all_languages["Galactic Common"])
AddElement(/datum/element/ai_retaliate)
if(prob(50))
loot = list(/obj/item/clothing/head/helmet/space/pirate,
/obj/item/salvage/loot/pirate,
@@ -90,6 +91,7 @@
)
planning_subtrees = list(
/datum/ai_planning_subtree/random_speech/pirate,
/datum/ai_planning_subtree/target_retaliate/check_faction,
/datum/ai_planning_subtree/simple_find_target,
/datum/ai_planning_subtree/attack_obstacle_in_path,
/datum/ai_planning_subtree/basic_melee_attack_subtree,
@@ -112,6 +114,7 @@
/datum/ai_controller/basic_controller/simple/pirate/ranged
planning_subtrees = list(
/datum/ai_planning_subtree/random_speech/pirate,
/datum/ai_planning_subtree/target_retaliate/check_faction,
/datum/ai_planning_subtree/simple_find_target,
/datum/ai_planning_subtree/basic_melee_attack_subtree/opportunistic,
/datum/ai_planning_subtree/maintain_distance,
@@ -31,6 +31,7 @@
. = ..()
add_language("Zvezhan")
set_default_language(GLOB.all_languages["Zvezhan"])
AddElement(/datum/element/ai_retaliate)
/mob/living/basic/soviet/ranged
icon_state = "sovietranged"
@@ -74,6 +75,7 @@
)
planning_subtrees = list(
/datum/ai_planning_subtree/random_speech/soviet,
/datum/ai_planning_subtree/target_retaliate/check_faction,
/datum/ai_planning_subtree/simple_find_target,
/datum/ai_planning_subtree/attack_obstacle_in_path,
/datum/ai_planning_subtree/basic_melee_attack_subtree,
@@ -82,6 +84,7 @@
/datum/ai_controller/basic_controller/simple/soviet/ranged
planning_subtrees = list(
/datum/ai_planning_subtree/random_speech/soviet,
/datum/ai_planning_subtree/target_retaliate/check_faction,
/datum/ai_planning_subtree/simple_find_target,
/datum/ai_planning_subtree/basic_melee_attack_subtree/opportunistic,
/datum/ai_planning_subtree/maintain_distance,