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.
This commit is contained in:
SatinIsle
2023-09-23 12:40:16 +01:00
parent dda0a07458
commit 62bc133ca4
12 changed files with 19 additions and 7 deletions
@@ -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
@@ -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
@@ -131,6 +131,7 @@
retaliate = TRUE
speak_chance = 0.5
wander = TRUE
belly_attack = FALSE
/mob/living/simple_mob/vore/alienanimals/catslug/Initialize()
. = ..()
@@ -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
@@ -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"
@@ -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(
@@ -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
@@ -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(
@@ -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(
@@ -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)
@@ -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()
..()