mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-27 10:02:12 +00:00
22 lines
637 B
Plaintext
22 lines
637 B
Plaintext
/datum/component/slippery
|
|
var/intensity
|
|
var/lube_flags
|
|
var/mob/slip_victim
|
|
|
|
/datum/component/slippery/Initialize(_intensity, _lube_flags = NONE)
|
|
intensity = max(_intensity, 0)
|
|
lube_flags = _lube_flags
|
|
if(ismovableatom(parent))
|
|
RegisterSignal(COMSIG_MOVABLE_CROSSED, .proc/Slip)
|
|
else
|
|
RegisterSignal(COMSIG_ATOM_ENTERED, .proc/Slip)
|
|
|
|
/datum/component/slippery/proc/Slip(atom/movable/AM)
|
|
var/mob/victim = AM
|
|
if(istype(victim) && !victim.is_flying() && victim.slip(intensity, parent, lube_flags))
|
|
slip_victim = victim
|
|
return TRUE
|
|
|
|
/datum/component/slippery/AfterComponentActivated()
|
|
slip_victim = null
|