Files
Bubberstation/code/datums/elements/ore_collecting.dm
SkyratBot d8056a2c68 [MIRROR] basic gutlunchers and ashwalker ranching [MDB IGNORE] (#24970)
* basic gutlunchers and ashwalker ranching

* Update goldgrub.dm

* UpdatePaths

* Modular

* Modular

* Modular

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-11-13 09:42:16 -05:00

27 lines
664 B
Plaintext

/*
* A component to allow us to collect ore
*/
/datum/element/ore_collecting
/datum/element/ore_collecting/Attach(datum/target)
. = ..()
if(!isliving(target))
return ELEMENT_INCOMPATIBLE
RegisterSignal(target, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(collect_ore))
/datum/element/ore_collecting/Detach(datum/target)
. = ..()
UnregisterSignal(target, COMSIG_HOSTILE_PRE_ATTACKINGTARGET)
/datum/element/ore_collecting/proc/collect_ore(mob/living/source, atom/target)
SIGNAL_HANDLER
if(!istype(target, /obj/item/stack/ore))
return
var/atom/movable/movable_target = target
movable_target.forceMove(source)
return COMPONENT_HOSTILE_NO_ATTACK