mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
18 lines
705 B
Plaintext
18 lines
705 B
Plaintext
/*
|
|
'Aura' modifiers are semi-permanent, in that they do not have a set duration, but will expire if out of range of the 'source' of the aura.
|
|
Note: The source is defined as an argument in New(), and if not specified, it is assumed the holder is the source,
|
|
making it not expire ever, which is likely not what you want.
|
|
*/
|
|
|
|
/datum/modifier/aura
|
|
var/aura_max_distance = 5 // If more than this many tiles away from the source, the modifier expires next tick.
|
|
|
|
/datum/modifier/aura/check_if_valid()
|
|
if(!origin)
|
|
expire()
|
|
var/atom/A = origin.resolve()
|
|
if(istype(A)) // Make sure we're not null.
|
|
if(get_dist(holder, A) > aura_max_distance)
|
|
expire()
|
|
else
|
|
expire() // Source got deleted or something. |