mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 12:35:33 +01:00
4a5104e4a0
## About The Pull Request Allows people to detach a cleaner and vacuum (uses the trash bag) from janitor borgs. This option uses zero water management and doesn't create slip tiles. The module can be locked with alt click. <img width="342" height="681" alt="image" src="https://github.com/user-attachments/assets/0fe53f8b-d850-4354-aa70-382ca40dcd37" /> <img width="590" height="581" alt="image" src="https://github.com/user-attachments/assets/70fea653-ad20-479a-8986-fed0e15af4b1" /> https://github.com/user-attachments/assets/ff81a214-1bfb-4a33-a660-ccb563e310af Sounds are from soundsnap and properly licenced. https://soundsnap.zendesk.com/hc/en-us/articles/115003916431-Legal ## Why It's Good For The Game I think co-op mechanics are fun. If you manage to get a friend, this is an option with zero water management. I feel like janitor borgs don't really have much the way to cooperate with their base mechanics. You can walk into a department and clean it wordlessly. This gives the option where you can clean with your friend (or the crime scene you're trying to scrub) ## Changelog 🆑 StrangeWeirdKitten, Toriate (sprites) add: Janitor borgs now have a crew operated end that allows their squishy overlords to do some cleaning themselves. /🆑
25 lines
955 B
Plaintext
25 lines
955 B
Plaintext
/**For items automatically offered to a player when they pull a borg.*/
|
|
|
|
/datum/component/borg_item_offered_when_pulled
|
|
var/mob/living/silicon/robot
|
|
|
|
/datum/component/borg_item_offered_when_pulled/Initialize(mob/living/silicon/robot/borg)
|
|
. = ..()
|
|
if(!isitem(parent))
|
|
return COMPONENT_INCOMPATIBLE
|
|
if(!istype(borg))
|
|
stack_trace("Component assigned to [parent], but was not assigned a ref for type /mob/living/silicon/robot to attach COMSIG_LIVING_GET_PULLED")
|
|
return COMPONENT_INCOMPATIBLE
|
|
RegisterSignal(borg, COMSIG_LIVING_GET_PULLED, PROC_REF(on_pulled))
|
|
ADD_TRAIT(parent, TRAIT_OFFERED_WHEN_PULLED, TRAIT_OFFERED_WHEN_PULLED)
|
|
robot = borg
|
|
|
|
/datum/component/borg_item_offered_when_pulled/Destroy(datum/source, ...)
|
|
UnregisterSignal(robot, COMSIG_LIVING_GET_PULLED)
|
|
robot = null
|
|
return ..()
|
|
|
|
/datum/component/borg_item_offered_when_pulled/proc/on_pulled(mob/living/holder, mob/living/puller)
|
|
SIGNAL_HANDLER
|
|
holder.give(puller, parent)
|