From 185dc898f47ee4111d8be2f92a113c5a5dcbc818 Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Sun, 8 Aug 2021 23:28:29 -0400 Subject: [PATCH] Merge pull request #11370 from VOREStation/Arokha/shipnom Allows you to eat spaceships --- code/controllers/subsystems/skybox.dm | 12 ++++++++--- code/modules/overmap/ships/ship_vr.dm | 31 +++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 code/modules/overmap/ships/ship_vr.dm diff --git a/code/controllers/subsystems/skybox.dm b/code/controllers/subsystems/skybox.dm index 99f69ec595..52065ad241 100644 --- a/code/controllers/subsystems/skybox.dm +++ b/code/controllers/subsystems/skybox.dm @@ -122,9 +122,15 @@ SUBSYSTEM_DEF(skybox) if(istype(O)) var/image/self_image = O.generate_skybox(z) new_overlays += self_image - for(var/obj/effect/overmap/visitable/other in O.loc) - if(other != O) - new_overlays += other.get_skybox_representation(z) + //VOREStation Add + if(isbelly(O.loc)) // Teehee + base.icon = 'icons/skybox/skybox_vr.dmi' + base.icon_state = "flesh" + //VOREStation Add End + else + for(var/obj/effect/overmap/visitable/other in O.loc) + if(other != O) + new_overlays += other.get_skybox_representation(z) // Allow events to apply custom overlays to skybox! (Awesome!) for(var/datum/event/E in SSevents.active_events) diff --git a/code/modules/overmap/ships/ship_vr.dm b/code/modules/overmap/ships/ship_vr.dm new file mode 100644 index 0000000000..329c1ec146 --- /dev/null +++ b/code/modules/overmap/ships/ship_vr.dm @@ -0,0 +1,31 @@ +/obj/effect/overmap/visitable/ship/Initialize() + . = ..() + listening_objects += src + +/obj/effect/overmap/visitable/ship/Destroy() + listening_objects -= src + return ..() + +/obj/effect/overmap/visitable/ship/MouseDrop(atom/over) + if(!isliving(over) || !Adjacent(over) || !Adjacent(usr)) + return + var/mob/living/L = over + var/confirm = tgui_alert(L, "You COULD eat this spaceship...", "Eat spaceship?", list("Eat it!", "No, thanks.")) + if(confirm == "Eat it!") + var/obj/belly/bellychoice = tgui_input_list(usr, "Which belly?","Select A Belly", L.vore_organs) + if(bellychoice) + L.visible_message("[L] is trying to stuff \the [src] into [L.gender == MALE ? "his" : L.gender == FEMALE ? "her" : "their"] [bellychoice]!","You begin putting \the [src] into your [bellychoice]!") + if(do_after(L, 5 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE)) + forceMove(bellychoice) + L.visible_message("[L] eats a spaceship! This is totally normal.","You eat the the spaceship! Yum, metal.") + +/obj/effect/overmap/visitable/ship/hear_talk(mob/talker, list/message_pieces, verb) + . = ..() + + var/list/listeners = list() + for(var/mapz in map_z) + var/list/thatz = GLOB.players_by_zlevel[mapz] + listeners += thatz + + for(var/mob/M as anything in listeners) + M.hear_say(message_pieces, verb, talker)