Files
cowbot92 f87a55400f [PORT] New Heretic Path Semi-Port: Void Path (#20379)
* set up heretic baseline

sets up void path baseline + grasp

* a whole bunch of shit

modifies so much stuff bro

* new spell! yippie

adds funny slip spell and proper port of void blast

* a lot of updates

adds pretty much everything except lore (lol!)

* updates desc + lore

going to add a lot of lore next fml

* lore lol

im not writing all that shit bro someone else do it

* updates suit stuff

per mqiib pr dont merge until his is done

* a lot of code cleanup

Makes a lot of the heretic code more fucking readable Jesus Christ, also makes void mark actually do what it's supposed to do lol

* ok

ok

* fuck mqiib

he can update his file bro

* adjusts phase/void phase range

ye

* re-adds void suit

thanks mqqib

* oops forgot this

haha

* no putting on void outfit

updated to match my previous patches

* doesn't need to be so much I thnk

fair change

* meaningless change to make it work? maybe?

this is literally all mqiib's fault

* random commit 2!!!!

lol!!!
2023-09-27 18:44:11 -05:00

51 lines
1.5 KiB
Plaintext

/datum/status_effect/freon
id = "frozen"
duration = 100
status_type = STATUS_EFFECT_UNIQUE
alert_type = /atom/movable/screen/alert/status_effect/freon
var/icon/cube
var/can_melt = TRUE
/atom/movable/screen/alert/status_effect/freon
name = "Frozen Solid"
desc = "You're frozen inside an ice cube, and cannot move! You can still do stuff, like shooting. Resist out of the cube!"
icon_state = "frozen"
/datum/status_effect/freon/on_apply()
RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(owner_resist))
if(!owner.stat)
to_chat(owner, span_userdanger("You become frozen in a cube!"))
cube = icon('icons/effects/freeze.dmi', "ice_cube")
owner.add_overlay(cube)
owner.update_mobility()
return ..()
/datum/status_effect/freon/tick()
owner.update_mobility()
if(can_melt && owner.bodytemperature >= BODYTEMP_NORMAL)
qdel(src)
/datum/status_effect/freon/proc/owner_resist()
to_chat(owner, "You start breaking out of the ice cube!")
if(do_after(owner, 4 SECONDS, owner))
if(!QDELETED(src))
to_chat(owner, "You break out of the ice cube!")
owner.remove_status_effect(/datum/status_effect/freon)
owner.update_mobility()
/datum/status_effect/freon/on_remove()
if(!owner.stat)
to_chat(owner, "The cube melts!")
owner.cut_overlay(cube)
owner.adjust_bodytemperature(100)
owner.update_mobility()
UnregisterSignal(owner, COMSIG_LIVING_RESIST)
/datum/status_effect/freon/watcher
duration = 8
can_melt = FALSE
/datum/status_effect/freon/lasting
id = "lasting_frozen"
duration = -1