From 1b09d8df7dfde39676dd7e8ee33f1769da1761ac Mon Sep 17 00:00:00 2001 From: PapaMichael Date: Sun, 12 May 2024 11:43:08 -0400 Subject: [PATCH] Rat Kings can no longer create grime and miasma while ventcrawling (#83176) ## About The Pull Request Blocks Rat Kings from using "Rat King's Domain" (the spell that spawns dirt/vomit/oil and creates miasma) while ventcrawling. Also blocks Rat Kings from summoning mice while in pipes; as far as I can tell, this is just an oversight, as it previously created a mouse stuck inside of the pipe without the normal chat message. ## Why It's Good For The Game Rat Kings are supposed to build a lair of filth, a rat king visiting every department in the distro pipes while spamming motor oil is boring, lame, lacks any contextual sense that a rat inside a pipe could dirty the floor above it, and doesn't really have any counterplay besides begging atmos to up the temperature (which they realistically probably will never do because it's a rat king not a xeno or a ling). Ling spells are blocked while crawling so there's precedent for it. ## Changelog :cl: PapaMichael fix: Rat Kings can no longer trap mice inside of pipes by creating them while ventcrawling. balance: Rat Kings can no longer create grime and miasma while ventcrawling. /:cl: --- .../space_fauna/regal_rat/regal_rat_actions.dm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat_actions.dm b/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat_actions.dm index df7eb0c42b3..feb6ebb7c3b 100644 --- a/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat_actions.dm +++ b/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat_actions.dm @@ -15,6 +15,15 @@ button_icon_state = "coffer" shared_cooldown = NONE +/datum/action/cooldown/mob_cooldown/domain/IsAvailable(feedback = FALSE) + . = ..() + if (!.) + return FALSE + if (owner.movement_type & VENTCRAWLING) + if (feedback) + owner.balloon_alert(owner, "can't use while ventcrawling!") + return FALSE + /datum/action/cooldown/mob_cooldown/domain/proc/domain() var/turf/location = get_turf(owner) location.atmos_spawn_air("[GAS_MIASMA]=4;[TURF_TEMPERATURE(T20C)]") @@ -69,6 +78,15 @@ /datum/pet_command/point_targeting/attack/glockroach ) +/datum/action/cooldown/mob_cooldown/riot/IsAvailable(feedback = FALSE) + . = ..() + if (!.) + return FALSE + if (owner.movement_type & VENTCRAWLING) + if (feedback) + owner.balloon_alert(owner, "can't use while ventcrawling!") + return FALSE + /datum/action/cooldown/mob_cooldown/riot/Activate(atom/target) StartCooldown(10 SECONDS) riot()