Merge pull request #8654 from Ghommie/Ghommie-cit54
ports in the Hilbert's Hotel.
970
_maps/RandomRuins/SpaceRuins/hilbertshoteltestingsite.dmm
Normal file
@@ -0,0 +1,970 @@
|
|||||||
|
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||||
|
"a" = (
|
||||||
|
/turf/open/space/basic,
|
||||||
|
/area/template_noop)
|
||||||
|
"b" = (
|
||||||
|
/turf/open/floor/plating/asteroid/airless,
|
||||||
|
/area/ruin/unpowered/no_grav)
|
||||||
|
"c" = (
|
||||||
|
/turf/closed/wall/r_wall/rust,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"d" = (
|
||||||
|
/turf/closed/wall/r_wall,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"e" = (
|
||||||
|
/obj/machinery/porta_turret/syndicate{
|
||||||
|
desc = "A ballistic machine gun auto-turret that fires bluespace bullets.";
|
||||||
|
lethal_projectile = /obj/item/projectile/magic/teleport;
|
||||||
|
name = "displacement turret";
|
||||||
|
stun_projectile = /obj/item/projectile/magic/teleport
|
||||||
|
},
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"f" = (
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"g" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"h" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/obj/item/stack/sheet/bluespace_crystal{
|
||||||
|
amount = 37
|
||||||
|
},
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"i" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/obj/item/bodybag/bluespace,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"j" = (
|
||||||
|
/turf/open/floor/plasteel/stairs/left,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"k" = (
|
||||||
|
/turf/open/floor/plasteel/stairs/medium,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"l" = (
|
||||||
|
/turf/open/floor/plasteel/stairs/right,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"m" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/obj/item/reagent_containers/syringe/bluespace,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"n" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/obj/item/stock_parts/matter_bin/bluespace,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"o" = (
|
||||||
|
/turf/open/floor/plasteel/vaporwave,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"p" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/obj/item/stack/cable_coil/blue,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"q" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/obj/item/storage/backpack/holding,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"r" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/obj/item/reagent_containers/glass/beaker/bluespace,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"s" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/obj/item/stock_parts/subspace/crystal,
|
||||||
|
/obj/item/stock_parts/subspace/transmitter,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"t" = (
|
||||||
|
/obj/structure/displaycase{
|
||||||
|
start_showpiece_type = /obj/item/hilbertshotel
|
||||||
|
},
|
||||||
|
/turf/open/floor/plasteel/vaporwave,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"u" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/obj/item/analyzer,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"v" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/obj/item/stock_parts/subspace/amplifier,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"w" = (
|
||||||
|
/obj/item/paper/crumpled/docslogs,
|
||||||
|
/obj/item/pen,
|
||||||
|
/turf/open/floor/plasteel/vaporwave,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"x" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/obj/item/assembly/signaler,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"y" = (
|
||||||
|
/obj/structure/table/glass,
|
||||||
|
/obj/item/slimecross/industrial/bluespace,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"z" = (
|
||||||
|
/obj/machinery/door/airlock/vault{
|
||||||
|
name = "secured door";
|
||||||
|
req_access = 207
|
||||||
|
},
|
||||||
|
/obj/effect/mapping_helpers/airlock/locked,
|
||||||
|
/turf/open/floor/plasteel/grimy{
|
||||||
|
icon_state = "engine"
|
||||||
|
},
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"A" = (
|
||||||
|
/obj/structure/filingcabinet,
|
||||||
|
/turf/open/floor/plasteel/grimy,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"B" = (
|
||||||
|
/turf/open/floor/plasteel/grimy,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"C" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/turf/open/floor/plasteel/grimy,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"D" = (
|
||||||
|
/obj/item/twohanded/required/kirbyplants/random,
|
||||||
|
/turf/open/floor/plasteel/grimy,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"E" = (
|
||||||
|
/obj/structure/chair/office,
|
||||||
|
/turf/open/floor/plasteel/grimy,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"F" = (
|
||||||
|
/obj/machinery/door/window/eastleft,
|
||||||
|
/turf/open/floor/plasteel/grimy,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"G" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/item/pen,
|
||||||
|
/turf/open/floor/plasteel/grimy,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"H" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/item/paper/crumpled/robertsworkjournal,
|
||||||
|
/turf/open/floor/plasteel/grimy,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"I" = (
|
||||||
|
/obj/machinery/door/airlock/highsecurity{
|
||||||
|
req_access = 207
|
||||||
|
},
|
||||||
|
/obj/effect/mapping_helpers/airlock/locked,
|
||||||
|
/turf/open/floor/plasteel/grimy,
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
"J" = (
|
||||||
|
/turf/closed/mineral/random,
|
||||||
|
/area/ruin/unpowered/no_grav)
|
||||||
|
"K" = (
|
||||||
|
/turf/open/floor/plasteel/stairs/right{
|
||||||
|
initial_gas_mix = "TEMP=2.7"
|
||||||
|
},
|
||||||
|
/area/ruin/unpowered/no_grav)
|
||||||
|
"U" = (
|
||||||
|
/turf/open/floor/plasteel/stairs/medium{
|
||||||
|
initial_gas_mix = "TEMP=2.7"
|
||||||
|
},
|
||||||
|
/area/ruin/unpowered/no_grav)
|
||||||
|
"X" = (
|
||||||
|
/turf/open/floor/plasteel/stairs/left{
|
||||||
|
initial_gas_mix = "TEMP=2.7"
|
||||||
|
},
|
||||||
|
/area/ruin/unpowered/no_grav)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(2,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(3,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(4,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
J
|
||||||
|
b
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
b
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(5,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
b
|
||||||
|
J
|
||||||
|
b
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(6,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
d
|
||||||
|
d
|
||||||
|
c
|
||||||
|
d
|
||||||
|
d
|
||||||
|
c
|
||||||
|
d
|
||||||
|
d
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(7,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
d
|
||||||
|
e
|
||||||
|
f
|
||||||
|
f
|
||||||
|
m
|
||||||
|
r
|
||||||
|
g
|
||||||
|
g
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
e
|
||||||
|
c
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(8,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
d
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
d
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(9,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
J
|
||||||
|
d
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
c
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(10,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
J
|
||||||
|
c
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
c
|
||||||
|
J
|
||||||
|
b
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
J
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(11,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
J
|
||||||
|
c
|
||||||
|
g
|
||||||
|
f
|
||||||
|
f
|
||||||
|
n
|
||||||
|
s
|
||||||
|
v
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
c
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(12,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
J
|
||||||
|
c
|
||||||
|
g
|
||||||
|
f
|
||||||
|
j
|
||||||
|
o
|
||||||
|
o
|
||||||
|
o
|
||||||
|
j
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
c
|
||||||
|
d
|
||||||
|
d
|
||||||
|
c
|
||||||
|
c
|
||||||
|
d
|
||||||
|
c
|
||||||
|
J
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(13,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
J
|
||||||
|
c
|
||||||
|
h
|
||||||
|
f
|
||||||
|
k
|
||||||
|
o
|
||||||
|
t
|
||||||
|
o
|
||||||
|
k
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
c
|
||||||
|
A
|
||||||
|
B
|
||||||
|
C
|
||||||
|
B
|
||||||
|
D
|
||||||
|
c
|
||||||
|
J
|
||||||
|
J
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(14,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
J
|
||||||
|
c
|
||||||
|
g
|
||||||
|
f
|
||||||
|
l
|
||||||
|
o
|
||||||
|
o
|
||||||
|
w
|
||||||
|
l
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
d
|
||||||
|
B
|
||||||
|
B
|
||||||
|
G
|
||||||
|
B
|
||||||
|
B
|
||||||
|
c
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(15,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
J
|
||||||
|
c
|
||||||
|
i
|
||||||
|
f
|
||||||
|
f
|
||||||
|
p
|
||||||
|
u
|
||||||
|
x
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
d
|
||||||
|
B
|
||||||
|
E
|
||||||
|
H
|
||||||
|
B
|
||||||
|
B
|
||||||
|
c
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(16,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
J
|
||||||
|
c
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
c
|
||||||
|
B
|
||||||
|
B
|
||||||
|
C
|
||||||
|
B
|
||||||
|
B
|
||||||
|
c
|
||||||
|
b
|
||||||
|
J
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(17,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
J
|
||||||
|
d
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
c
|
||||||
|
C
|
||||||
|
F
|
||||||
|
C
|
||||||
|
B
|
||||||
|
B
|
||||||
|
c
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(18,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
J
|
||||||
|
d
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
d
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
d
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(19,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
J
|
||||||
|
d
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
f
|
||||||
|
z
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
d
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(20,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
e
|
||||||
|
f
|
||||||
|
g
|
||||||
|
q
|
||||||
|
g
|
||||||
|
y
|
||||||
|
g
|
||||||
|
f
|
||||||
|
e
|
||||||
|
f
|
||||||
|
c
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
d
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(21,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
d
|
||||||
|
d
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
d
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
d
|
||||||
|
X
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(22,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
J
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
d
|
||||||
|
D
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
B
|
||||||
|
I
|
||||||
|
U
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(23,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
J
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
J
|
||||||
|
b
|
||||||
|
J
|
||||||
|
c
|
||||||
|
d
|
||||||
|
d
|
||||||
|
c
|
||||||
|
d
|
||||||
|
c
|
||||||
|
d
|
||||||
|
K
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(24,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(25,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
b
|
||||||
|
J
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(26,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
J
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(27,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
545
_maps/templates/hilbertshotel.dmm
Normal file
@@ -0,0 +1,545 @@
|
|||||||
|
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||||
|
"a" = (
|
||||||
|
/turf/open/space/bluespace,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"b" = (
|
||||||
|
/turf/closed/indestructible/hotelwall,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"c" = (
|
||||||
|
/obj/machinery/jukebox{
|
||||||
|
req_access = null
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"d" = (
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"e" = (
|
||||||
|
/obj/structure/table/wood,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"f" = (
|
||||||
|
/obj/structure/table/wood,
|
||||||
|
/obj/structure/showcase/machinery/tv,
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"g" = (
|
||||||
|
/obj/structure/dresser,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"h" = (
|
||||||
|
/obj/structure/table/wood/fancy,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"i" = (
|
||||||
|
/obj/structure/table/wood/fancy,
|
||||||
|
/obj/structure/mirror{
|
||||||
|
pixel_y = 24
|
||||||
|
},
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"j" = (
|
||||||
|
/obj/structure/table/wood/fancy,
|
||||||
|
/obj/item/flashlight/lamp/green,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"k" = (
|
||||||
|
/obj/structure/chair/comfy/brown{
|
||||||
|
dir = 4
|
||||||
|
},
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"l" = (
|
||||||
|
/obj/structure/table/wood/poker,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"m" = (
|
||||||
|
/obj/structure/chair/comfy/brown{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 4
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"n" = (
|
||||||
|
/obj/effect/landmark/xmastree,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"o" = (
|
||||||
|
/obj/structure/chair/comfy/brown{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"p" = (
|
||||||
|
/obj/structure/mineral_door/wood,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"q" = (
|
||||||
|
/obj/structure/bed,
|
||||||
|
/obj/item/bedsheet/random,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"r" = (
|
||||||
|
/obj/structure/closet/cabinet{
|
||||||
|
anchored = 1
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"s" = (
|
||||||
|
/obj/structure/table/wood/fancy,
|
||||||
|
/obj/item/reagent_containers/food/snacks/grown/poppy,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"t" = (
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"u" = (
|
||||||
|
/obj/structure/mineral_door/paperframe,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"v" = (
|
||||||
|
/obj/structure/extinguisher_cabinet{
|
||||||
|
pixel_x = 32
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"w" = (
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"x" = (
|
||||||
|
/obj/structure/curtain,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"y" = (
|
||||||
|
/obj/machinery/door/window/northleft,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"z" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"A" = (
|
||||||
|
/obj/structure/mirror{
|
||||||
|
pixel_x = -32
|
||||||
|
},
|
||||||
|
/obj/structure/sink{
|
||||||
|
dir = 8;
|
||||||
|
pixel_x = -12;
|
||||||
|
pixel_y = 2
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"B" = (
|
||||||
|
/obj/structure/chair/stool/bar,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"C" = (
|
||||||
|
/obj/machinery/shower{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"D" = (
|
||||||
|
/obj/machinery/light_switch{
|
||||||
|
pixel_x = 32
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"E" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/item/soap/deluxe,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"F" = (
|
||||||
|
/obj/structure/window/reinforced/tinted{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/obj/structure/window/reinforced/tinted{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"G" = (
|
||||||
|
/obj/machinery/light_switch{
|
||||||
|
pixel_x = -32
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"H" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/machinery/microwave,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"I" = (
|
||||||
|
/turf/closed/indestructible/hoteldoor,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"J" = (
|
||||||
|
/obj/machinery/light/small,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"K" = (
|
||||||
|
/obj/structure/closet/crate/bin,
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 4
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"L" = (
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"M" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 4
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"N" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/item/soap/deluxe,
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"O" = (
|
||||||
|
/obj/item/bikehorn/rubberducky,
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 4
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"P" = (
|
||||||
|
/obj/machinery/light/small,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"Q" = (
|
||||||
|
/obj/machinery/smartfridge/food,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"R" = (
|
||||||
|
/obj/structure/toilet{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/obj/structure/window/reinforced/tinted{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/obj/structure/window/reinforced/tinted{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"S" = (
|
||||||
|
/obj/structure/window/reinforced/tinted{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"T" = (
|
||||||
|
/obj/structure/window/reinforced/tinted{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/obj/structure/window/reinforced/tinted,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"U" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/structure/sink/kitchen,
|
||||||
|
/obj/machinery/light/small,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"V" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/effect/spawner/lootdrop/three_course_meal,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(2,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
I
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(3,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
d
|
||||||
|
d
|
||||||
|
k
|
||||||
|
d
|
||||||
|
d
|
||||||
|
t
|
||||||
|
d
|
||||||
|
y
|
||||||
|
t
|
||||||
|
H
|
||||||
|
z
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(4,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
e
|
||||||
|
d
|
||||||
|
l
|
||||||
|
o
|
||||||
|
d
|
||||||
|
d
|
||||||
|
B
|
||||||
|
z
|
||||||
|
d
|
||||||
|
d
|
||||||
|
z
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(5,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
f
|
||||||
|
d
|
||||||
|
l
|
||||||
|
o
|
||||||
|
d
|
||||||
|
d
|
||||||
|
B
|
||||||
|
V
|
||||||
|
d
|
||||||
|
d
|
||||||
|
U
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(6,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
e
|
||||||
|
d
|
||||||
|
l
|
||||||
|
o
|
||||||
|
d
|
||||||
|
d
|
||||||
|
B
|
||||||
|
z
|
||||||
|
d
|
||||||
|
d
|
||||||
|
z
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(7,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
d
|
||||||
|
m
|
||||||
|
d
|
||||||
|
D
|
||||||
|
K
|
||||||
|
v
|
||||||
|
z
|
||||||
|
M
|
||||||
|
Q
|
||||||
|
z
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(8,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
p
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(9,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
g
|
||||||
|
d
|
||||||
|
t
|
||||||
|
d
|
||||||
|
G
|
||||||
|
u
|
||||||
|
w
|
||||||
|
A
|
||||||
|
N
|
||||||
|
A
|
||||||
|
E
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(10,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
h
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
b
|
||||||
|
w
|
||||||
|
w
|
||||||
|
w
|
||||||
|
w
|
||||||
|
w
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(11,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
i
|
||||||
|
d
|
||||||
|
n
|
||||||
|
d
|
||||||
|
J
|
||||||
|
b
|
||||||
|
L
|
||||||
|
w
|
||||||
|
R
|
||||||
|
w
|
||||||
|
P
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(12,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
h
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
r
|
||||||
|
b
|
||||||
|
x
|
||||||
|
F
|
||||||
|
S
|
||||||
|
T
|
||||||
|
x
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(13,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
b
|
||||||
|
w
|
||||||
|
w
|
||||||
|
w
|
||||||
|
w
|
||||||
|
w
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(14,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
d
|
||||||
|
j
|
||||||
|
q
|
||||||
|
q
|
||||||
|
s
|
||||||
|
b
|
||||||
|
w
|
||||||
|
C
|
||||||
|
O
|
||||||
|
C
|
||||||
|
w
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(15,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(16,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
289
_maps/templates/hilbertshotelempty.dmm
Normal file
@@ -0,0 +1,289 @@
|
|||||||
|
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||||
|
"a" = (
|
||||||
|
/turf/open/space/bluespace,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"b" = (
|
||||||
|
/turf/closed/indestructible/hotelwall,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"c" = (
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"d" = (
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"e" = (
|
||||||
|
/turf/closed/indestructible/hoteldoor,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(2,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
e
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(3,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(4,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(5,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(6,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(7,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(8,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
c
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(9,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(10,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
b
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(11,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
b
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(12,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
b
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(13,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
b
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(14,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
c
|
||||||
|
b
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
d
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(15,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(16,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
639
_maps/templates/hilbertshotellore.dmm
Normal file
@@ -0,0 +1,639 @@
|
|||||||
|
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||||
|
"aa" = (
|
||||||
|
/turf/open/space/bluespace,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ab" = (
|
||||||
|
/turf/closed/indestructible/hotelwall,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ac" = (
|
||||||
|
/obj/structure/table/wood/fancy,
|
||||||
|
/obj/structure/mirror{
|
||||||
|
broken = 1;
|
||||||
|
desc = "Oh no, seven years of bad luck!";
|
||||||
|
icon_state = "mirror_broke";
|
||||||
|
pixel_y = 24
|
||||||
|
},
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ad" = (
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ae" = (
|
||||||
|
/obj/structure/table/wood,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"af" = (
|
||||||
|
/obj/structure/table/wood,
|
||||||
|
/obj/structure/showcase/machinery/tv,
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ag" = (
|
||||||
|
/obj/structure/dresser,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ah" = (
|
||||||
|
/obj/structure/table/wood/fancy,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ai" = (
|
||||||
|
/obj/structure/table/wood/poker,
|
||||||
|
/obj/item/toy/cards/deck,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aj" = (
|
||||||
|
/obj/structure/table/wood/fancy,
|
||||||
|
/obj/item/flashlight/lamp/green,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ak" = (
|
||||||
|
/obj/structure/chair/comfy/brown{
|
||||||
|
dir = 4
|
||||||
|
},
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"al" = (
|
||||||
|
/obj/structure/table/wood/poker,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"am" = (
|
||||||
|
/obj/structure/chair/comfy/brown{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 4
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"an" = (
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ap" = (
|
||||||
|
/obj/structure/bed,
|
||||||
|
/obj/item/bedsheet/random,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aq" = (
|
||||||
|
/obj/structure/chair/comfy/brown{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ar" = (
|
||||||
|
/obj/structure/mineral_door/wood,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"as" = (
|
||||||
|
/turf/closed/indestructible/hoteldoor,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"at" = (
|
||||||
|
/obj/effect/decal/cleanable/cobweb,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"au" = (
|
||||||
|
/obj/machinery/light_switch{
|
||||||
|
pixel_x = -32
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"av" = (
|
||||||
|
/obj/machinery/light/small,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aw" = (
|
||||||
|
/obj/structure/closet/cabinet{
|
||||||
|
anchored = 1
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ax" = (
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/obj/effect/decal/cleanable/cobweb/cobweb2,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ay" = (
|
||||||
|
/obj/structure/closet/crate/bin,
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 4
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"az" = (
|
||||||
|
/obj/structure/mineral_door/paperframe,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aA" = (
|
||||||
|
/obj/structure/chair/stool/bar,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aB" = (
|
||||||
|
/obj/structure/extinguisher_cabinet{
|
||||||
|
pixel_x = 32
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aC" = (
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aD" = (
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aE" = (
|
||||||
|
/obj/structure/curtain,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aF" = (
|
||||||
|
/obj/machinery/door/window/northleft,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aG" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aH" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/item/pen,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aI" = (
|
||||||
|
/obj/structure/mirror{
|
||||||
|
pixel_x = -32
|
||||||
|
},
|
||||||
|
/obj/structure/sink{
|
||||||
|
dir = 8;
|
||||||
|
pixel_x = -12;
|
||||||
|
pixel_y = 2
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aJ" = (
|
||||||
|
/obj/structure/window/reinforced/tinted{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/obj/structure/window/reinforced/tinted{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aK" = (
|
||||||
|
/obj/machinery/shower{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aL" = (
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aM" = (
|
||||||
|
/obj/structure/table/wood/poker,
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aN" = (
|
||||||
|
/obj/structure/toilet{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/obj/structure/window/reinforced/tinted{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/obj/structure/window/reinforced/tinted{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aO" = (
|
||||||
|
/obj/structure/window/reinforced/tinted{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aP" = (
|
||||||
|
/obj/item/bikehorn/rubberducky,
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 4
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aQ" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/machinery/microwave,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aR" = (
|
||||||
|
/obj/machinery/smartfridge/food,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aS" = (
|
||||||
|
/obj/structure/window/reinforced/tinted{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/obj/structure/window/reinforced/tinted,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aT" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/structure/sink/kitchen,
|
||||||
|
/obj/machinery/light/small,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aU" = (
|
||||||
|
/obj/structure/bed,
|
||||||
|
/obj/item/bedsheet/random,
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aV" = (
|
||||||
|
/obj/machinery/light/small,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aW" = (
|
||||||
|
/obj/machinery/jukebox{
|
||||||
|
req_access = null
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aX" = (
|
||||||
|
/obj/machinery/light_switch{
|
||||||
|
pixel_x = 32
|
||||||
|
},
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aY" = (
|
||||||
|
/obj/structure/chair/stool/bar,
|
||||||
|
/obj/effect/decal/cleanable/blood,
|
||||||
|
/obj/effect/decal/cleanable/vomit,
|
||||||
|
/obj/effect/mob_spawn/human/doctorhilbert,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"aZ" = (
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"ba" = (
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/obj/effect/decal/cleanable/cobweb/cobweb2,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"bb" = (
|
||||||
|
/obj/structure/mirror{
|
||||||
|
pixel_x = -32
|
||||||
|
},
|
||||||
|
/obj/structure/sink{
|
||||||
|
dir = 8;
|
||||||
|
pixel_x = -12;
|
||||||
|
pixel_y = 2
|
||||||
|
},
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"bc" = (
|
||||||
|
/obj/effect/decal/cleanable/blood,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"bd" = (
|
||||||
|
/obj/machinery/shower{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"be" = (
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"bf" = (
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"bg" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 4
|
||||||
|
},
|
||||||
|
/obj/effect/decal/cleanable/dirt,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"bh" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/machinery/light/small{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/obj/item/soap/homemade{
|
||||||
|
name = "used soap"
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"bi" = (
|
||||||
|
/obj/effect/decal/cleanable/vomit,
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"bj" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/item/soap/homemade{
|
||||||
|
name = "used soap"
|
||||||
|
},
|
||||||
|
/turf/open/indestructible/hoteltile,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"bk" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/item/analyzer/hilbertsanalyzer,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
"bl" = (
|
||||||
|
/obj/structure/table/reinforced,
|
||||||
|
/obj/item/paper/crumpled/bloody/docsdeathnote,
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotel)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(2,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
as
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(3,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
at
|
||||||
|
aL
|
||||||
|
ak
|
||||||
|
ad
|
||||||
|
aL
|
||||||
|
an
|
||||||
|
ad
|
||||||
|
aF
|
||||||
|
be
|
||||||
|
aQ
|
||||||
|
aG
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(4,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
ae
|
||||||
|
ad
|
||||||
|
al
|
||||||
|
aq
|
||||||
|
ad
|
||||||
|
ad
|
||||||
|
aA
|
||||||
|
aH
|
||||||
|
ad
|
||||||
|
aL
|
||||||
|
aG
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(5,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
af
|
||||||
|
ad
|
||||||
|
ai
|
||||||
|
aq
|
||||||
|
aL
|
||||||
|
ad
|
||||||
|
aY
|
||||||
|
bl
|
||||||
|
ad
|
||||||
|
aL
|
||||||
|
aT
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(6,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
ae
|
||||||
|
ad
|
||||||
|
aM
|
||||||
|
aq
|
||||||
|
ad
|
||||||
|
ad
|
||||||
|
aA
|
||||||
|
bk
|
||||||
|
bf
|
||||||
|
bf
|
||||||
|
aG
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(7,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
aW
|
||||||
|
aL
|
||||||
|
am
|
||||||
|
ad
|
||||||
|
aX
|
||||||
|
ay
|
||||||
|
aB
|
||||||
|
aG
|
||||||
|
bg
|
||||||
|
aR
|
||||||
|
aG
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(8,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ar
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(9,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
ag
|
||||||
|
ad
|
||||||
|
an
|
||||||
|
ad
|
||||||
|
au
|
||||||
|
az
|
||||||
|
aC
|
||||||
|
bb
|
||||||
|
bh
|
||||||
|
aI
|
||||||
|
bj
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(10,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
ah
|
||||||
|
ad
|
||||||
|
aL
|
||||||
|
aL
|
||||||
|
ad
|
||||||
|
ab
|
||||||
|
aZ
|
||||||
|
aZ
|
||||||
|
aC
|
||||||
|
aZ
|
||||||
|
aZ
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(11,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
ac
|
||||||
|
ad
|
||||||
|
ad
|
||||||
|
aL
|
||||||
|
av
|
||||||
|
ab
|
||||||
|
aD
|
||||||
|
aC
|
||||||
|
aN
|
||||||
|
bi
|
||||||
|
aV
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(12,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
ah
|
||||||
|
ad
|
||||||
|
aL
|
||||||
|
ad
|
||||||
|
aw
|
||||||
|
ab
|
||||||
|
aE
|
||||||
|
aJ
|
||||||
|
aO
|
||||||
|
aS
|
||||||
|
aE
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(13,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
ad
|
||||||
|
ad
|
||||||
|
aL
|
||||||
|
ad
|
||||||
|
ad
|
||||||
|
ab
|
||||||
|
aC
|
||||||
|
bc
|
||||||
|
aZ
|
||||||
|
aZ
|
||||||
|
aC
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(14,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
ax
|
||||||
|
aj
|
||||||
|
ap
|
||||||
|
aU
|
||||||
|
ah
|
||||||
|
ab
|
||||||
|
ba
|
||||||
|
bd
|
||||||
|
aP
|
||||||
|
aK
|
||||||
|
aC
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(15,1,1) = {"
|
||||||
|
aa
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
ab
|
||||||
|
aa
|
||||||
|
"}
|
||||||
|
(16,1,1) = {"
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
aa
|
||||||
|
"}
|
||||||
23
_maps/templates/hilbertshotelstorage.dmm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||||
|
"a" = (
|
||||||
|
/turf/closed/indestructible/hotelwall,
|
||||||
|
/area/hilbertshotelstorage)
|
||||||
|
"b" = (
|
||||||
|
/turf/open/indestructible/hotelwood,
|
||||||
|
/area/hilbertshotelstorage)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(2,1,1) = {"
|
||||||
|
a
|
||||||
|
b
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(3,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
@@ -33,6 +33,7 @@ SUBSYSTEM_DEF(mapping)
|
|||||||
var/list/z_list
|
var/list/z_list
|
||||||
var/datum/space_level/transit
|
var/datum/space_level/transit
|
||||||
var/datum/space_level/empty_space
|
var/datum/space_level/empty_space
|
||||||
|
var/num_of_res_levels = 1
|
||||||
|
|
||||||
//dlete dis once #39770 is resolved
|
//dlete dis once #39770 is resolved
|
||||||
/datum/controller/subsystem/mapping/proc/HACK_LoadMapConfig()
|
/datum/controller/subsystem/mapping/proc/HACK_LoadMapConfig()
|
||||||
@@ -449,6 +450,11 @@ GLOBAL_LIST_EMPTY(the_station_areas)
|
|||||||
for(var/i in levels_by_trait(ZTRAIT_RESERVED))
|
for(var/i in levels_by_trait(ZTRAIT_RESERVED))
|
||||||
if(reserve.Reserve(width, height, i))
|
if(reserve.Reserve(width, height, i))
|
||||||
return reserve
|
return reserve
|
||||||
|
//If we didn't return at this point, theres a good chance we ran out of room on the exisiting reserved z levels, so lets try a new one
|
||||||
|
num_of_res_levels += 1
|
||||||
|
var/newReserved = add_new_zlevel("Transit/Reserved [num_of_res_levels]", list(ZTRAIT_RESERVED = TRUE))
|
||||||
|
if(reserve.Reserve(width, height, newReserved))
|
||||||
|
return reserve
|
||||||
else
|
else
|
||||||
if(!level_trait(z, ZTRAIT_RESERVED))
|
if(!level_trait(z, ZTRAIT_RESERVED))
|
||||||
qdel(reserve)
|
qdel(reserve)
|
||||||
@@ -481,6 +487,7 @@ GLOBAL_LIST_EMPTY(the_station_areas)
|
|||||||
LAZYINITLIST(unused_turfs["[T.z]"])
|
LAZYINITLIST(unused_turfs["[T.z]"])
|
||||||
unused_turfs["[T.z]"] |= T
|
unused_turfs["[T.z]"] |= T
|
||||||
T.flags_1 |= UNUSED_RESERVATION_TURF_1
|
T.flags_1 |= UNUSED_RESERVATION_TURF_1
|
||||||
|
GLOB.areas_by_type[world.area].contents += T
|
||||||
CHECK_TICK
|
CHECK_TICK
|
||||||
|
|
||||||
//DO NOT CALL THIS PROC DIRECTLY, CALL wipe_reservations().
|
//DO NOT CALL THIS PROC DIRECTLY, CALL wipe_reservations().
|
||||||
|
|||||||
@@ -282,6 +282,11 @@
|
|||||||
name = "Ancient Cloning Lab"
|
name = "Ancient Cloning Lab"
|
||||||
description = "An experimental cloning lab snapped off from an ancient ship. The cloner model inside lacks many modern functionalities and security measures."
|
description = "An experimental cloning lab snapped off from an ancient ship. The cloner model inside lacks many modern functionalities and security measures."
|
||||||
|
|
||||||
|
/datum/map_template/ruin/space/hilbertresearchfacility
|
||||||
|
id = "hilbert_facility"
|
||||||
|
suffix = "hilbertshoteltestingsite.dmm"
|
||||||
|
name = "Hilbert Research Facility"
|
||||||
|
description = "A research facility of great bluespace discoveries. Long since abandoned, willingly or not..."
|
||||||
/datum/map_template/ruin/space/augmentation
|
/datum/map_template/ruin/space/augmentation
|
||||||
id = "augmentationfacility"
|
id = "augmentationfacility"
|
||||||
suffix = "augmentationfacility.dmm"
|
suffix = "augmentationfacility.dmm"
|
||||||
|
|||||||
@@ -153,7 +153,9 @@
|
|||||||
/area/centcom,
|
/area/centcom,
|
||||||
/area/asteroid,
|
/area/asteroid,
|
||||||
/area/tdome,
|
/area/tdome,
|
||||||
/area/wizard_station
|
/area/wizard_station,
|
||||||
|
/area/hilbertshotel,
|
||||||
|
/area/hilbertshotelstorage
|
||||||
)
|
)
|
||||||
for (var/type in SPECIALS)
|
for (var/type in SPECIALS)
|
||||||
if ( istype(A,type) )
|
if ( istype(A,type) )
|
||||||
|
|||||||
530
code/modules/ruins/spaceruin_code/hilbertshotel.dm
Normal file
@@ -0,0 +1,530 @@
|
|||||||
|
GLOBAL_VAR_INIT(hhStorageTurf, null)
|
||||||
|
GLOBAL_VAR_INIT(hhmysteryRoomNumber, 1337)
|
||||||
|
|
||||||
|
/obj/item/hilbertshotel
|
||||||
|
name = "Hilbert's Hotel"
|
||||||
|
desc = "A sphere of what appears to be an intricate network of bluespace. Observing it in detail seems to give you a headache as you try to comprehend the infinite amount of infinitesimally distinct points on its surface."
|
||||||
|
icon_state = "hilbertshotel"
|
||||||
|
w_class = WEIGHT_CLASS_SMALL
|
||||||
|
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||||
|
var/datum/map_template/hilbertshotel/hotelRoomTemp
|
||||||
|
var/datum/map_template/hilbertshotel/empty/hotelRoomTempEmpty
|
||||||
|
var/datum/map_template/hilbertshotel/lore/hotelRoomTempLore
|
||||||
|
var/list/activeRooms = list()
|
||||||
|
var/list/storedRooms = list()
|
||||||
|
var/storageTurf
|
||||||
|
//Lore Stuff
|
||||||
|
var/ruinSpawned = FALSE
|
||||||
|
var/mysteryRoom
|
||||||
|
|
||||||
|
/obj/item/hilbertshotel/Initialize()
|
||||||
|
. = ..()
|
||||||
|
//Load templates
|
||||||
|
hotelRoomTemp = new()
|
||||||
|
hotelRoomTempEmpty = new()
|
||||||
|
hotelRoomTempLore = new()
|
||||||
|
var/area/currentArea = get_area(src)
|
||||||
|
if(currentArea.type == /area/ruin/space/has_grav/hilbertresearchfacility)
|
||||||
|
ruinSpawned = TRUE
|
||||||
|
|
||||||
|
/obj/item/hilbertshotel/Destroy()
|
||||||
|
ejectRooms()
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/hilbertshotel/attack(mob/living/M, mob/living/user)
|
||||||
|
if(M.mind)
|
||||||
|
to_chat(user, "<span class='notice'>You invite [M] to the hotel.</span>")
|
||||||
|
promptAndCheckIn(M)
|
||||||
|
else
|
||||||
|
to_chat(user, "<span class='warning'>[M] is not intelligent enough to understand how to use this device!</span>")
|
||||||
|
|
||||||
|
/obj/item/hilbertshotel/attack_self(mob/user)
|
||||||
|
. = ..()
|
||||||
|
promptAndCheckIn(user)
|
||||||
|
|
||||||
|
/obj/item/hilbertshotel/proc/promptAndCheckIn(mob/user)
|
||||||
|
var/chosenRoomNumber = input(user, "What number room will you be checking into?", "Room Number") as null|num
|
||||||
|
if(!chosenRoomNumber)
|
||||||
|
return
|
||||||
|
if(chosenRoomNumber > SHORT_REAL_LIMIT)
|
||||||
|
to_chat(user, "<span class='warning'>You have to check out the first [SHORT_REAL_LIMIT] rooms before you can go to a higher numbered one!</span>")
|
||||||
|
return
|
||||||
|
if((chosenRoomNumber < 1) || (chosenRoomNumber != round(chosenRoomNumber)))
|
||||||
|
to_chat(user, "<span class='warning'>That is not a valid room number!</span>")
|
||||||
|
return
|
||||||
|
if(ismob(loc))
|
||||||
|
if(user == loc) //Not always the same as user
|
||||||
|
forceMove(get_turf(user))
|
||||||
|
if(!storageTurf) //Blame subsystems for not allowing this to be in Initialize
|
||||||
|
if(!GLOB.hhStorageTurf)
|
||||||
|
var/datum/map_template/hilbertshotelstorage/storageTemp = new()
|
||||||
|
var/datum/turf_reservation/storageReservation = SSmapping.RequestBlockReservation(3, 3)
|
||||||
|
storageTemp.load(locate(storageReservation.bottom_left_coords[1], storageReservation.bottom_left_coords[2], storageReservation.bottom_left_coords[3]))
|
||||||
|
GLOB.hhStorageTurf = locate(storageReservation.bottom_left_coords[1]+1, storageReservation.bottom_left_coords[2]+1, storageReservation.bottom_left_coords[3])
|
||||||
|
else
|
||||||
|
storageTurf = GLOB.hhStorageTurf
|
||||||
|
if(tryActiveRoom(chosenRoomNumber, user))
|
||||||
|
return
|
||||||
|
if(tryStoredRoom(chosenRoomNumber, user))
|
||||||
|
return
|
||||||
|
sendToNewRoom(chosenRoomNumber, user)
|
||||||
|
|
||||||
|
|
||||||
|
/obj/item/hilbertshotel/proc/tryActiveRoom(var/roomNumber, var/mob/user)
|
||||||
|
if(activeRooms["[roomNumber]"])
|
||||||
|
var/datum/turf_reservation/roomReservation = activeRooms["[roomNumber]"]
|
||||||
|
do_sparks(3, FALSE, get_turf(user))
|
||||||
|
user.forceMove(locate(roomReservation.bottom_left_coords[1] + hotelRoomTemp.landingZoneRelativeX, roomReservation.bottom_left_coords[2] + hotelRoomTemp.landingZoneRelativeY, roomReservation.bottom_left_coords[3]))
|
||||||
|
return TRUE
|
||||||
|
else
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
/obj/item/hilbertshotel/proc/tryStoredRoom(var/roomNumber, var/mob/user)
|
||||||
|
if(storedRooms["[roomNumber]"])
|
||||||
|
var/datum/turf_reservation/roomReservation = SSmapping.RequestBlockReservation(hotelRoomTemp.width, hotelRoomTemp.height)
|
||||||
|
hotelRoomTempEmpty.load(locate(roomReservation.bottom_left_coords[1], roomReservation.bottom_left_coords[2], roomReservation.bottom_left_coords[3]))
|
||||||
|
var/turfNumber = 1
|
||||||
|
for(var/i=0, i<hotelRoomTemp.width, i++)
|
||||||
|
for(var/j=0, j<hotelRoomTemp.height, j++)
|
||||||
|
for(var/atom/movable/A in storedRooms["[roomNumber]"][turfNumber])
|
||||||
|
if(istype(A.loc, /obj/item/abstracthotelstorage))//Don't want to recall something thats been moved
|
||||||
|
A.forceMove(locate(roomReservation.bottom_left_coords[1] + i, roomReservation.bottom_left_coords[2] + j, roomReservation.bottom_left_coords[3]))
|
||||||
|
turfNumber++
|
||||||
|
for(var/obj/item/abstracthotelstorage/S in storageTurf)
|
||||||
|
if((S.roomNumber == roomNumber) && (S.parentSphere == src))
|
||||||
|
qdel(S)
|
||||||
|
storedRooms -= "[roomNumber]"
|
||||||
|
activeRooms["[roomNumber]"] = roomReservation
|
||||||
|
linkTurfs(roomReservation, roomNumber)
|
||||||
|
do_sparks(3, FALSE, get_turf(user))
|
||||||
|
user.forceMove(locate(roomReservation.bottom_left_coords[1] + hotelRoomTemp.landingZoneRelativeX, roomReservation.bottom_left_coords[2] + hotelRoomTemp.landingZoneRelativeY, roomReservation.bottom_left_coords[3]))
|
||||||
|
return TRUE
|
||||||
|
else
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
/obj/item/hilbertshotel/proc/sendToNewRoom(var/roomNumber, var/mob/user)
|
||||||
|
var/datum/turf_reservation/roomReservation = SSmapping.RequestBlockReservation(hotelRoomTemp.width, hotelRoomTemp.height)
|
||||||
|
if(ruinSpawned)
|
||||||
|
mysteryRoom = GLOB.hhmysteryRoomNumber
|
||||||
|
if(roomNumber == mysteryRoom)
|
||||||
|
hotelRoomTempLore.load(locate(roomReservation.bottom_left_coords[1], roomReservation.bottom_left_coords[2], roomReservation.bottom_left_coords[3]))
|
||||||
|
else
|
||||||
|
hotelRoomTemp.load(locate(roomReservation.bottom_left_coords[1], roomReservation.bottom_left_coords[2], roomReservation.bottom_left_coords[3]))
|
||||||
|
else
|
||||||
|
hotelRoomTemp.load(locate(roomReservation.bottom_left_coords[1], roomReservation.bottom_left_coords[2], roomReservation.bottom_left_coords[3]))
|
||||||
|
activeRooms["[roomNumber]"] = roomReservation
|
||||||
|
linkTurfs(roomReservation, roomNumber)
|
||||||
|
do_sparks(3, FALSE, get_turf(user))
|
||||||
|
user.forceMove(locate(roomReservation.bottom_left_coords[1] + hotelRoomTemp.landingZoneRelativeX, roomReservation.bottom_left_coords[2] + hotelRoomTemp.landingZoneRelativeY, roomReservation.bottom_left_coords[3]))
|
||||||
|
|
||||||
|
/obj/item/hilbertshotel/proc/linkTurfs(var/datum/turf_reservation/currentReservation, var/currentRoomnumber)
|
||||||
|
var/area/hilbertshotel/currentArea = get_area(locate(currentReservation.bottom_left_coords[1], currentReservation.bottom_left_coords[2], currentReservation.bottom_left_coords[3]))
|
||||||
|
currentArea.name = "Hilbert's Hotel Room [currentRoomnumber]"
|
||||||
|
currentArea.parentSphere = src
|
||||||
|
currentArea.storageTurf = storageTurf
|
||||||
|
currentArea.roomnumber = currentRoomnumber
|
||||||
|
currentArea.reservation = currentReservation
|
||||||
|
for(var/turf/closed/indestructible/hoteldoor/door in currentArea)
|
||||||
|
door.parentSphere = src
|
||||||
|
door.desc = "The door to this hotel room. The placard reads 'Room [currentRoomnumber]'. Strange, this door doesnt even seem openable. The doorknob, however, seems to buzz with unusual energy...<br /><span class='info'>Alt-Click to look through the peephole.</span>"
|
||||||
|
for(var/turf/open/space/bluespace/BSturf in currentArea)
|
||||||
|
BSturf.parentSphere = src
|
||||||
|
|
||||||
|
/obj/item/hilbertshotel/proc/ejectRooms()
|
||||||
|
if(activeRooms.len)
|
||||||
|
for(var/x in activeRooms)
|
||||||
|
var/datum/turf_reservation/room = activeRooms[x]
|
||||||
|
for(var/i=0, i<hotelRoomTemp.width, i++)
|
||||||
|
for(var/j=0, j<hotelRoomTemp.height, j++)
|
||||||
|
for(var/atom/movable/A in locate(room.bottom_left_coords[1] + i, room.bottom_left_coords[2] + j, room.bottom_left_coords[3]))
|
||||||
|
if(ismob(A))
|
||||||
|
var/mob/M = A
|
||||||
|
if(M.mind)
|
||||||
|
to_chat(M, "<span class='warning'>As the sphere breaks apart, you're suddenly ejected into the depths of space!</span>")
|
||||||
|
var/max = world.maxx-TRANSITIONEDGE
|
||||||
|
var/min = 1+TRANSITIONEDGE
|
||||||
|
var/list/possible_transtitons = list()
|
||||||
|
for(var/AZ in SSmapping.z_list)
|
||||||
|
var/datum/space_level/D = AZ
|
||||||
|
if (D.linkage == CROSSLINKED)
|
||||||
|
possible_transtitons += D.z_value
|
||||||
|
var/_z = pick(possible_transtitons)
|
||||||
|
var/_x = rand(min,max)
|
||||||
|
var/_y = rand(min,max)
|
||||||
|
var/turf/T = locate(_x, _y, _z)
|
||||||
|
A.forceMove(T)
|
||||||
|
qdel(room)
|
||||||
|
|
||||||
|
if(storedRooms.len)
|
||||||
|
for(var/x in storedRooms)
|
||||||
|
var/list/atomList = storedRooms[x]
|
||||||
|
for(var/atom/movable/A in atomList)
|
||||||
|
var/max = world.maxx-TRANSITIONEDGE
|
||||||
|
var/min = 1+TRANSITIONEDGE
|
||||||
|
var/list/possible_transtitons = list()
|
||||||
|
for(var/AZ in SSmapping.z_list)
|
||||||
|
var/datum/space_level/D = AZ
|
||||||
|
if (D.linkage == CROSSLINKED)
|
||||||
|
possible_transtitons += D.z_value
|
||||||
|
var/_z = pick(possible_transtitons)
|
||||||
|
var/_x = rand(min,max)
|
||||||
|
var/_y = rand(min,max)
|
||||||
|
var/turf/T = locate(_x, _y, _z)
|
||||||
|
A.forceMove(T)
|
||||||
|
|
||||||
|
//Template Stuff
|
||||||
|
/datum/map_template/hilbertshotel
|
||||||
|
name = "Hilbert's Hotel Room"
|
||||||
|
mappath = '_maps/templates/hilbertshotel.dmm'
|
||||||
|
var/landingZoneRelativeX = 2
|
||||||
|
var/landingZoneRelativeY = 8
|
||||||
|
|
||||||
|
/datum/map_template/hilbertshotel/empty
|
||||||
|
name = "Empty Hilbert's Hotel Room"
|
||||||
|
mappath = '_maps/templates/hilbertshotelempty.dmm'
|
||||||
|
|
||||||
|
/datum/map_template/hilbertshotel/lore
|
||||||
|
name = "Doctor Hilbert's Deathbed"
|
||||||
|
mappath = '_maps/templates/hilbertshotellore.dmm'
|
||||||
|
|
||||||
|
/datum/map_template/hilbertshotelstorage
|
||||||
|
name = "Hilbert's Hotel Storage"
|
||||||
|
mappath = '_maps/templates/hilbertshotelstorage.dmm'
|
||||||
|
|
||||||
|
|
||||||
|
//Turfs and Areas
|
||||||
|
/turf/closed/indestructible/hotelwall
|
||||||
|
name = "hotel wall"
|
||||||
|
desc = "A wall designed to protect the security of the hotel's guests."
|
||||||
|
icon_state = "hotelwall"
|
||||||
|
canSmoothWith = list(/turf/closed/indestructible/hotelwall)
|
||||||
|
explosion_block = INFINITY
|
||||||
|
|
||||||
|
/turf/open/indestructible/hotelwood
|
||||||
|
desc = "Stylish dark wood with extra reinforcement. Secured firmly to the floor to prevent tampering."
|
||||||
|
icon_state = "wood"
|
||||||
|
footstep = FOOTSTEP_WOOD
|
||||||
|
tiled_dirt = FALSE
|
||||||
|
|
||||||
|
/turf/open/indestructible/hoteltile
|
||||||
|
desc = "Smooth tile with extra reinforcement. Secured firmly to the floor to prevent tampering."
|
||||||
|
icon_state = "showroomfloor"
|
||||||
|
footstep = FOOTSTEP_FLOOR
|
||||||
|
tiled_dirt = FALSE
|
||||||
|
|
||||||
|
/turf/open/space/bluespace
|
||||||
|
name = "\proper bluespace hyperzone"
|
||||||
|
icon_state = "bluespace"
|
||||||
|
baseturfs = /turf/open/space/bluespace
|
||||||
|
flags_1 = NOJAUNT_1
|
||||||
|
explosion_block = INFINITY
|
||||||
|
var/obj/item/hilbertshotel/parentSphere
|
||||||
|
|
||||||
|
/turf/open/space/bluespace/Entered(atom/movable/A)
|
||||||
|
. = ..()
|
||||||
|
A.forceMove(get_turf(parentSphere))
|
||||||
|
do_sparks(3, FALSE, get_turf(A))
|
||||||
|
|
||||||
|
/turf/closed/indestructible/hoteldoor
|
||||||
|
name = "Hotel Door"
|
||||||
|
icon_state = "hoteldoor"
|
||||||
|
explosion_block = INFINITY
|
||||||
|
var/obj/item/hilbertshotel/parentSphere
|
||||||
|
|
||||||
|
/turf/closed/indestructible/hoteldoor/proc/promptExit(mob/living/user)
|
||||||
|
if(!isliving(user))
|
||||||
|
return
|
||||||
|
if(!user.mind)
|
||||||
|
return
|
||||||
|
if(!parentSphere)
|
||||||
|
to_chat(user, "<span class='warning'>The door seems to be malfunctioning and refuses to operate!</span>")
|
||||||
|
return
|
||||||
|
if(alert(user, "Hilbert's Hotel would like to remind you that while we will do everything we can to protect the belongings you leave behind, we make no guarantees of their safety while you're gone, especially that of the health of any living creatures. With that in mind, are you ready to leave?", "Exit", "Leave", "Stay") == "Leave")
|
||||||
|
if(!user.canmove || (get_dist(get_turf(src), get_turf(user)) > 1)) //no teleporting around if they're dead or moved away during the prompt.
|
||||||
|
return
|
||||||
|
user.forceMove(get_turf(parentSphere))
|
||||||
|
do_sparks(3, FALSE, get_turf(user))
|
||||||
|
|
||||||
|
/turf/closed/indestructible/hoteldoor/attack_ghost(mob/dead/observer/user)
|
||||||
|
if(!isobserver(user) || !parentSphere)
|
||||||
|
return ..()
|
||||||
|
user.forceMove(get_turf(parentSphere))
|
||||||
|
|
||||||
|
//If only this could be simplified...
|
||||||
|
/turf/closed/indestructible/hoteldoor/attack_tk(mob/user)
|
||||||
|
return //need to be close.
|
||||||
|
|
||||||
|
/turf/closed/indestructible/hoteldoor/attack_hand(mob/user)
|
||||||
|
promptExit(user)
|
||||||
|
|
||||||
|
/turf/closed/indestructible/hoteldoor/attack_animal(mob/user)
|
||||||
|
promptExit(user)
|
||||||
|
|
||||||
|
/turf/closed/indestructible/hoteldoor/attack_paw(mob/user)
|
||||||
|
promptExit(user)
|
||||||
|
|
||||||
|
/turf/closed/indestructible/hoteldoor/attack_hulk(mob/living/carbon/human/user, does_attack_animation)
|
||||||
|
promptExit(user)
|
||||||
|
|
||||||
|
/turf/closed/indestructible/hoteldoor/attack_larva(mob/user)
|
||||||
|
promptExit(user)
|
||||||
|
|
||||||
|
/turf/closed/indestructible/hoteldoor/attack_slime(mob/user)
|
||||||
|
promptExit(user)
|
||||||
|
|
||||||
|
/turf/closed/indestructible/hoteldoor/attack_robot(mob/user)
|
||||||
|
if(get_dist(get_turf(src), get_turf(user)) <= 1)
|
||||||
|
promptExit(user)
|
||||||
|
|
||||||
|
/turf/closed/indestructible/hoteldoor/AltClick(mob/user)
|
||||||
|
. = ..()
|
||||||
|
if(get_dist(get_turf(src), get_turf(user)) <= 1)
|
||||||
|
to_chat(user, "<span class='notice'>You peak through the door's bluespace peephole...</span>")
|
||||||
|
user.reset_perspective(parentSphere)
|
||||||
|
user.set_machine(src)
|
||||||
|
var/datum/action/peepholeCancel/PHC = new
|
||||||
|
user.overlay_fullscreen("remote_view", /obj/screen/fullscreen/impaired, 1)
|
||||||
|
PHC.Grant(user)
|
||||||
|
|
||||||
|
/turf/closed/indestructible/hoteldoor/check_eye(mob/user)
|
||||||
|
if(get_dist(get_turf(src), get_turf(user)) >= 2)
|
||||||
|
user.unset_machine()
|
||||||
|
for(var/datum/action/peepholeCancel/PHC in user.actions)
|
||||||
|
PHC.Trigger()
|
||||||
|
|
||||||
|
/datum/action/peepholeCancel
|
||||||
|
name = "Cancel View"
|
||||||
|
desc = "Stop looking through the bluespace peephole."
|
||||||
|
button_icon_state = "cancel_peephole"
|
||||||
|
|
||||||
|
/datum/action/peepholeCancel/Trigger()
|
||||||
|
. = ..()
|
||||||
|
to_chat(owner, "<span class='warning'>You move away from the peephole.</span>")
|
||||||
|
owner.reset_perspective()
|
||||||
|
owner.clear_fullscreen("remote_view", 0)
|
||||||
|
qdel(src)
|
||||||
|
|
||||||
|
/area/hilbertshotel
|
||||||
|
name = "Hilbert's Hotel Room"
|
||||||
|
icon_state = "hilbertshotel"
|
||||||
|
requires_power = FALSE
|
||||||
|
has_gravity = TRUE
|
||||||
|
noteleport = TRUE
|
||||||
|
hidden = TRUE
|
||||||
|
unique = FALSE
|
||||||
|
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
|
||||||
|
ambientsounds = list('sound/ambience/servicebell.ogg')
|
||||||
|
var/roomnumber = 0
|
||||||
|
var/obj/item/hilbertshotel/parentSphere
|
||||||
|
var/datum/turf_reservation/reservation
|
||||||
|
var/turf/storageTurf
|
||||||
|
|
||||||
|
/area/hilbertshotel/Entered(atom/movable/AM)
|
||||||
|
. = ..()
|
||||||
|
if(istype(AM, /obj/item/hilbertshotel))
|
||||||
|
relocate(AM)
|
||||||
|
var/list/obj/item/hilbertshotel/hotels = AM.GetAllContents(/obj/item/hilbertshotel)
|
||||||
|
for(var/obj/item/hilbertshotel/H in hotels)
|
||||||
|
if(parentSphere == H)
|
||||||
|
relocate(H)
|
||||||
|
|
||||||
|
/area/hilbertshotel/proc/relocate(obj/item/hilbertshotel/H)
|
||||||
|
if(prob(0.135685)) //Because screw you
|
||||||
|
qdel(H)
|
||||||
|
return
|
||||||
|
var/turf/targetturf = find_safe_turf()
|
||||||
|
if(!targetturf)
|
||||||
|
if(GLOB.blobstart.len > 0)
|
||||||
|
targetturf = get_turf(pick(GLOB.blobstart))
|
||||||
|
else
|
||||||
|
CRASH("Unable to find a blobstart landmark")
|
||||||
|
var/turf/T = get_turf(H)
|
||||||
|
var/area/A = T.loc
|
||||||
|
log_game("[H] entered itself. Moving it to [loc_name(targetturf)].")
|
||||||
|
message_admins("[H] entered itself. Moving it to [ADMIN_VERBOSEJMP(targetturf)].")
|
||||||
|
for(var/mob/M in A)
|
||||||
|
to_chat(M, "<span class='danger'>[H] almost implodes in upon itself, but quickly rebounds, shooting off into a random point in space!</span>")
|
||||||
|
H.forceMove(targetturf)
|
||||||
|
|
||||||
|
/area/hilbertshotel/Exited(atom/movable/AM)
|
||||||
|
. = ..()
|
||||||
|
if(ismob(AM))
|
||||||
|
var/mob/M = AM
|
||||||
|
if(M.mind)
|
||||||
|
var/stillPopulated = FALSE
|
||||||
|
var/list/currentLivingMobs = GetAllContents(/mob/living) //Got to catch anyone hiding in anything
|
||||||
|
for(var/mob/living/L in currentLivingMobs) //Check to see if theres any sentient mobs left.
|
||||||
|
if(L.mind)
|
||||||
|
stillPopulated = TRUE
|
||||||
|
break
|
||||||
|
if(!stillPopulated)
|
||||||
|
storeRoom()
|
||||||
|
|
||||||
|
/area/hilbertshotel/proc/storeRoom()
|
||||||
|
var/roomSize = (reservation.top_right_coords[1]-reservation.bottom_left_coords[1]+1)*(reservation.top_right_coords[2]-reservation.bottom_left_coords[2]+1)
|
||||||
|
var/storage[roomSize]
|
||||||
|
var/turfNumber = 1
|
||||||
|
var/obj/item/abstracthotelstorage/storageObj = new(storageTurf)
|
||||||
|
storageObj.roomNumber = roomnumber
|
||||||
|
storageObj.parentSphere = parentSphere
|
||||||
|
storageObj.name = "Room [roomnumber] Storage"
|
||||||
|
for(var/i=0, i<parentSphere.hotelRoomTemp.width, i++)
|
||||||
|
for(var/j=0, j<parentSphere.hotelRoomTemp.height, j++)
|
||||||
|
var/list/turfContents = list()
|
||||||
|
for(var/atom/movable/A in locate(reservation.bottom_left_coords[1] + i, reservation.bottom_left_coords[2] + j, reservation.bottom_left_coords[3]))
|
||||||
|
if(ismob(A) && !isliving(A))
|
||||||
|
continue //Don't want to store ghosts
|
||||||
|
turfContents += A
|
||||||
|
A.forceMove(storageObj)
|
||||||
|
storage[turfNumber] = turfContents
|
||||||
|
turfNumber++
|
||||||
|
parentSphere.storedRooms["[roomnumber]"] = storage
|
||||||
|
parentSphere.activeRooms -= "[roomnumber]"
|
||||||
|
qdel(reservation)
|
||||||
|
|
||||||
|
/area/hilbertshotelstorage
|
||||||
|
name = "Hilbert's Hotel Storage Room"
|
||||||
|
icon_state = "hilbertshotel"
|
||||||
|
requires_power = FALSE
|
||||||
|
has_gravity = TRUE
|
||||||
|
noteleport = TRUE
|
||||||
|
hidden = TRUE
|
||||||
|
|
||||||
|
/obj/item/abstracthotelstorage
|
||||||
|
anchored = TRUE
|
||||||
|
invisibility = INVISIBILITY_ABSTRACT
|
||||||
|
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||||
|
item_flags = ABSTRACT
|
||||||
|
var/roomNumber
|
||||||
|
var/obj/item/hilbertshotel/parentSphere
|
||||||
|
|
||||||
|
/obj/item/abstracthotelstorage/Entered(atom/movable/AM, atom/oldLoc)
|
||||||
|
. = ..()
|
||||||
|
if(ismob(AM))
|
||||||
|
var/mob/M = AM
|
||||||
|
M.notransform = TRUE
|
||||||
|
|
||||||
|
/obj/item/abstracthotelstorage/Exited(atom/movable/AM, atom/newLoc)
|
||||||
|
. = ..()
|
||||||
|
if(ismob(AM))
|
||||||
|
var/mob/M = AM
|
||||||
|
M.notransform = FALSE
|
||||||
|
|
||||||
|
//Space Ruin stuff
|
||||||
|
/area/ruin/space/has_grav/hilbertresearchfacility
|
||||||
|
name = "Hilbert Research Facility"
|
||||||
|
|
||||||
|
/obj/item/analyzer/hilbertsanalyzer
|
||||||
|
name = "custom rigged analyzer"
|
||||||
|
desc = "A hand-held environmental scanner which reports current gas levels. This one seems custom rigged to additionally be able to analyze some sort of bluespace device."
|
||||||
|
icon_state = "hilbertsanalyzer"
|
||||||
|
|
||||||
|
/obj/item/analyzer/hilbertsanalyzer/afterattack(atom/target, mob/user, proximity)
|
||||||
|
. = ..()
|
||||||
|
if(istype(target, /obj/item/hilbertshotel))
|
||||||
|
if(!proximity)
|
||||||
|
to_chat(user, "<span class='warning'>It's to far away to scan!</span>")
|
||||||
|
return
|
||||||
|
var/obj/item/hilbertshotel/sphere = target
|
||||||
|
if(sphere.activeRooms.len)
|
||||||
|
to_chat(user, "Currently Occupied Rooms:")
|
||||||
|
for(var/roomnumber in sphere.activeRooms)
|
||||||
|
to_chat(user, roomnumber)
|
||||||
|
else
|
||||||
|
to_chat(user, "No currenty occupied rooms.")
|
||||||
|
if(sphere.storedRooms.len)
|
||||||
|
to_chat(user, "Vacated Rooms:")
|
||||||
|
for(var/roomnumber in sphere.storedRooms)
|
||||||
|
to_chat(user, roomnumber)
|
||||||
|
else
|
||||||
|
to_chat(user, "No vacated rooms.")
|
||||||
|
|
||||||
|
/obj/effect/mob_spawn/human/doctorhilbert
|
||||||
|
name = "Doctor Hilbert"
|
||||||
|
mob_name = "Doctor Hilbert"
|
||||||
|
mob_gender = "male"
|
||||||
|
assignedrole = null
|
||||||
|
ghost_usable = FALSE
|
||||||
|
oxy_damage = 500
|
||||||
|
mob_species = /datum/species/skeleton
|
||||||
|
id_job = "Head Researcher"
|
||||||
|
id_access = ACCESS_RESEARCH
|
||||||
|
id_access_list = list(ACCESS_AWAY_GENERIC3, ACCESS_RESEARCH)
|
||||||
|
instant = TRUE
|
||||||
|
id = /obj/item/card/id/silver
|
||||||
|
uniform = /obj/item/clothing/under/rank/research_director
|
||||||
|
shoes = /obj/item/clothing/shoes/sneakers/brown
|
||||||
|
back = /obj/item/storage/backpack/satchel/leather
|
||||||
|
suit = /obj/item/clothing/suit/toggle/labcoat
|
||||||
|
|
||||||
|
/obj/item/paper/crumpled/docslogs
|
||||||
|
name = "Research Logs"
|
||||||
|
|
||||||
|
/obj/item/paper/crumpled/docslogs/Initialize()
|
||||||
|
. = ..()
|
||||||
|
GLOB.hhmysteryRoomNumber = rand(1, SHORT_REAL_LIMIT)
|
||||||
|
info = {"<h4><center>Research Logs</center></h4>
|
||||||
|
I might just be onto something here!<br>
|
||||||
|
The strange space-warping properties of bluespace have been known about for awhile now, but I might be on the verge of discovering a new way of harnessing it.<br>
|
||||||
|
It's too soon to say for sure, but this might be the start of something quite important!<br>
|
||||||
|
I'll be sure to log any major future breakthroughs. This might be a lot more than I can manage on my own, perhaps I should hire that secretary after all...<br>
|
||||||
|
<h4>Breakthrough!</h4>
|
||||||
|
I can't believe it, but I did it! Just when I was certain it couldn't be done, I made the final necessary breakthrough.<br>
|
||||||
|
Exploiting the effects of space dilation caused by specific bluespace structures combined with a precise use of geometric calculus, I've discovered a way to correlate an infinite amount of space within a finite area!<br>
|
||||||
|
While the potential applications are endless, I utilized it in quite a nifty way so far by designing a system that recursively constructs subspace rooms and spatially links them to any of the infinite infinitesimally distinct points on the spheres surface.<br>
|
||||||
|
I call it: Hilbert's Hotel!<br>
|
||||||
|
<h4>Goodbye</h4>
|
||||||
|
I can't take this anymore. I know what happens next, and the fear of what is coming leaves me unable to continue working.<br>
|
||||||
|
Any fool in my field has heard the stories. It's not that I didn't believe them, it's just... I guess I underestimated the importance of my own research...<br>
|
||||||
|
Robert has reported a further increase in frequency of the strange, prying visitors who ask questions they have no business asking. I've requested him to keep everything on strict lockdown and have permanently dismissed all other assistants.<br>
|
||||||
|
I've also instructed him to use the encryption method we discussed for any important quantitative data. The poor lad... I don't think he truly understands what he's gotten himself into...<br>
|
||||||
|
It's clear what happens now. One day they'll show up uninvited, and claim my research as their own, leaving me as nothing more than a bullet ridden corpse floating in space.<br>
|
||||||
|
I can't stick around to the let that happen.<br>
|
||||||
|
I'm escaping into the very thing that brought all this trouble to my doorstep in the first place - my hotel.<br>
|
||||||
|
I'll be in <u>[uppertext(num2hex(GLOB.hhmysteryRoomNumber, 0))]</u> (That will make sense to anyone who should know)<br>
|
||||||
|
I'm sorry that I must go like this. Maybe one day things will be different and it will be safe to return... maybe...<br>
|
||||||
|
Goodbye<br>
|
||||||
|
<br>
|
||||||
|
<i>Doctor Hilbert</i>"}
|
||||||
|
|
||||||
|
/obj/item/paper/crumpled/robertsworkjournal
|
||||||
|
name = "Work Journal"
|
||||||
|
info = {"<h4>First Week!</h4>
|
||||||
|
First week on the new job. It's a secretarial position, but hey, whatever pays the bills. Plus it seems like some interesting stuff goes on here.<br>
|
||||||
|
Doc says its best that I don't openly talk about his research with others, I guess he doesn't want it getting out or something. I've caught myself slipping a few times when talking to others, it's hard not to brag about something this cool!<br>
|
||||||
|
I'm not really sure why I'm choosing to journal this. Doc seems to log everything. He says it's incase he discovers anything important.<br>
|
||||||
|
I guess that's why I'm doing it too, I've always wanted to be a part of something important.<br>
|
||||||
|
Here's to a new job and to becoming a part of something important!<br>
|
||||||
|
<h4>Weird times...</h4>
|
||||||
|
Things are starting to get a little strange around here. Just weeks after Doc's amazing breakthrough, weird visitors have began showing up unannounced, asking strange things about Doc's work.<br>
|
||||||
|
I knew Doc wasn't a big fan of company, but even he seemed strangely unnerved when I told him about the visitors.<br>
|
||||||
|
He said it's important that from here on out we keep tight security on everything, even other staff members.<br>
|
||||||
|
He also said something about securing data, something about hexes. What's that mean? Some sort of curse? Doc never struck me as the magic type...<br>
|
||||||
|
He often uses a lot of big sciencey words that I don't really understand, but I kinda dig it, it makes me feel like I'm witnessing something big.<br>
|
||||||
|
I hope things go back to normal soon, but I guess that's the price you pay for being a part of something important.<br>
|
||||||
|
<h4>Last day I guess?</h4>
|
||||||
|
Things are officially starting to get too strange for me.<br>
|
||||||
|
The visitors have been coming a lot more often, and they all seem increasingly aggressive and nosey. I'm starting to see why they made Doc so nervous, they're certainly starting to creep me out too.<br>
|
||||||
|
Awhile ago Doc started having me keep the place on strict lockdown and requested I refuse entry to anyone else, including previous staff.<br>
|
||||||
|
But the weirdest part?<br>
|
||||||
|
I haven't seen Doc in days. It's not unusual for him to work continuously for long periods of time in the lab, but when I took a peak in their yesterday - he was nowhere to be seen! I didn't risk prying much further, Doc had a habit of leaving the defense systems on these last few weeks.<br>
|
||||||
|
I'm thinking it might be time to call it quits. Can't work much without a boss, plus things are starting to get kind of shady. I wanted to be a part of something important, but you gotta know when to play it safe.<br>
|
||||||
|
As my dad always said, "The smart get famous, but the wise survive..."<br>
|
||||||
|
<br>
|
||||||
|
<i>Robert P.</i>"}
|
||||||
|
|
||||||
|
/obj/item/paper/crumpled/bloody/docsdeathnote
|
||||||
|
name = "note"
|
||||||
|
info = {"This is it isn't it?<br>
|
||||||
|
No one's coming to help, that much has become clear.<br>
|
||||||
|
Sure, it's lonely, but do I have much choice? At least I brought the analyzer with me, they shouldn't be able to find me without it.<br>
|
||||||
|
Who knows who's waiting for me out there. Its either die out there in their hands, or die a slower, slightly more comfortable death in here.<br>
|
||||||
|
Everyday I can feel myself slipping away more and more, both physically and mentally. Who knows what happens now...<br>
|
||||||
|
Heh, so it's true then, this must be the inescapable path of all great minds... so be it then.<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<i>Choose a room, and enter the sphere<br>
|
||||||
|
Lay your head to rest, it soon becomes clear<br>
|
||||||
|
There's always more room around every bend<br>
|
||||||
|
Not all that's countable has an end...<i>"}
|
||||||
@@ -24,7 +24,8 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list(
|
|||||||
/obj/effect/portal,
|
/obj/effect/portal,
|
||||||
/obj/item/shared_storage,
|
/obj/item/shared_storage,
|
||||||
/obj/structure/extraction_point,
|
/obj/structure/extraction_point,
|
||||||
/obj/machinery/syndicatebomb
|
/obj/machinery/syndicatebomb,
|
||||||
|
/obj/item/hilbertshotel
|
||||||
)))
|
)))
|
||||||
|
|
||||||
/obj/docking_port/mobile/supply
|
/obj/docking_port/mobile/supply
|
||||||
|
|||||||
@@ -61,6 +61,10 @@
|
|||||||
organ.Remove(organ.owner)
|
organ.Remove(organ.owner)
|
||||||
else
|
else
|
||||||
while(!isturf(item_to_retrieve.loc) && infinite_recursion < 10) //if it's in something you get the whole thing.
|
while(!isturf(item_to_retrieve.loc) && infinite_recursion < 10) //if it's in something you get the whole thing.
|
||||||
|
if(isitem(item_to_retrieve.loc))
|
||||||
|
var/obj/item/I = item_to_retrieve.loc
|
||||||
|
if(I.item_flags & ABSTRACT) //Being able to summon abstract things because your item happened to get placed there is a no-no
|
||||||
|
break
|
||||||
if(ismob(item_to_retrieve.loc)) //If its on someone, properly drop it
|
if(ismob(item_to_retrieve.loc)) //If its on someone, properly drop it
|
||||||
var/mob/M = item_to_retrieve.loc
|
var/mob/M = item_to_retrieve.loc
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
#_maps/RandomRuins/SpaceRuins/emptyshell.dmm
|
#_maps/RandomRuins/SpaceRuins/emptyshell.dmm
|
||||||
#_maps/RandomRuins/SpaceRuins/gasthelizards.dmm
|
#_maps/RandomRuins/SpaceRuins/gasthelizards.dmm
|
||||||
#_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm
|
#_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm
|
||||||
|
#_maps/RandomRuins/SpaceRuins/hilbertshoteltestingsite.dmm
|
||||||
#_maps/RandomRuins/SpaceRuins/intactemptyship.dmm
|
#_maps/RandomRuins/SpaceRuins/intactemptyship.dmm
|
||||||
#_maps/RandomRuins/SpaceRuins/listeningstation.dmm
|
#_maps/RandomRuins/SpaceRuins/listeningstation.dmm
|
||||||
#_maps/RandomRuins/SpaceRuins/mechtransport.dmm
|
#_maps/RandomRuins/SpaceRuins/mechtransport.dmm
|
||||||
|
|||||||
BIN
icons/mob/AI.dmi
|
Before Width: | Height: | Size: 406 KiB After Width: | Height: | Size: 406 KiB |
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 55 KiB |
BIN
sound/ambience/servicebell.ogg
Normal file
@@ -2710,6 +2710,7 @@
|
|||||||
#include "code\modules\ruins\spaceruin_code\crashedship.dm"
|
#include "code\modules\ruins\spaceruin_code\crashedship.dm"
|
||||||
#include "code\modules\ruins\spaceruin_code\deepstorage.dm"
|
#include "code\modules\ruins\spaceruin_code\deepstorage.dm"
|
||||||
#include "code\modules\ruins\spaceruin_code\DJstation.dm"
|
#include "code\modules\ruins\spaceruin_code\DJstation.dm"
|
||||||
|
#include "code\modules\ruins\spaceruin_code\hilbertshotel.dm"
|
||||||
#include "code\modules\ruins\spaceruin_code\listeningstation.dm"
|
#include "code\modules\ruins\spaceruin_code\listeningstation.dm"
|
||||||
#include "code\modules\ruins\spaceruin_code\miracle.dm"
|
#include "code\modules\ruins\spaceruin_code\miracle.dm"
|
||||||
#include "code\modules\ruins\spaceruin_code\oldstation.dm"
|
#include "code\modules\ruins\spaceruin_code\oldstation.dm"
|
||||||
|
|||||||