This commit is contained in:
Gandalf
2022-07-01 22:08:22 +01:00
committed by GitHub
parent 9720677a2a
commit 1a0a2d39ef
4 changed files with 36 additions and 9 deletions
+29
View File
@@ -51,3 +51,32 @@
/datum/status_effect/freon/watcher
duration = 8
can_melt = FALSE
/datum/status_effect/hypernob_protection
id = "hypernob_protection"
duration = 10 SECONDS
alert_type = /atom/movable/screen/alert/status_effect/hypernob_protection
/datum/status_effect/hypernob_protection/on_creation(mob/living/new_owner, duration = 10 SECONDS)
src.duration = duration
return ..()
/atom/movable/screen/alert/status_effect/hypernob_protection
name = "Hyper-Noblium Protection"
desc = "The Hyper-Noblium around your body is protecting it from self-combustion and fires, but you feel sluggish..."
icon_state = "hypernob_protection"
/datum/status_effect/hypernob_protection/on_apply()
if(!ishuman(owner))
CRASH("[type] status effect added to non-human owner: [owner ? owner.type : "null owner"]")
var/mob/living/carbon/human/human_owner = owner
human_owner.add_movespeed_modifier(/datum/movespeed_modifier/reagent/hypernoblium) //small slowdown as a tradeoff
ADD_TRAIT(human_owner, TRAIT_NOFIRE, type)
return TRUE
/datum/status_effect/hypernob_protection/on_remove()
if(!ishuman(owner))
stack_trace("[type] status effect being removed from non-human owner: [owner ? owner.type : "null owner"]")
var/mob/living/carbon/human/human_owner = owner
human_owner.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/hypernoblium)
REMOVE_TRAIT(human_owner, TRAIT_NOFIRE, type)
@@ -31,6 +31,9 @@
/datum/movespeed_modifier/reagent/halon
multiplicative_slowdown = 1.8
/datum/movespeed_modifier/reagent/hypernoblium
multiplicative_slowdown = 0.5
/datum/movespeed_modifier/reagent/lenturi
multiplicative_slowdown = 1.5
@@ -1506,15 +1506,10 @@
taste_description = "searingly cold"
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE
/datum/reagent/hypernoblium/on_mob_metabolize(mob/living/L)
. = ..()
if(isplasmaman(L))
ADD_TRAIT(L, TRAIT_NOFIRE, type)
/datum/reagent/hypernoblium/on_mob_end_metabolize(mob/living/L)
if(isplasmaman(L))
REMOVE_TRAIT(L, TRAIT_NOFIRE, type)
return ..()
/datum/reagent/hypernoblium/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(isplasmaman(M))
M.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/hypernob_protection)
..()
/datum/reagent/healium
name = "Healium"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 117 KiB