Irradiated mouse tweaks (#32062)

* cheese heal

* admin spawned test fix

* brute kits no longer heal

* increased alpha

* lowered inherent radiation

* rad spike on eat + moved admin spawned check

* 20k rads on eat + moved brute pack logic
This commit is contained in:
Christer2222
2026-06-13 22:07:01 +00:00
committed by GitHub
parent 5786470976
commit 7e64a2b9b8
3 changed files with 42 additions and 4 deletions
@@ -72,18 +72,20 @@
var/alpha_rad = 0
var/beta_rad = 0
var/gamma_rad = 0
var/alpha_rad_per_level = 500
var/beta_rad_per_level = 500
var/alpha_rad_per_level = 400
var/beta_rad_per_level = 400
var/gamma_rad_per_level = 0
var/radiation_cooldown = 0.1
var/produce_radioactive_sludge = FALSE
var/speed_per_level = -0.5
var/speed_capstone_alpha = 50
var/speed_capstone_alpha = 125
var/has_exited_vents = FALSE
var/seconds_time_till_death = 60 * 15
var/cheese_heal = 2
var/datum/spell/irradiated_mouse_spell/upgrade_radiation/upgrade_radiation_spell
var/datum/spell/irradiated_mouse_spell/upgrade_speed/upgrade_speed_spell
var/datum/spell/irradiated_mouse_spell/upgrade_damage/upgrade_damage_spell
@@ -100,6 +102,18 @@
AddSpell(upgrade_speed_spell)
AddSpell(upgrade_damage_spell)
/mob/living/basic/mouse/irradiated_mouse/try_consume_cheese(obj/item/food/sliced/cheesewedge/cheese)
if(health >= maxHealth)
return
visible_message(
SPAN_NOTICE("[src] gorges on [cheese]."),
SPAN_NOTICE("You gorge on [cheese][health < maxHealth ? ", restoring your health" : ""].")
)
adjustBruteLoss(-cheese_heal)
qdel(cheese)
/mob/living/basic/mouse/irradiated_mouse/update_desc()
. = ..()
desc = initial(desc) // we dont want the standard description auto added by mice
@@ -114,6 +128,9 @@
/mob/living/basic/mouse/irradiated_mouse/remove_ventcrawl()
. = ..()
start_death_countdown()
/mob/living/basic/mouse/irradiated_mouse/proc/start_death_countdown()
if(!has_exited_vents)
upgrade_radiation()
upgrade_speed()
@@ -126,7 +143,10 @@
return
if(!has_exited_vents)
return
if(admin_spawned)
start_death_countdown()
else
return
// telegraph the radiation by giving tiles harmless alpha radiation
for(var/turf/turf in range(1, src))
@@ -168,6 +168,21 @@
if(!ishuman(M))
return FALSE
if(istype(M, /mob/living/basic/mouse/irradiated_mouse))
if(!istype(/mob/living, user))
return FALSE
var/mob/living/living_user = user
if(HAS_TRAIT(living_user, TRAIT_RADIMMUNE) || isrobot(living_user))
to_chat(user, SPAN_NOTICE("[M] is moving around too much for you to treat it."))
else
to_chat(user, SPAN_WARN("You feel too sick to do that!"))
if(user.radiation < 1000)
living_user.apply_effect(250, IRRADIATE)
return FALSE
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/affecting = H.get_organ(user.zone_selected)
for(var/obj/item/organ/external/E in H.bodyparts)
@@ -256,6 +256,9 @@
continue
if(stat != DEAD)
if(M.stat == DEAD && !iscarbon(M))
if(istype(M, /mob/living/basic/mouse/irradiated_mouse))
apply_effect(20000, IRRADIATE) // You willingly ate the green mouse that is clearly making everyone sick, this is on you.
LAZYREMOVE(stomach_contents, M)
qdel(M)
continue