mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-09 16:07:40 +00:00
29 lines
660 B
Plaintext
29 lines
660 B
Plaintext
#define SHORT 5/7
|
|
#define TALL 7/5
|
|
|
|
/datum/element/squish
|
|
element_flags = ELEMENT_DETACH
|
|
|
|
/datum/element/squish/Attach(datum/target, duration)
|
|
. = ..()
|
|
if(!iscarbon(target))
|
|
return ELEMENT_INCOMPATIBLE
|
|
|
|
var/mob/living/carbon/C = target
|
|
var/was_lying = (C.lying != 0)
|
|
addtimer(CALLBACK(src, .proc/Detach, C, was_lying), duration)
|
|
|
|
C.transform = C.transform.Scale(TALL, SHORT)
|
|
|
|
/datum/element/squish/Detach(mob/living/carbon/C, was_lying)
|
|
. = ..()
|
|
if(istype(C))
|
|
var/is_lying = (C.lying != 0)
|
|
if(was_lying == is_lying)
|
|
C.transform = C.transform.Scale(SHORT, TALL)
|
|
else
|
|
C.transform = C.transform.Scale(TALL, SHORT)
|
|
|
|
#undef SHORT
|
|
#undef TALL
|