From aa1d3af97602f0752d56d3dad127db1c0d04f00f Mon Sep 17 00:00:00 2001 From: Casey Date: Sun, 6 Nov 2022 13:36:48 -0500 Subject: [PATCH 1/2] Merge pull request #14046 from Very-Soft/healmobs Healing mobs aren't racist against all other simplemobs anymore --- code/modules/mob/living/simple_mob/simple_mob_vr.dm | 1 + .../mob/living/simple_mob/subtypes/vore/bigdragon.dm | 12 ++++++++++++ .../living/simple_mob/subtypes/vore/leopardmander.dm | 2 ++ .../mob/living/simple_mob/subtypes/vore/pakkun.dm | 2 ++ .../simple_mob/subtypes/vore/shadekin/types.dm | 2 ++ 5 files changed, 19 insertions(+) diff --git a/code/modules/mob/living/simple_mob/simple_mob_vr.dm b/code/modules/mob/living/simple_mob/simple_mob_vr.dm index 9298c57734..44337adbf6 100644 --- a/code/modules/mob/living/simple_mob/simple_mob_vr.dm +++ b/code/modules/mob/living/simple_mob/simple_mob_vr.dm @@ -57,6 +57,7 @@ can_be_drop_prey = TRUE //CHOMP Add This also counts for spontaneous prey for telenoms and phase noms. var/damage_threshold = 0 //For some mobs, they have a damage threshold required to deal damage to them. + var/nom_mob = FALSE //If a mob is meant to be hostile for vore purposes but is otherwise not hostile, if true makes certain AI ignore the mob var/voremob_loaded = FALSE //CHOMPedit: On-demand belly loading. diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm index 07231caf07..93f1ca1866 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm @@ -189,6 +189,7 @@ I think I covered everything. player_msg = "You're a variant of the large dragon stripped of its firebreath attack (harm intent). You can still charge (disarm) and tail sweep (grab). Rest to heal slowly. Check your abilities tab for functions." norange = 1 noenrage = 1 + nom_mob = TRUE // Weakened variant for maintpreds /mob/living/simple_mob/vore/bigdragon/friendly/maintpred @@ -947,6 +948,17 @@ I think I covered everything. if(L.stat) if(L.stat == DEAD && !handle_corpse) // Leave dead things alone return + if(isanimal(L)) //Don't attack simplemobs unless they are hostile. + var/mob/living/simple_mob/M = L + if(M.client) //Don't attack players for no reason even if they're a traditionally hostile mob + return 0 + if(M.nom_mob) //Don't attack mobs that are hostile for their vore functions to work + return 0 + if(M.ai_holder) //Don't attack non-hostile mobs + if(M.ai_holder.hostile) + return 1 + else return 0 + else return 0 if(holder.IIsAlly(L)) if(confirmPatient(L)) holder.a_intent = I_HELP diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm b/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm index 5427b978c9..37db06011b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm @@ -47,6 +47,8 @@ vore_pounce_maxhealth = 125 vore_bump_emote = "tries to snap up" + nom_mob = TRUE + /datum/category_item/catalogue/fauna/leopardmander name = "Sivian Fauna - Va'aen Drake" desc = "Classification: S Draconis uncia\ diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm b/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm index baa9dd42bb..dcdaf87b6f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm @@ -52,6 +52,8 @@ var/extra_posessive = FALSE // Enable if you want their tummy hugs to be inescapable var/autorest_cooldown = 100 + nom_mob = TRUE + /mob/living/simple_mob/vore/pakkun/Life() . = ..() if(client) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm index d09e72aa97..7619cfdaf7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm @@ -167,6 +167,8 @@ area is very taxing on you, but you gain energy extremely fast in any very dark area. You're weaker than other \ shadekin, but your fast energy generation in the dark allows you to phase shift more often." + nom_mob = TRUE + /mob/living/simple_mob/shadekin/yellow ai_holder_type = /datum/ai_holder/simple_mob/melee/hit_and_run