From 62bc133ca41664df3f1b6a9df9f49ea235b5aae7 Mon Sep 17 00:00:00 2001 From: SatinIsle Date: Sat, 23 Sep 2023 12:40:16 +0100 Subject: [PATCH 1/2] Edible retaliate mobs Makes some mobs that are retaliate or vore hostile stop fighting whilst inside a belly. Specifically: Squirrels, bats, peasants, sheep, succubi, vampires, wolfgirls and wolftaurs. Also adds this to passive mobs, which won't change anything normally as they don't fight when eaten. However, it will mean that catgirls and lamia, which are normally passive, will stop fighting in a belly if spawned via the semirandom mob spawner. --- code/modules/ai/ai_holder_subtypes/simple_mob_ai.dm | 4 ++++ code/modules/ai/ai_holder_targeting_vr.dm | 3 +++ .../simple_mob/subtypes/animal/alien animals/catslug.dm | 1 + .../modules/mob/living/simple_mob/subtypes/animal/squirrel.dm | 2 +- code/modules/mob/living/simple_mob/subtypes/vore/bat.dm | 2 +- code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm | 2 +- code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm | 2 +- code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm | 2 +- code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm | 2 +- code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm | 3 +++ code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm | 1 + vorestation.dme | 2 +- 12 files changed, 19 insertions(+), 7 deletions(-) diff --git a/code/modules/ai/ai_holder_subtypes/simple_mob_ai.dm b/code/modules/ai/ai_holder_subtypes/simple_mob_ai.dm index 7b1fbcb9ba..c23a4d92e6 100644 --- a/code/modules/ai/ai_holder_subtypes/simple_mob_ai.dm +++ b/code/modules/ai/ai_holder_subtypes/simple_mob_ai.dm @@ -18,6 +18,7 @@ can_flee = TRUE violent_breakthrough = FALSE base_wander_delay = 8 //vorestation edit, to make pets slow. + belly_attack = FALSE //They already don't fight back, so this ensures that catgirls and similar are still edible when they are spawned as retaliate or aggressive by semi-random mob spawners. // Won't wander away as quickly, ideal for event-spawned mobs like carp or drones. /datum/ai_holder/simple_mob/event @@ -150,6 +151,9 @@ /datum/ai_holder/simple_mob/retaliate/chill base_wander_delay = 8 +/datum/ai_holder/simple_mob/retaliate/edible + belly_attack = FALSE + // Simple mobs that retaliate and support others in their faction who get attacked. /datum/ai_holder/simple_mob/retaliate/cooperative cooperative = TRUE diff --git a/code/modules/ai/ai_holder_targeting_vr.dm b/code/modules/ai/ai_holder_targeting_vr.dm index 0828e1b468..21283904f2 100644 --- a/code/modules/ai/ai_holder_targeting_vr.dm +++ b/code/modules/ai/ai_holder_targeting_vr.dm @@ -11,6 +11,9 @@ forgive_resting = TRUE cooperative = FALSE +/datum/ai_holder/simple_mob/vore/edible + belly_attack = FALSE + /datum/ai_holder/simple_mob/vore/micro_hunter micro_hunt = TRUE micro_hunt_size = 0.8 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm index ad2c558a73..d203d12949 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm @@ -131,6 +131,7 @@ retaliate = TRUE speak_chance = 0.5 wander = TRUE + belly_attack = FALSE /mob/living/simple_mob/vore/alienanimals/catslug/Initialize() . = ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm b/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm index 456f3d166f..9b62bc7da4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm @@ -40,7 +40,7 @@ attacktext = list("nipped", "squeaked at") friendly = list("nuzzles", "nibbles", "leans on") - ai_holder_type = /datum/ai_holder/simple_mob/retaliate + ai_holder_type = /datum/ai_holder/simple_mob/retaliate/edible has_langs = list(LANGUAGE_ANIMAL) say_list_type = /datum/say_list/squirrel diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm b/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm index 23ffa3d1b1..ce439c1561 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm @@ -17,7 +17,7 @@ attacktext = list("bites","scratches") say_list_type = /datum/say_list/bat - ai_holder_type = /datum/ai_holder/simple_mob/retaliate + ai_holder_type = /datum/ai_holder/simple_mob/retaliate/edible faction = "vampire" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm b/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm index 24d331a19f..1bd10e9ee1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm @@ -17,7 +17,7 @@ attacktext = list("punched","kicked") say_list_type = /datum/say_list/peasant - ai_holder_type = /datum/ai_holder/simple_mob/retaliate + ai_holder_type = /datum/ai_holder/simple_mob/retaliate/edible var/random_skin = 1 var/list/skins = list( diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm b/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm index a4066e4758..75c8f94b3d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm @@ -33,7 +33,7 @@ mount_offset_x = 0 say_list_type = /datum/say_list/sheep - ai_holder_type = /datum/ai_holder/simple_mob/retaliate + ai_holder_type = /datum/ai_holder/simple_mob/retaliate/edible // var/harvestable_wool = TRUE //Relating to wool growth and shearing down below. // var/wool_growth = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm b/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm index 221c5b2278..3b5d4f986d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm @@ -17,7 +17,7 @@ attacktext = list("swatted","bapped") say_list_type = /datum/say_list/succubus - ai_holder_type = /datum/ai_holder/simple_mob/retaliate + ai_holder_type = /datum/ai_holder/simple_mob/retaliate/edible var/random_skin = 1 var/list/skins = list( diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm b/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm index 603c27a8ba..aff5101ff0 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm @@ -16,7 +16,7 @@ attacktext = list("bites","sucks","drinks from") say_list_type = /datum/say_list/count - ai_holder_type = /datum/ai_holder/simple_mob/vore + ai_holder_type = /datum/ai_holder/simple_mob/vore/edible var/random_skin = 1 var/list/skins = list( diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm b/code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm index fa4595459a..cc5779da73 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm @@ -30,6 +30,9 @@ vore_pounce_chance = 40 vore_icons = SA_ICON_LIVING +/datum/ai_holder/simple_mob/retaliate/cooperative/wolfgirl + belly_attack = FALSE + /datum/ai_holder/simple_mob/retaliate/cooperative/wolfgirl/on_hear_say(mob/living/speaker, message) if(!speaker.client) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm b/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm index 441fd42f19..2e33cd97b7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm @@ -66,6 +66,7 @@ /datum/ai_holder/simple_mob/retaliate/wolftaur base_wander_delay = 8 + belly_attack = FALSE /mob/living/simple_mob/vore/wolftaur/init_vore() ..() diff --git a/vorestation.dme b/vorestation.dme index a8480c804d..5510d23fca 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -4272,6 +4272,6 @@ #include "maps\submaps\space_submaps\debrisfield\debrisfield.dm" #include "maps\submaps\surface_submaps\wilderness\wilderness.dm" #include "maps\submaps\surface_submaps\wilderness\wilderness_areas.dm" -#include "maps\tether\tether.dm" +#include "maps\virgo_minitest\virgo_minitest.dm" #include "maps\~map_system\maps.dm" // END_INCLUDE From 5e1c98a2229448285f04dfaf1570cd87e4c83bf6 Mon Sep 17 00:00:00 2001 From: SatinIsle Date: Sat, 23 Sep 2023 12:41:35 +0100 Subject: [PATCH 2/2] Unticks virgo minitest --- vorestation.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vorestation.dme b/vorestation.dme index 5510d23fca..a8480c804d 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -4272,6 +4272,6 @@ #include "maps\submaps\space_submaps\debrisfield\debrisfield.dm" #include "maps\submaps\surface_submaps\wilderness\wilderness.dm" #include "maps\submaps\surface_submaps\wilderness\wilderness_areas.dm" -#include "maps\virgo_minitest\virgo_minitest.dm" +#include "maps\tether\tether.dm" #include "maps\~map_system\maps.dm" // END_INCLUDE