diff --git a/code/modules/mob/living/basic/hostile/alien/alien_mob_ai.dm b/code/modules/mob/living/basic/hostile/alien/alien_mob_ai.dm index 9c85b7ffa74..a7a1b3fce67 100644 --- a/code/modules/mob/living/basic/hostile/alien/alien_mob_ai.dm +++ b/code/modules/mob/living/basic/hostile/alien/alien_mob_ai.dm @@ -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, diff --git a/code/modules/mob/living/basic/hostile/alien/alien_mob_hunter.dm b/code/modules/mob/living/basic/hostile/alien/alien_mob_hunter.dm index eb8c62f5b31..bbaceff36e1 100644 --- a/code/modules/mob/living/basic/hostile/alien/alien_mob_hunter.dm +++ b/code/modules/mob/living/basic/hostile/alien/alien_mob_hunter.dm @@ -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)) diff --git a/code/modules/mob/living/basic/hostile/drakehound.dm b/code/modules/mob/living/basic/hostile/drakehound.dm index 943cd471436..959fe40e339 100644 --- a/code/modules/mob/living/basic/hostile/drakehound.dm +++ b/code/modules/mob/living/basic/hostile/drakehound.dm @@ -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, diff --git a/code/modules/mob/living/basic/hostile/pirate.dm b/code/modules/mob/living/basic/hostile/pirate.dm index d7f578002a7..9d3da7a1ef5 100644 --- a/code/modules/mob/living/basic/hostile/pirate.dm +++ b/code/modules/mob/living/basic/hostile/pirate.dm @@ -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, diff --git a/code/modules/mob/living/basic/hostile/soviet.dm b/code/modules/mob/living/basic/hostile/soviet.dm index e8bcfb000ad..a57d5ea2785 100644 --- a/code/modules/mob/living/basic/hostile/soviet.dm +++ b/code/modules/mob/living/basic/hostile/soviet.dm @@ -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,