mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 03:27:05 +01:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user