From 886d015f042e86b03ba56c023a905152cd6e4245 Mon Sep 17 00:00:00 2001 From: Vekter Date: Fri, 1 Dec 2023 15:53:11 -0600 Subject: [PATCH] Ports feral cats and feral cat grenades from Hippie (#80031) ## About The Pull Request Feral Cats are just a hostile variant of cats that will fuck you up if they see you. They are added solely for the sake of feral cat grenades - a new, interesting, and fuzzy way to get out of a jam or just wreak havoc around you. Each one costs 5 TC and spawns 5 really pissed off cats to chase down assistants in the hallway. They don't currently ignore traitors or the person who threw them - I haven't worked out how to do that with our faction system (Hippie gave them the syndicate faction but traitors don't get that on our codebase). If anyone wants to contribute or help me suss that out it'll be cool, otherwise just don't be around if there's nobody else for them to maul. ## Why It's Good For The Game They're funny. ## Changelog :cl: Vekter add: Added a new hostile variant of cats, "feral cats". add: Added a new traitor item, "feral cat grenades". For 5 TC, you too can throw a grenade at someone and make five cats maul them to death. /:cl: --- code/__DEFINES/mobfactions.dm | 2 ++ code/game/objects/items/grenades/spawnergrenade.dm | 6 ++++++ code/modules/mob/living/basic/pets/cat/feral.dm | 9 +++++++++ code/modules/uplink/uplink_items/dangerous.dm | 7 +++++++ tgstation.dme | 1 + 5 files changed, 25 insertions(+) create mode 100644 code/modules/mob/living/basic/pets/cat/feral.dm diff --git a/code/__DEFINES/mobfactions.dm b/code/__DEFINES/mobfactions.dm index a7dcbee90e801..d503a499d0da0 100644 --- a/code/__DEFINES/mobfactions.dm +++ b/code/__DEFINES/mobfactions.dm @@ -21,6 +21,8 @@ #define FACTION_CLOWN "clowns" /// Headslugs #define FACTION_CREATURE "creature" +/// Cats +#define FACTION_CAT "cat" /// Faithless and shadowpeople #define FACTION_FAITHLESS "faithless" /// Gnomes diff --git a/code/game/objects/items/grenades/spawnergrenade.dm b/code/game/objects/items/grenades/spawnergrenade.dm index 1b9d9ff27d094..df3739afcc6c2 100644 --- a/code/game/objects/items/grenades/spawnergrenade.dm +++ b/code/game/objects/items/grenades/spawnergrenade.dm @@ -71,3 +71,9 @@ inhand_icon_state = null spawner_type = /mob/living/basic/clown/mutant deliveryamt = 5 + +/obj/item/grenade/spawnergrenade/cat + name = "Catnade" + desc = "You can hear faint meowing and the sounds of claws on metal coming from within." + spawner_type = /mob/living/basic/pet/cat/feral + deliveryamt = 5 diff --git a/code/modules/mob/living/basic/pets/cat/feral.dm b/code/modules/mob/living/basic/pets/cat/feral.dm new file mode 100644 index 0000000000000..7bb27cd6b4bc6 --- /dev/null +++ b/code/modules/mob/living/basic/pets/cat/feral.dm @@ -0,0 +1,9 @@ +/mob/living/basic/pet/cat/feral + name = "feral cat" + desc = "Kitty!! Wait, no no DON'T BITE-" + health = 30 + maxHealth = 30 + melee_damage_lower = 15 + melee_damage_upper = 7 + ai_controller = /datum/ai_controller/basic_controller/simple_hostile + faction = list(FACTION_CAT, ROLE_SYNDICATE) diff --git a/code/modules/uplink/uplink_items/dangerous.dm b/code/modules/uplink/uplink_items/dangerous.dm index e84657e7884f9..4574bd7f48e39 100644 --- a/code/modules/uplink/uplink_items/dangerous.dm +++ b/code/modules/uplink/uplink_items/dangerous.dm @@ -96,3 +96,10 @@ cost = 13 surplus = 50 purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS) //nukies get their own version + +/datum/uplink_item/dangerous/cat + name = "Feral cat grenade" + desc = "This grenade is filled with 5 feral cats in stasis. Upon activation, the feral cats are awoken and unleashed unto unlucky bystanders. WARNING: The cats are not trained to discern friend from foe!" + cost = 5 + item = /obj/item/grenade/spawnergrenade/cat + surplus = 30 diff --git a/tgstation.dme b/tgstation.dme index 50cd7ad5fe65d..6515cbaf8086d 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4597,6 +4597,7 @@ #include "code\modules\mob\living\basic\pets\cat\bread_cat_ai.dm" #include "code\modules\mob\living\basic\pets\cat\cat.dm" #include "code\modules\mob\living\basic\pets\cat\cat_ai.dm" +#include "code\modules\mob\living\basic\pets\cat\feral.dm" #include "code\modules\mob\living\basic\pets\cat\keeki.dm" #include "code\modules\mob\living\basic\pets\cat\kitten_ai.dm" #include "code\modules\mob\living\basic\pets\cat\runtime.dm"