mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 00:29:02 +01:00
Fixes holodeck monkeys gibbing (#80660)
Holodeck takes apart all hologram atoms, blindly. This breaks a lot, but most notably people. I've also went and given monkeys organs again, which were removed in #79068. This broke incredibly hard, because monkeys can't live without DNA or organs (who would've thought) Fixes #80369, #79184 🆑 fix: Holodeck monkeys are properly cleaned up now fix: Holodeck monkeys have organs now /🆑 Look they're so happy and wont gib on deload  --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
This commit is contained in:
@@ -286,6 +286,7 @@ GLOBAL_LIST_INIT(typecache_holodeck_linked_floorcheck_ok, typecacheof(list(/turf
|
||||
RegisterSignal(holo_effect_product, COMSIG_QDELETING, PROC_REF(remove_from_holo_lists))
|
||||
if(islist(holo_effect_product))
|
||||
for(var/atom/atom_product as anything in holo_effect_product)
|
||||
spawned += atom_product
|
||||
RegisterSignal(atom_product, COMSIG_QDELETING, PROC_REF(remove_from_holo_lists))
|
||||
return
|
||||
|
||||
@@ -325,6 +326,8 @@ GLOBAL_LIST_INIT(typecache_holodeck_linked_floorcheck_ok, typecacheof(list(/turf
|
||||
UnregisterSignal(holo_atom, COMSIG_QDELETING)
|
||||
var/turf/target_turf = get_turf(holo_atom)
|
||||
for(var/atom/movable/atom_contents as anything in holo_atom) //make sure that things inside of a holoitem are moved outside before destroying it
|
||||
if(atom_contents.flags_1 & HOLOGRAM_1) //hologram in hologram is fine
|
||||
continue
|
||||
atom_contents.forceMove(target_turf)
|
||||
|
||||
if(istype(holo_atom, /obj/item/clothing/under))
|
||||
|
||||
@@ -105,6 +105,13 @@
|
||||
/obj/effect/holodeck_effect/mobspawner/monkey
|
||||
mobtype = /mob/living/carbon/human/species/monkey/holodeck
|
||||
|
||||
/obj/effect/holodeck_effect/mobspawner/monkey/activate(obj/machinery/computer/holodeck/computer)
|
||||
var/mob/living/carbon/human/monkey = ..()
|
||||
. = list() + monkey
|
||||
|
||||
for(var/atom/atom as anything in monkey.contents + monkey.organs)
|
||||
. += atom
|
||||
|
||||
/obj/effect/holodeck_effect/mobspawner/penguin
|
||||
mobtype = /mob/living/basic/pet/penguin/emperor/neuter
|
||||
|
||||
|
||||
Reference in New Issue
Block a user