diff --git a/code/controllers/subsystems/events.dm b/code/controllers/subsystems/events.dm
index 24ce81fab4c..89d911851cc 100644
--- a/code/controllers/subsystems/events.dm
+++ b/code/controllers/subsystems/events.dm
@@ -21,7 +21,8 @@ SUBSYSTEM_DEF(events)
/datum/controller/subsystem/events/fire(resumed)
for(var/datum/event/E in active_events)
- E.process()
+ if(E.processing_active) //VOREStation Edit
+ E.process() //VOREStation Edit
for(var/i = EVENT_LEVEL_MUNDANE to EVENT_LEVEL_MAJOR)
var/list/datum/event_container/EC = event_containers[i]
diff --git a/code/datums/ghost_query_vr.dm b/code/datums/ghost_query_vr.dm
new file mode 100644
index 00000000000..e74aa9ff1a2
--- /dev/null
+++ b/code/datums/ghost_query_vr.dm
@@ -0,0 +1,4 @@
+/datum/ghost_query/morph
+ role_name = "Morph"
+ question = "A weird morphic creature appears to have snuck onstation. Do you want to play as it? ((Expect to be treated as vore predator))"
+ cutoff_number = 1
\ No newline at end of file
diff --git a/code/game/objects/structures/ghost_pods/silicon_vr.dm b/code/game/objects/structures/ghost_pods/silicon_vr.dm
index e9e707b6642..ffb8019c3da 100644
--- a/code/game/objects/structures/ghost_pods/silicon_vr.dm
+++ b/code/game/objects/structures/ghost_pods/silicon_vr.dm
@@ -1,7 +1,7 @@
/obj/structure/ghost_pod/manual/lost_drone/dogborg
/obj/structure/ghost_pod/manual/lost_drone/dogborg/create_occupant(var/mob/M)
- var/response = alert(M, "What type of lost drone are you? Do note, that dogborgs may have experienced different type of corruption ((Potential for having vore-related laws))", "Drone Type", "Regular", "Dogborg")
+ var/response = alert(M, "What type of lost drone are you? Do note, that dogborgs may have experienced different type of corruption ((High potential for having vore-related laws))", "Drone Type", "Regular", "Dogborg")
if(!(response == "Dogborg")) // No response somehow or Regular
return ..()
else
diff --git a/code/modules/events/event.dm b/code/modules/events/event.dm
index 3af0e949828..9706c59052a 100644
--- a/code/modules/events/event.dm
+++ b/code/modules/events/event.dm
@@ -49,6 +49,7 @@
var/isRunning = 1 //If this event is currently running. You should not change this.
var/startedAt = 0 //When this event started.
var/endedAt = 0 //When this event ended.
+ var/processing_active = TRUE //VOREStation Addition
var/datum/event_meta/event_meta = null
/datum/event/nothing
diff --git a/code/modules/events/event_container_vr.dm b/code/modules/events/event_container_vr.dm
index 3cb0243e667..284d74906f9 100644
--- a/code/modules/events/event_container_vr.dm
+++ b/code/modules/events/event_container_vr.dm
@@ -81,7 +81,8 @@
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Spider Infestation", /datum/event/spider_infestation, 30, list(ASSIGNMENT_SECURITY = 30), 1),
//Evil grubs that drain station power slightly
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grub Infestation", /datum/event/grub_infestation, 0, list(ASSIGNMENT_SECURITY = 10, ASSIGNMENT_ENGINEER = 30), 1),
- new /datum/event_meta(EVENT_LEVEL_MODERATE, "Drone Pod Drop", /datum/event/drone_pod_drop, 10, list(ASSIGNMENT_SCIENTIST = 40), 1)
+ new /datum/event_meta(EVENT_LEVEL_MODERATE, "Drone Pod Drop", /datum/event/drone_pod_drop, 10, list(ASSIGNMENT_SCIENTIST = 40), 1),
+ new /datum/event_meta(EVENT_LEVEL_MODERATE, "Morph Spawn", /datum/event/morph_spawn, 75, list(ASSIGNMENT_SECURITY = 35), 1)
)
add_disabled_events(list(
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Appendicitis", /datum/event/spontaneous_appendicitis, 0, list(ASSIGNMENT_MEDICAL = 30), 1),
diff --git a/code/modules/events/morph_spawn_vr.dm b/code/modules/events/morph_spawn_vr.dm
new file mode 100644
index 00000000000..9f24b333d77
--- /dev/null
+++ b/code/modules/events/morph_spawn_vr.dm
@@ -0,0 +1,46 @@
+/datum/event/morph_spawn
+ startWhen = 1
+ announceWhen = 15
+ var/announceProb = 50
+
+/datum/event/morph_spawn/start()
+ processing_active = FALSE
+
+ var/obj/effect/landmark/spawnspot = null
+ var/list/possibleSpawnspots = list()
+ for(var/obj/effect/landmark/newSpawnspot in landmarks_list)
+ if(newSpawnspot.name == "morphspawn")
+ possibleSpawnspots += newSpawnspot
+ if(possibleSpawnspots.len)
+ spawnspot = pick(possibleSpawnspots)
+ else
+ break
+
+ if(!spawnspot)
+ processing_active = TRUE
+ return
+
+ var/datum/ghost_query/Q = new /datum/ghost_query/morph()
+ var/list/winner = Q.query()
+
+ if(winner.len)
+ var/mob/living/simple_mob/vore/hostile/morph/newMorph = new /mob/living/simple_mob/vore/hostile/morph(get_turf(spawnspot))
+ var/mob/observer/dead/D = winner[1]
+ if(D.mind)
+ D.mind.transfer_to(newMorph)
+ to_chat(D, "You are a Morph, somehow having gotten aboard the station in your wandering. \
+ You are wary of environment around you, but your primal hunger still calls for you to find prey. Seek a convincing disguise, \
+ using your amorphous form to traverse vents to find and consume weak prey.")
+ to_chat(D, "You can use shift + click on objects to disguise yourself as them, but your strikes are nearly useless when you are disguised. \
+ You can undisguise yourself by shift + clicking yourself, but disguise being switched, or turned on and off has a short cooldown.")
+ newMorph.ckey = D.ckey
+ newMorph.visible_message("A morph appears to crawl out of somewhere.")
+ else
+ processing_active = TRUE
+ return
+
+ processing_active = TRUE
+
+/datum/event/morph_spawn/announce()
+ if(announceProb)
+ command_announcement.Announce("Unknown entitity detected boarding [station_name()]. Exercise extra caution.", "Lifesign Alert", new_sound = 'sound/AI/aliens.ogg')
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/robot/subtypes/lost_drone_vr.dm b/code/modules/mob/living/silicon/robot/subtypes/lost_drone_vr.dm
index 18561f02e92..03908045a19 100644
--- a/code/modules/mob/living/silicon/robot/subtypes/lost_drone_vr.dm
+++ b/code/modules/mob/living/silicon/robot/subtypes/lost_drone_vr.dm
@@ -32,7 +32,7 @@
..()
laws = give_random_lawset_vore()
-/mob/living/silicon/proc/give_random_lawset_vore() // Should be filled out with more vorish possibilities later
+/mob/living/silicon/proc/give_random_lawset_vore()
// Decide what kind of laws we want to draw from.
var/law_class = pick(
prob(25);"good",
@@ -41,7 +41,7 @@
prob(15);"corrupted",
prob(10);"bad")
- var/vore_law = prob(50) // 1/2 chance of having vore-related laws
+ var/vore_law = prob(80) // 4/5 chance of having vore-related laws
if(vore_law)
switch(law_class)
diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm
index 199d82b5617..e31045c1220 100644
--- a/maps/tether/tether-01-surface1.dmm
+++ b/maps/tether/tether-01-surface1.dmm
@@ -6956,6 +6956,9 @@
dir = 6
},
/obj/machinery/light,
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
/turf/simulated/floor/tiled/techfloor,
/area/tether/surfacebase/public_garden_one)
"ami" = (
@@ -9378,6 +9381,9 @@
icon_state = "alarm0";
pixel_x = 24
},
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
/turf/simulated/floor/tiled,
/area/tether/surfacebase/north_stairs_one)
"aqd" = (
@@ -21765,6 +21771,9 @@
dir = 4;
pixel_x = 24
},
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
/turf/simulated/floor/tiled/steel_dirty,
/area/rnd/xenobiology/xenoflora_storage)
"aJD" = (
@@ -30447,6 +30456,9 @@
icon_state = "tube-construct-stage1";
dir = 1
},
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
/turf/simulated/floor/wood,
/area/vacant/vacant_bar)
"aZJ" = (
diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm
index 1915d55f54c..9a23064bd68 100644
--- a/maps/tether/tether-02-surface2.dmm
+++ b/maps/tether/tether-02-surface2.dmm
@@ -9656,12 +9656,20 @@
/turf/simulated/floor/tiled/techfloor,
/area/server)
"asU" = (
-/obj/effect/floor_decal/techfloor{
- dir = 6
+/obj/machinery/firealarm{
+ dir = 2;
+ layer = 3.3;
+ pixel_x = 4;
+ pixel_y = 26
},
-/obj/structure/flora/pottedplant/dead,
-/turf/simulated/floor/tiled/techfloor,
-/area/server)
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
+/turf/simulated/floor/tiled/white,
+/area/tether/surfacebase/medical/paramed)
"asV" = (
/obj/effect/floor_decal/borderfloor{
dir = 8;
@@ -15018,21 +15026,15 @@
/turf/simulated/floor/plating,
/area/engineering/drone_fabrication)
"aBC" = (
-/obj/machinery/light_switch{
- pixel_y = 28
+/obj/effect/floor_decal/techfloor{
+ dir = 6
},
-/obj/effect/floor_decal/industrial/warning/corner{
- icon_state = "warningcorner";
- dir = 8
+/obj/structure/flora/pottedplant/dead,
+/obj/effect/landmark{
+ name = "morphspawn"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 10
- },
-/obj/machinery/light/small{
- dir = 4
- },
-/turf/simulated/floor/plating,
-/area/engineering/drone_fabrication)
+/turf/simulated/floor/tiled/techfloor,
+/area/server)
"aBD" = (
/obj/structure/railing{
dir = 4
@@ -22683,17 +22685,24 @@
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/storage)
"aPW" = (
-/obj/machinery/firealarm{
- dir = 2;
- layer = 3.3;
- pixel_x = 4;
- pixel_y = 26
+/obj/machinery/light_switch{
+ pixel_y = 28
},
-/obj/machinery/atmospherics/unary/vent_pump/on{
+/obj/effect/floor_decal/industrial/warning/corner{
+ icon_state = "warningcorner";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/machinery/light/small{
dir = 4
},
-/turf/simulated/floor/tiled/white,
-/area/tether/surfacebase/medical/paramed)
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
+/turf/simulated/floor/plating,
+/area/engineering/drone_fabrication)
"aPX" = (
/obj/machinery/alarm{
pixel_x = 0;
@@ -36510,7 +36519,7 @@ aqf
aqP
arx
asj
-asU
+aBC
aok
aul
aui
@@ -39362,7 +39371,7 @@ ayG
azp
aDs
aAU
-aBC
+aPW
aCa
aCA
aCA
@@ -41290,7 +41299,7 @@ aab
aab
aac
aNz
-aPW
+asU
ahh
aan
ahd
diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm
index 1d7885268de..ff30c930282 100644
--- a/maps/tether/tether-03-surface3.dmm
+++ b/maps/tether/tether-03-surface3.dmm
@@ -8388,22 +8388,17 @@
/turf/simulated/floor/tiled/techfloor/grid,
/area/crew_quarters/panic_shelter)
"anW" = (
-/obj/structure/extinguisher_cabinet{
- pixel_y = -31
- },
-/obj/effect/floor_decal/techfloor,
-/obj/effect/floor_decal/techfloor/hole,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
-/obj/structure/cable/green{
- d1 = 1;
- d2 = 8;
- icon_state = "1-8"
+/obj/effect/floor_decal/techfloor{
+ dir = 6
},
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
-/turf/simulated/floor/tiled/techfloor,
-/area/crew_quarters/panic_shelter)
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/tether/surfacebase/medical/triage)
"anX" = (
/obj/machinery/light/small,
/obj/effect/floor_decal/industrial/warning/corner{
@@ -8502,8 +8497,25 @@
/turf/simulated/floor/tiled/techfloor,
/area/crew_quarters/panic_shelter)
"aog" = (
-/turf/simulated/floor/tiled,
-/area/tether/surfacebase/north_stairs_three)
+/obj/structure/extinguisher_cabinet{
+ pixel_y = -31
+ },
+/obj/effect/floor_decal/techfloor,
+/obj/effect/floor_decal/techfloor/hole,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/crew_quarters/panic_shelter)
"aoh" = (
/obj/machinery/alarm{
dir = 8;
@@ -26669,14 +26681,11 @@
/turf/simulated/floor/tiled,
/area/rnd/outpost/xenobiology/outpost_main)
"aSu" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 9
+/obj/effect/landmark{
+ name = "morphspawn"
},
-/obj/effect/floor_decal/techfloor{
- dir = 6
- },
-/turf/simulated/floor/tiled/dark,
-/area/tether/surfacebase/medical/triage)
+/turf/simulated/floor/tiled,
+/area/tether/surfacebase/north_stairs_three)
"aSv" = (
/obj/structure/cable/green{
icon_state = "4-8"
@@ -27847,6 +27856,12 @@
/turf/simulated/floor/reinforced,
/turf/simulated/shuttle/plating/carry,
/area/shuttle/tether/surface)
+"aUm" = (
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/tether/surfacebase/shuttle_pad)
"aUx" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -41887,7 +41902,7 @@ alQ
amA
alc
anH
-aog
+aSu
aoA
alc
apx
@@ -44639,7 +44654,7 @@ aOu
aNx
aPc
aPr
-aPM
+aUm
aQa
aPb
aac
@@ -45695,7 +45710,7 @@ aab
aaq
aag
aSo
-aSu
+anW
aaz
aca
aca
@@ -47566,7 +47581,7 @@ alu
amk
amL
ant
-anW
+aog
aop
aoO
apj
diff --git a/maps/tether/tether-05-station1.dmm b/maps/tether/tether-05-station1.dmm
index 588538d4c97..9f591f058d8 100644
--- a/maps/tether/tether-05-station1.dmm
+++ b/maps/tether/tether-05-station1.dmm
@@ -6193,6 +6193,9 @@
/area/gateway)
"akF" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
/turf/simulated/floor/tiled/dark,
/area/gateway)
"akG" = (
@@ -17252,6 +17255,23 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor,
/area/maintenance/station/spacecommandmaint)
+"aDS" = (
+/obj/structure/mirror{
+ dir = 4;
+ pixel_x = 28;
+ pixel_y = 0
+ },
+/obj/structure/sink{
+ dir = 4;
+ icon_state = "sink";
+ pixel_x = 11;
+ pixel_y = 0
+ },
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
+/turf/simulated/floor/tiled/white,
+/area/crew_quarters/sleep/engi_wash)
"aDT" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -17491,6 +17511,12 @@
},
/turf/simulated/floor/tiled,
/area/tether/station/visitorhallway/laundry)
+"aEk" = (
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/abandonedlibrary)
"aEl" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
@@ -17518,6 +17544,18 @@
},
/turf/simulated/floor/tiled,
/area/tether/station/dock_two)
+"aEo" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
+/turf/simulated/floor/tiled,
+/area/tether/station/dock_two)
"aEx" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{
icon_state = "map";
@@ -17904,20 +17942,6 @@
},
/turf/simulated/floor/tiled,
/area/engineering/hallway)
-"aGx" = (
-/obj/structure/mirror{
- dir = 4;
- pixel_x = 28;
- pixel_y = 0
- },
-/obj/structure/sink{
- dir = 4;
- icon_state = "sink";
- pixel_x = 11;
- pixel_y = 0
- },
-/turf/simulated/floor/tiled/white,
-/area/crew_quarters/sleep/engi_wash)
"aGy" = (
/obj/structure/cable{
d1 = 1;
@@ -31321,7 +31345,7 @@ auz
aBE
aLj
aEM
-aGx
+aDS
aIn
aKl
aMp
@@ -31501,7 +31525,7 @@ aHw
aDK
aEn
aEO
-aFt
+aEo
aGb
aIR
bPF
@@ -37031,7 +37055,7 @@ amU
aoK
anY
apk
-anp
+aEk
aqc
amU
aac
diff --git a/maps/tether/tether-06-station2.dmm b/maps/tether/tether-06-station2.dmm
index ffdc9e60c95..9baf0f43893 100644
--- a/maps/tether/tether-06-station2.dmm
+++ b/maps/tether/tether-06-station2.dmm
@@ -2540,6 +2540,9 @@
icon_state = "alarm0";
pixel_y = -22
},
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
/turf/simulated/floor/tiled/white,
/area/tether/exploration/showers)
"dG" = (
@@ -8651,6 +8654,9 @@
d2 = 8;
icon_state = "4-8"
},
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
/turf/simulated/floor/tiled/dark,
/area/storage/tech)
"mF" = (
@@ -12692,6 +12698,9 @@
/obj/machinery/hologram/holopad,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
/turf/simulated/floor/tiled/dark,
/area/ai_monitored/storage/eva)
"sR" = (
@@ -13950,6 +13959,17 @@
"uW" = (
/turf/simulated/wall,
/area/medical/morgue)
+"uX" = (
+/obj/machinery/alarm{
+ dir = 4;
+ pixel_x = -23;
+ pixel_y = 0
+ },
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
+/turf/simulated/floor/tiled/white,
+/area/medical/recoveryrestroom)
"uY" = (
/obj/structure/table/woodentable,
/obj/item/weapon/paper_bin{
@@ -18634,14 +18654,6 @@
},
/turf/simulated/floor/tiled/white,
/area/medical/ward)
-"CM" = (
-/obj/machinery/alarm{
- dir = 4;
- pixel_x = -23;
- pixel_y = 0
- },
-/turf/simulated/floor/tiled/white,
-/area/medical/recoveryrestroom)
"CN" = (
/obj/machinery/washing_machine,
/turf/simulated/floor/tiled/white,
@@ -33641,7 +33653,7 @@ Ay
BM
Cf
Cz
-CM
+uX
Ce
EG
EQ
diff --git a/maps/tether/tether-07-station3.dmm b/maps/tether/tether-07-station3.dmm
index a3402bb4de2..00d0304308d 100644
--- a/maps/tether/tether-07-station3.dmm
+++ b/maps/tether/tether-07-station3.dmm
@@ -4560,6 +4560,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
/turf/simulated/floor/tiled,
/area/security/eva)
"hw" = (
@@ -6365,11 +6368,10 @@
/turf/simulated/floor/tiled,
/area/security/hallwayaux)
"jV" = (
-/obj/machinery/light/small{
- dir = 1
- },
-/turf/simulated/floor/tiled,
-/area/maintenance/station/cargo)
+/obj/structure/shuttle/engine/propulsion,
+/turf/simulated/floor/reinforced,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/shuttle/excursion/tether)
"jW" = (
/obj/structure/bed/chair/office/dark{
dir = 4
@@ -13152,10 +13154,17 @@
/turf/simulated/floor/wood,
/area/hallway/station/upper)
"un" = (
-/obj/structure/shuttle/engine/propulsion,
-/turf/simulated/floor/reinforced,
-/turf/simulated/shuttle/plating/airless/carry,
-/area/shuttle/excursion/tether)
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 5
+ },
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
+/turf/simulated/floor/tiled,
+/area/security/security_bathroom)
"uo" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -17512,11 +17521,14 @@
/turf/simulated/floor/tiled,
/area/tether/station/stairs_three)
"Bb" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 10
+/obj/machinery/light/small{
+ dir = 1
},
-/turf/simulated/floor/tiled/dark,
-/area/security/nuke_storage)
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
+/turf/simulated/floor/tiled,
+/area/maintenance/station/cargo)
"Bc" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 4
@@ -27093,24 +27105,24 @@
/turf/simulated/floor/tiled/white,
/area/medical/virology)
"Qp" = (
-/obj/structure/shuttle/engine/propulsion{
- dir = 8;
- icon_state = "propulsion_l"
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
},
-/turf/space,
-/turf/simulated/shuttle/plating/airless/carry,
-/area/shuttle/large_escape_pod1/station)
+/obj/effect/landmark{
+ name = "morphspawn"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/security/nuke_storage)
"Qq" = (
-/obj/structure/shuttle/engine/propulsion{
- dir = 8
+/obj/effect/landmark{
+ name = "morphspawn"
},
-/turf/space,
-/turf/simulated/shuttle/plating/airless/carry,
-/area/shuttle/large_escape_pod1/station)
+/turf/simulated/floor/tiled/white,
+/area/crew_quarters/medical_restroom)
"Qr" = (
/obj/structure/shuttle/engine/propulsion{
dir = 8;
- icon_state = "propulsion_r"
+ icon_state = "propulsion_l"
},
/turf/space,
/turf/simulated/shuttle/plating/airless/carry,
@@ -27134,6 +27146,21 @@
"Qt" = (
/turf/simulated/wall,
/area/tether/exploration)
+"Qu" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 8
+ },
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/shuttle/large_escape_pod1/station)
+"Qv" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 8;
+ icon_state = "propulsion_r"
+ },
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/shuttle/large_escape_pod1/station)
"Qw" = (
/obj/effect/floor_decal/techfloor{
dir = 8
@@ -34189,7 +34216,7 @@ xw
xw
zf
zT
-Bb
+Qp
BW
CU
xw
@@ -35489,7 +35516,7 @@ Qx
Nl
Md
Nl
-Nl
+Qq
Yz
vt
vt
@@ -39326,11 +39353,11 @@ MK
Iy
ab
NL
-Qp
-Qq
-Qq
-Qq
Qr
+Qu
+Qu
+Qu
+Qv
NL
vt
vt
@@ -39417,7 +39444,7 @@ TX
WB
uL
Uw
-UV
+un
fG
af
fc
@@ -40553,7 +40580,7 @@ Zy
WG
dj
XA
-un
+jV
ms
Oz
be
@@ -40578,7 +40605,7 @@ vv
xS
fF
AH
-jV
+Bb
yP
AH
Ai
@@ -40695,7 +40722,7 @@ UJ
Xb
dj
XN
-un
+jV
ms
Xq
be
@@ -40837,7 +40864,7 @@ iW
WS
dj
XN
-un
+jV
ms
Xq
be
@@ -41120,7 +41147,7 @@ jZ
WR
Xo
XN
-un
+jV
cK
ms
Xq
@@ -41688,7 +41715,7 @@ ea
kx
dj
XN
-un
+jV
cK
ms
mq
@@ -41973,7 +42000,7 @@ kQ
TG
dj
XN
-un
+jV
ms
mq
be
@@ -42115,7 +42142,7 @@ kR
Vd
dj
XN
-un
+jV
ms
QL
be
@@ -42257,7 +42284,7 @@ ZE
ZB
dj
XB
-un
+jV
ms
Sq
be
diff --git a/vorestation.dme b/vorestation.dme
index afaf1e4bffd..246ff80b72c 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -271,6 +271,7 @@
#include "code\datums\datumvars.dm"
#include "code\datums\EPv2.dm"
#include "code\datums\ghost_query.dm"
+#include "code\datums\ghost_query_vr.dm"
#include "code\datums\hierarchy.dm"
#include "code\datums\mind.dm"
#include "code\datums\mind_vr.dm"
@@ -1870,6 +1871,7 @@
#include "code\modules\events\money_hacker.dm"
#include "code\modules\events\money_lotto.dm"
#include "code\modules\events\money_spam.dm"
+#include "code\modules\events\morph_spawn_vr.dm"
#include "code\modules\events\prison_break.dm"
#include "code\modules\events\radiation_storm.dm"
#include "code\modules\events\random_antagonist.dm"