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
🆑 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.
/🆑
This commit is contained in:
PapaMichael
2024-05-12 08:43:08 -07:00
committed by GitHub
parent 400ba8edb5
commit 1b09d8df7d
@@ -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()