[MIRROR] Icebox QoL minus features (#3459)
* Icebox QoL minus features (#56472) * Icebox QoL minus features Co-authored-by: Whoneedspacee <yougotreallyowned@gmail.com>
@@ -1,50 +1,57 @@
|
||||
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||
"a" = (
|
||||
/turf/closed/mineral/random,
|
||||
/area/icemoon/surface/outdoors/unexplored)
|
||||
/turf/open/genturf,
|
||||
/area/mine/unexplored)
|
||||
"b" = (
|
||||
/turf/closed/mineral/random/snow,
|
||||
/area/icemoon/surface/outdoors/unexplored)
|
||||
/area/icemoon/surface)
|
||||
"c" = (
|
||||
/turf/closed/wall/mineral/bronze,
|
||||
/area/icemoon/surface)
|
||||
"d" = (
|
||||
/obj/structure/fluff/clockwork/fallen_armor,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze,
|
||||
/area/icemoon/surface)
|
||||
"i" = (
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze,
|
||||
/area/icemoon/surface)
|
||||
"k" = (
|
||||
/obj/structure/fluff/clockwork/alloy_shards,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze,
|
||||
/area/icemoon/surface)
|
||||
"n" = (
|
||||
/obj/effect/mob_spawn/human/skeleton,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze,
|
||||
/area/icemoon/surface)
|
||||
"p" = (
|
||||
/obj/structure/fluff/clockwork/alloy_shards/large,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze,
|
||||
/area/icemoon/surface)
|
||||
"r" = (
|
||||
/obj/structure/fluff/clockwork/blind_eye,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze,
|
||||
/area/icemoon/surface)
|
||||
"u" = (
|
||||
/obj/structure/table/bronze,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze,
|
||||
/area/icemoon/surface)
|
||||
"v" = (
|
||||
/obj/structure/fluff/clockwork/alloy_shards/medium_gearbit,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze,
|
||||
/area/icemoon/surface)
|
||||
"w" = (
|
||||
/turf/open/floor/bronze{
|
||||
initial_gas_mix = "TEMP=2.7"
|
||||
},
|
||||
/area/icemoon/surface)
|
||||
"x" = (
|
||||
/obj/effect/mob_spawn/human/skeleton,
|
||||
/obj/item/clothing/suit/bronze,
|
||||
/obj/item/clothing/shoes/bronze,
|
||||
/obj/item/clothing/head/bronze,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze{
|
||||
initial_gas_mix = "TEMP=2.7"
|
||||
},
|
||||
/area/icemoon/surface)
|
||||
"z" = (
|
||||
/obj/structure/table/bronze,
|
||||
@@ -52,38 +59,38 @@
|
||||
desc = "You can still feel the embers of a once great empire in your hand...";
|
||||
name = "drained clockwork slab"
|
||||
},
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/area/icemoon/surface)
|
||||
"H" = (
|
||||
/obj/machinery/door/airlock/bronze/seethru,
|
||||
/obj/structure/fans/tiny,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze,
|
||||
/area/icemoon/surface)
|
||||
"P" = (
|
||||
/obj/structure/fluff/clockwork/clockgolem_remains,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze,
|
||||
/area/icemoon/surface)
|
||||
"Q" = (
|
||||
/obj/item/paper{
|
||||
info = "We tried to use the power of this moon to bring him back, but we've failed... I've contained what remains of his power here... if you find this, make sure those Nar-Sian Dogs don't last a second."
|
||||
},
|
||||
/obj/item/pen,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze{
|
||||
initial_gas_mix = "TEMP=2.7"
|
||||
},
|
||||
/area/icemoon/surface)
|
||||
"R" = (
|
||||
/obj/item/nullrod/spear{
|
||||
name = "empowered bronze spear"
|
||||
},
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze{
|
||||
initial_gas_mix = "TEMP=2.7"
|
||||
},
|
||||
/area/icemoon/surface)
|
||||
"U" = (
|
||||
/obj/machinery/door/airlock/bronze,
|
||||
/obj/structure/fans/tiny,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/obj/machinery/door/airlock/bronze{
|
||||
use_power = 0
|
||||
},
|
||||
/turf/open/floor/bronze,
|
||||
/area/icemoon/surface)
|
||||
"V" = (
|
||||
/obj/structure/fluff/clockwork/alloy_shards/medium,
|
||||
/turf/open/floor/bronze/icemoon,
|
||||
/turf/open/floor/bronze,
|
||||
/area/icemoon/surface)
|
||||
|
||||
(1,1,1) = {"
|
||||
@@ -274,8 +281,8 @@ a
|
||||
c
|
||||
c
|
||||
c
|
||||
H
|
||||
H
|
||||
U
|
||||
U
|
||||
c
|
||||
c
|
||||
c
|
||||
@@ -862,8 +869,8 @@ a
|
||||
a
|
||||
a
|
||||
c
|
||||
i
|
||||
i
|
||||
w
|
||||
w
|
||||
c
|
||||
a
|
||||
a
|
||||
@@ -889,7 +896,7 @@ b
|
||||
U
|
||||
k
|
||||
n
|
||||
H
|
||||
U
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -903,10 +910,10 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
i
|
||||
w
|
||||
x
|
||||
i
|
||||
i
|
||||
w
|
||||
w
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -920,7 +927,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
H
|
||||
U
|
||||
n
|
||||
i
|
||||
U
|
||||
@@ -931,7 +938,7 @@ b
|
||||
U
|
||||
i
|
||||
P
|
||||
H
|
||||
U
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -945,10 +952,10 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
i
|
||||
w
|
||||
R
|
||||
Q
|
||||
i
|
||||
w
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -962,7 +969,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
H
|
||||
U
|
||||
v
|
||||
d
|
||||
U
|
||||
@@ -988,8 +995,8 @@ a
|
||||
a
|
||||
a
|
||||
c
|
||||
i
|
||||
i
|
||||
w
|
||||
w
|
||||
c
|
||||
a
|
||||
a
|
||||
@@ -1576,8 +1583,8 @@ a
|
||||
c
|
||||
c
|
||||
c
|
||||
H
|
||||
H
|
||||
U
|
||||
U
|
||||
c
|
||||
c
|
||||
c
|
||||
|
||||
@@ -2,19 +2,15 @@
|
||||
"a" = (
|
||||
/turf/open/floor/plating/ice/icemoon,
|
||||
/area/icemoon/underground/explored)
|
||||
"c" = (
|
||||
/obj/structure/ladder,
|
||||
"b" = (
|
||||
/obj/structure/ladder{
|
||||
travel_time = 40
|
||||
},
|
||||
/turf/open/floor/plating/ice/icemoon,
|
||||
/area/icemoon/underground/explored)
|
||||
"d" = (
|
||||
/turf/template_noop,
|
||||
/area/icemoon/underground/unexplored)
|
||||
"f" = (
|
||||
/obj/item/flashlight/lantern{
|
||||
on = 1
|
||||
},
|
||||
/turf/open/floor/plating/ice/icemoon,
|
||||
/area/icemoon/underground/explored)
|
||||
/area/template_noop)
|
||||
"g" = (
|
||||
/obj/item/clothing/suit/hooded/explorer,
|
||||
/obj/effect/decal/cleanable/blood/gibs/up,
|
||||
@@ -28,10 +24,18 @@
|
||||
/obj/item/kitchen/knife/combat/survival,
|
||||
/turf/open/floor/plating/ice/icemoon,
|
||||
/area/icemoon/underground/explored)
|
||||
"T" = (
|
||||
"l" = (
|
||||
/turf/closed/indestructible/rock/snow/ice/ore,
|
||||
/area/icemoon/underground/explored)
|
||||
"V" = (
|
||||
/obj/structure/frost_miner_prism,
|
||||
/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner,
|
||||
/turf/open/floor/plating/ice/icemoon,
|
||||
/area/icemoon/underground/explored)
|
||||
"Z" = (
|
||||
/obj/structure/frost_miner_prism,
|
||||
/turf/open/floor/plating/ice/icemoon,
|
||||
/area/icemoon/underground/explored)
|
||||
|
||||
(1,1,1) = {"
|
||||
d
|
||||
@@ -40,19 +44,21 @@ d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
d
|
||||
d
|
||||
d
|
||||
@@ -66,21 +72,23 @@ d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
d
|
||||
d
|
||||
d
|
||||
@@ -92,23 +100,25 @@ d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
Z
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
d
|
||||
d
|
||||
d
|
||||
@@ -118,7 +128,10 @@ d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -132,11 +145,10 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
d
|
||||
d
|
||||
d
|
||||
@@ -144,7 +156,10 @@ d
|
||||
(5,1,1) = {"
|
||||
d
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -160,17 +175,19 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
d
|
||||
d
|
||||
"}
|
||||
(6,1,1) = {"
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -188,16 +205,17 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
d
|
||||
"}
|
||||
(7,1,1) = {"
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -217,13 +235,15 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
"}
|
||||
(8,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -234,6 +254,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -244,13 +265,14 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
"}
|
||||
(9,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -272,12 +294,13 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
Z
|
||||
l
|
||||
l
|
||||
"}
|
||||
(10,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -285,6 +308,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -292,6 +316,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -299,12 +324,12 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
l
|
||||
l
|
||||
"}
|
||||
(11,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -328,10 +353,12 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
l
|
||||
l
|
||||
"}
|
||||
(12,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -355,10 +382,12 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
l
|
||||
l
|
||||
"}
|
||||
(13,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -382,10 +411,12 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
l
|
||||
l
|
||||
"}
|
||||
(14,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -397,7 +428,6 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
T
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -409,10 +439,13 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
a
|
||||
l
|
||||
l
|
||||
"}
|
||||
(15,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -436,37 +469,41 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
l
|
||||
l
|
||||
"}
|
||||
(16,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
V
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
Z
|
||||
l
|
||||
l
|
||||
"}
|
||||
(17,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -490,10 +527,12 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
l
|
||||
l
|
||||
"}
|
||||
(18,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -507,7 +546,6 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
c
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -517,10 +555,13 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
a
|
||||
l
|
||||
l
|
||||
"}
|
||||
(19,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -534,6 +575,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
b
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -543,11 +585,12 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
l
|
||||
l
|
||||
"}
|
||||
(20,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -571,10 +614,12 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
l
|
||||
l
|
||||
"}
|
||||
(21,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -598,10 +643,12 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
l
|
||||
l
|
||||
"}
|
||||
(22,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -609,6 +656,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -616,6 +664,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -623,12 +672,13 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
l
|
||||
l
|
||||
"}
|
||||
(23,1,1) = {"
|
||||
d
|
||||
l
|
||||
l
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -650,18 +700,48 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
Z
|
||||
l
|
||||
l
|
||||
"}
|
||||
(24,1,1) = {"
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
l
|
||||
l
|
||||
l
|
||||
"}
|
||||
(25,1,1) = {"
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
f
|
||||
i
|
||||
a
|
||||
a
|
||||
@@ -677,15 +757,17 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
"}
|
||||
(25,1,1) = {"
|
||||
(26,1,1) = {"
|
||||
d
|
||||
d
|
||||
d
|
||||
a
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -703,17 +785,19 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
d
|
||||
"}
|
||||
(26,1,1) = {"
|
||||
(27,1,1) = {"
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
a
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
h
|
||||
@@ -729,36 +813,10 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
"}
|
||||
(27,1,1) = {"
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
d
|
||||
d
|
||||
"}
|
||||
@@ -766,10 +824,10 @@ d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -781,10 +839,12 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
a
|
||||
a
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
d
|
||||
d
|
||||
d
|
||||
@@ -794,21 +854,81 @@ d
|
||||
d
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
Z
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
Z
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
"}
|
||||
(30,1,1) = {"
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
"}
|
||||
(31,1,1) = {"
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
d
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
l
|
||||
d
|
||||
d
|
||||
d
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||
"a" = (
|
||||
/turf/template_noop,
|
||||
/area/icemoon/underground/unexplored)
|
||||
/area/template_noop)
|
||||
"b" = (
|
||||
/turf/open/floor/plating/asteroid/snow/icemoon,
|
||||
/area/icemoon/underground/explored)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/area/icemoon/underground/unexplored)
|
||||
"d" = (
|
||||
/turf/template_noop,
|
||||
/area/icemoon/underground/unexplored)
|
||||
/area/template_noop)
|
||||
"j" = (
|
||||
/obj/effect/mob_spawn/human/miner/explorer,
|
||||
/turf/open/floor/plating/asteroid/snow/ice/icemoon,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/area/icemoon/underground/explored)
|
||||
"b" = (
|
||||
/turf/closed/mineral/random/snow,
|
||||
/area/icemoon/underground/unexplored)
|
||||
/area/icemoon/underground/explored)
|
||||
"e" = (
|
||||
/obj/structure/spawner/nether,
|
||||
/turf/open/floor/plating/asteroid/snow/icemoon,
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
"Linkage": null,
|
||||
"Gravity": true,
|
||||
"Ice Ruins Underground": true,
|
||||
"Baseturf": "/turf/open/openspace/icemoon"
|
||||
"Baseturf": "/turf/open/openspace/icemoon/keep_below"
|
||||
},
|
||||
{
|
||||
"Down": -1,
|
||||
@@ -41,7 +41,7 @@
|
||||
"Gravity": true,
|
||||
"Ice Ruins": true,
|
||||
"Weather_Snowstorm": true,
|
||||
"Baseturf": "/turf/open/openspace/icemoon"
|
||||
"Baseturf": "/turf/open/openspace/icemoon/keep_below"
|
||||
}
|
||||
],
|
||||
"minetype": "none",
|
||||
|
||||
@@ -70,7 +70,6 @@ SUBSYSTEM_DEF(mapping)
|
||||
repopulate_sorted_areas()
|
||||
process_teleport_locs() //Sets up the wizard teleport locations
|
||||
preloadTemplates()
|
||||
run_map_generation()
|
||||
|
||||
#ifndef LOWMEMORYMODE
|
||||
// Create space ruin levels
|
||||
@@ -119,6 +118,8 @@ SUBSYSTEM_DEF(mapping)
|
||||
seedRuins(space_ruins, CONFIG_GET(number/space_budget), list(/area/space), space_ruins_templates)
|
||||
loading_ruins = FALSE
|
||||
#endif
|
||||
// Run map generation after ruin generation to prevent issues
|
||||
run_map_generation()
|
||||
// Add the transit level
|
||||
transit = add_new_zlevel("Transit/Reserved", list(ZTRAIT_RESERVED = TRUE))
|
||||
repopulate_sorted_areas()
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
/datum/map_generator/cave_generator
|
||||
var/name = "Cave Generator"
|
||||
///Weighted list of the types that spawns if the turf is open
|
||||
var/open_turf_types = list(/turf/open/floor/plating/asteroid = 1)
|
||||
var/open_turf_types = list(/turf/open/floor/plating/asteroid/airless = 1)
|
||||
///Weighted list of the types that spawns if the turf is closed
|
||||
var/closed_turf_types = list(/turf/closed/mineral/random/volcanic = 1)
|
||||
var/closed_turf_types = list(/turf/closed/mineral/random = 1)
|
||||
|
||||
|
||||
///Weighted list of extra features that can spawn in the area, such as geysers.
|
||||
var/list/feature_spawn_list = list(/obj/structure/geyser/random = 1)
|
||||
///Weighted list of mobs that can spawn in the area.
|
||||
var/list/mob_spawn_list = list(/mob/living/simple_animal/hostile/asteroid/goliath/beast/random = 50, /obj/structure/spawner/lavaland/goliath = 3, \
|
||||
/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/random = 40, /obj/structure/spawner/lavaland = 2, \
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/random = 30, /obj/structure/spawner/lavaland/legion = 3, \
|
||||
SPAWN_MEGAFAUNA = 4, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10)
|
||||
///Weighted list of flora that can spawn in the area.
|
||||
var/list/flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2 , /obj/structure/flora/ash/cap_shroom = 2 , /obj/structure/flora/ash/stem_shroom = 2 , /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2)
|
||||
var/list/mob_spawn_list
|
||||
// Weighted list of Megafauna that can spawn in the caves
|
||||
var/list/megafauna_spawn_list
|
||||
///Weighted list of flora that can spawn in the area.
|
||||
var/list/flora_spawn_list
|
||||
///Weighted list of extra features that can spawn in the area, such as geysers.
|
||||
var/list/feature_spawn_list
|
||||
|
||||
|
||||
///Base chance of spawning a mob
|
||||
@@ -39,8 +36,14 @@
|
||||
|
||||
/datum/map_generator/cave_generator/New()
|
||||
. = ..()
|
||||
if(!mob_spawn_list)
|
||||
mob_spawn_list = list(/mob/living/simple_animal/hostile/asteroid/goldgrub = 1, /mob/living/simple_animal/hostile/asteroid/goliath = 5, /mob/living/simple_animal/hostile/asteroid/basilisk = 4, /mob/living/simple_animal/hostile/asteroid/hivelord = 3)
|
||||
if(!megafauna_spawn_list)
|
||||
megafauna_spawn_list = GLOB.megafauna_spawn_list
|
||||
megafauna_spawn_list = GLOB.megafauna_spawn_list
|
||||
if(!flora_spawn_list)
|
||||
flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2 , /obj/structure/flora/ash/cap_shroom = 2 , /obj/structure/flora/ash/stem_shroom = 2 , /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2)
|
||||
if(!feature_spawn_list)
|
||||
feature_spawn_list = list(/obj/structure/geyser/random = 1)
|
||||
|
||||
/datum/map_generator/cave_generator/generate_terrain(list/turfs)
|
||||
. = ..()
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
closed_turf_types = list(/turf/closed/mineral/random/snow = 1)
|
||||
|
||||
|
||||
feature_spawn_list = list(/obj/structure/geyser/random = 1)
|
||||
mob_spawn_list = list(/mob/living/simple_animal/hostile/asteroid/wolf = 50, /obj/structure/spawner/ice_moon = 3, \
|
||||
/mob/living/simple_animal/hostile/asteroid/polarbear = 30, /obj/structure/spawner/ice_moon/polarbear = 3, \
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10, \
|
||||
/mob/living/simple_animal/hostile/asteroid/lobstrosity = 15)
|
||||
flora_spawn_list = list(/obj/structure/flora/tree/pine = 2, /obj/structure/flora/rock/icy = 2, /obj/structure/flora/rock/pile/icy = 2, /obj/structure/flora/grass/both = 6, /obj/structure/flora/ash/chilly = 2)
|
||||
feature_spawn_list = list(/obj/structure/geyser/random = 1)
|
||||
|
||||
/datum/map_generator/cave_generator/icemoon/surface
|
||||
flora_spawn_chance = 4
|
||||
@@ -22,5 +22,7 @@
|
||||
closed_turf_types = list(/turf/closed/mineral/random/snow/underground = 1)
|
||||
mob_spawn_list = list(/mob/living/simple_animal/hostile/asteroid/ice_demon = 50, /obj/structure/spawner/ice_moon/demonic_portal = 3, \
|
||||
/mob/living/simple_animal/hostile/asteroid/ice_whelp = 30, /obj/structure/spawner/ice_moon/demonic_portal/ice_whelp = 3, \
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50, /obj/structure/spawner/ice_moon/demonic_portal/snowlegion = 3)
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50, /obj/structure/spawner/ice_moon/demonic_portal/snowlegion = 3, \
|
||||
SPAWN_MEGAFAUNA = 2)
|
||||
megafauna_spawn_list = list(/mob/living/simple_animal/hostile/megafauna/colossus = 1)
|
||||
flora_spawn_list = list(/obj/structure/flora/rock/icy = 6, /obj/structure/flora/rock/pile/icy = 6, /obj/structure/flora/ash/chilly = 1)
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
closed_turf_types = list(/turf/closed/mineral/random/volcanic = 1)
|
||||
|
||||
|
||||
feature_spawn_list = list(/obj/structure/geyser/random = 1)
|
||||
mob_spawn_list = list(/mob/living/simple_animal/hostile/asteroid/goliath/beast/random = 50, /obj/structure/spawner/lavaland/goliath = 3, \
|
||||
/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/random = 40, /obj/structure/spawner/lavaland = 2, \
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/random = 30, /obj/structure/spawner/lavaland/legion = 3, \
|
||||
SPAWN_MEGAFAUNA = 4, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10)
|
||||
flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2 , /obj/structure/flora/ash/cap_shroom = 2 , /obj/structure/flora/ash/stem_shroom = 2 , /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2)
|
||||
feature_spawn_list = list(/obj/structure/geyser/random = 1)
|
||||
|
||||
initial_closed_chance = 45
|
||||
smoothing_iterations = 50
|
||||
|
||||
@@ -32,7 +32,8 @@
|
||||
outdoors = TRUE
|
||||
flags_1 = NONE
|
||||
ambience_index = AMBIENCE_MINING
|
||||
area_flags = VALID_TERRITORY | UNIQUE_AREA | FLORA_ALLOWED | CAVES_ALLOWED | NO_ALERTS
|
||||
area_flags = VALID_TERRITORY | UNIQUE_AREA | NO_ALERTS | CAVES_ALLOWED | FLORA_ALLOWED | MOB_SPAWN_ALLOWED | MEGAFAUNA_SPAWN_ALLOWED
|
||||
map_generator = /datum/map_generator/cave_generator
|
||||
min_ambience_cooldown = 70 SECONDS
|
||||
max_ambience_cooldown = 220 SECONDS
|
||||
|
||||
@@ -131,11 +132,11 @@
|
||||
/area/lavaland/surface/outdoors/unexplored //monsters and ruins spawn here
|
||||
icon_state = "unexplored"
|
||||
area_flags = VALID_TERRITORY | UNIQUE_AREA | CAVES_ALLOWED | FLORA_ALLOWED | MOB_SPAWN_ALLOWED | NO_ALERTS
|
||||
map_generator = /datum/map_generator/cave_generator/lavaland
|
||||
|
||||
/area/lavaland/surface/outdoors/unexplored/danger //megafauna will also spawn here
|
||||
icon_state = "danger"
|
||||
area_flags = VALID_TERRITORY | UNIQUE_AREA | CAVES_ALLOWED | FLORA_ALLOWED | MOB_SPAWN_ALLOWED | MEGAFAUNA_SPAWN_ALLOWED | NO_ALERTS
|
||||
map_generator = /datum/map_generator/cave_generator/lavaland
|
||||
|
||||
/area/lavaland/surface/outdoors/explored
|
||||
name = "Lavaland Labor Camp"
|
||||
|
||||
@@ -80,6 +80,10 @@ GLOBAL_LIST_INIT(ore_probability, list(
|
||||
light_range = 1
|
||||
light_color = COLOR_SOFT_RED
|
||||
|
||||
/obj/structure/spawner/ice_moon/demonic_portal/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/gps, "Netheric Signal")
|
||||
|
||||
/obj/structure/spawner/ice_moon/demonic_portal/clear_rock()
|
||||
for(var/turf/F in RANGE_TURFS(3, src))
|
||||
if(abs(src.x - F.x) + abs(src.y - F.y) > 5)
|
||||
|
||||
@@ -5,10 +5,12 @@
|
||||
icon = 'icons/obj/structures.dmi'
|
||||
icon_state = "ladder11"
|
||||
anchored = TRUE
|
||||
obj_flags = CAN_BE_HIT | BLOCK_Z_OUT_DOWN
|
||||
var/obj/structure/ladder/down //the ladder below this one
|
||||
var/obj/structure/ladder/up //the ladder above this one
|
||||
var/crafted = FALSE
|
||||
obj_flags = CAN_BE_HIT | BLOCK_Z_OUT_DOWN
|
||||
/// Optional travel time for ladder in deciseconds
|
||||
var/travel_time = 0
|
||||
|
||||
/obj/structure/ladder/Initialize(mapload, obj/structure/ladder/up, obj/structure/ladder/down)
|
||||
..()
|
||||
@@ -70,8 +72,11 @@
|
||||
|
||||
/obj/structure/ladder/proc/travel(going_up, mob/user, is_ghost, obj/structure/ladder/ladder)
|
||||
if(!is_ghost)
|
||||
show_fluff_message(going_up, user)
|
||||
ladder.add_fingerprint(user)
|
||||
if(!do_after(user, travel_time, target = src))
|
||||
return
|
||||
show_fluff_message(going_up, user)
|
||||
|
||||
|
||||
var/turf/T = get_turf(ladder)
|
||||
var/atom/movable/AM
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
#define MINING_MESSAGE_COOLDOWN 20
|
||||
|
||||
/**********************Mineral deposits**************************/
|
||||
|
||||
/turf/closed/mineral //wall piece
|
||||
@@ -22,6 +24,8 @@
|
||||
var/last_act = 0
|
||||
var/scan_state = "" //Holder for the image we display when we're pinged by a mining scanner
|
||||
var/defer_change = 0
|
||||
// If true you can mine the mineral turf with your hands
|
||||
var/weak_turf = FALSE
|
||||
|
||||
/turf/closed/mineral/Initialize()
|
||||
. = ..()
|
||||
@@ -80,6 +84,22 @@
|
||||
else
|
||||
return attack_hand(user)
|
||||
|
||||
/turf/closed/mineral/attack_hand(mob/user)
|
||||
if(!weak_turf)
|
||||
return ..()
|
||||
var/turf/user_turf = user.loc
|
||||
if (!isturf(user_turf))
|
||||
return
|
||||
if(last_act + MINING_MESSAGE_COOLDOWN > world.time)//prevents message spam
|
||||
return
|
||||
last_act = world.time
|
||||
to_chat(user, "<span class='notice'>You start pulling out pieces of [src] with your hands...</span>")
|
||||
if(!do_after(user, 15 SECONDS, target = src))
|
||||
return
|
||||
if(ismineralturf(src))
|
||||
to_chat(user, "<span class='notice'>You finish pulling apart [src].</span>")
|
||||
gets_drilled(user)
|
||||
|
||||
/turf/closed/mineral/proc/gets_drilled(user, give_exp = FALSE)
|
||||
if (mineralType && (mineralAmt > 0))
|
||||
new mineralType(src, mineralAmt)
|
||||
@@ -97,9 +117,10 @@
|
||||
var/flags = NONE
|
||||
if(defer_change) // TODO: make the defer change var a var for any changeturf flag
|
||||
flags = CHANGETURF_DEFER_CHANGE
|
||||
ScrapeAway(null, flags)
|
||||
var/turf/open/mined = ScrapeAway(null, flags)
|
||||
addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE)
|
||||
playsound(src, 'sound/effects/break_stone.ogg', 50, TRUE) //beautiful destruction
|
||||
mined.update_visuals()
|
||||
|
||||
/turf/closed/mineral/attack_animal(mob/living/simple_animal/user, list/modifiers)
|
||||
if((user.environment_smash & ENVIRONMENT_SMASH_WALLS) || (user.environment_smash & ENVIRONMENT_SMASH_RWALLS))
|
||||
@@ -241,6 +262,7 @@
|
||||
turf_type = /turf/open/floor/plating/asteroid/snow/icemoon
|
||||
baseturfs = /turf/open/floor/plating/asteroid/snow/icemoon
|
||||
initial_gas_mix = ICEMOON_DEFAULT_ATMOS
|
||||
weak_turf = TRUE
|
||||
|
||||
/turf/closed/mineral/random/snow/Change_Ore(ore_type, random = 0)
|
||||
. = ..()
|
||||
@@ -630,3 +652,5 @@
|
||||
|
||||
/turf/closed/mineral/strong/ex_act(severity, target)
|
||||
return
|
||||
|
||||
#undef MINING_MESSAGE_COOLDOWN
|
||||
|
||||
@@ -254,6 +254,9 @@
|
||||
initial_gas_mix = ICEMOON_DEFAULT_ATMOS
|
||||
slowdown = 0
|
||||
|
||||
/turf/open/floor/plating/ice/icemoon/no_planet_atmos
|
||||
planetary_atmos = FALSE
|
||||
|
||||
/turf/open/floor/plating/snowed
|
||||
name = "snowed-over plating"
|
||||
desc = "A section of heated plating, helps keep the snow from stacking up too high."
|
||||
|
||||
@@ -152,17 +152,27 @@ GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdr
|
||||
initial_gas_mix = ICEMOON_DEFAULT_ATMOS
|
||||
planetary_atmos = TRUE
|
||||
var/replacement_turf = /turf/open/floor/plating/asteroid/snow/icemoon
|
||||
/// Replaces itself with replacement_turf if the turf below this one is in a no ruins allowed area (usually ruins themselves)
|
||||
var/protect_ruin = TRUE
|
||||
/// If true mineral turfs below this openspace turf will be mined automatically
|
||||
var/drill_below = TRUE
|
||||
|
||||
/turf/open/openspace/icemoon/Initialize()
|
||||
. = ..()
|
||||
var/turf/T = below()
|
||||
if(T.flags_1 & NO_RUINS_1)
|
||||
if(T.flags_1 & NO_RUINS_1 && protect_ruin)
|
||||
ChangeTurf(replacement_turf, null, CHANGETURF_IGNORE_AIR)
|
||||
return
|
||||
if(!ismineralturf(T))
|
||||
if(!ismineralturf(T) || !drill_below)
|
||||
return
|
||||
var/turf/closed/mineral/M = T
|
||||
M.mineralAmt = 0
|
||||
M.gets_drilled()
|
||||
baseturfs = /turf/open/openspace/icemoon //This is to ensure that IF random turf generation produces a openturf, there won't be other turfs assigned other than openspace.
|
||||
|
||||
/turf/open/openspace/icemoon/keep_below
|
||||
drill_below = FALSE
|
||||
|
||||
/turf/open/openspace/icemoon/ruins
|
||||
protect_ruin = FALSE
|
||||
drill_below = FALSE
|
||||
|
||||
@@ -249,13 +249,6 @@
|
||||
baseturfs = /turf/open/lava/plasma/mafia
|
||||
slowdown = 0
|
||||
|
||||
/obj/vehicle/ridden/lavaboat/plasma
|
||||
name = "plasma boat"
|
||||
desc = "A boat used for traversing the streams of plasma without turning into an icecube."
|
||||
icon_state = "goliath_boat"
|
||||
icon = 'icons/obj/lavaland/dragonboat.dmi'
|
||||
resistance_flags = FREEZE_PROOF
|
||||
can_buckle = TRUE
|
||||
/////////// papers
|
||||
|
||||
|
||||
|
||||
@@ -74,8 +74,10 @@
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/spear)
|
||||
armor = list(MELEE = 70, BULLET = 30, LASER = 50, ENERGY = 50, BOMB = 70, BIO = 60, RAD = 50, FIRE = 100, ACID = 100)
|
||||
hoodtype = /obj/item/clothing/head/hooded/cloakhood/drake
|
||||
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
transparent_protection = HIDEGLOVES|HIDESUITSTORAGE|HIDEJUMPSUIT|HIDESHOES
|
||||
@@ -86,6 +88,8 @@
|
||||
desc = "The skull of a dragon."
|
||||
armor = list(MELEE = 70, BULLET = 30, LASER = 50, ENERGY = 50, BOMB = 70, BIO = 60, RAD = 50, FIRE = 100, ACID = 100)
|
||||
clothing_flags = SNUG_FIT
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/pickaxe/diamond, 2000),
|
||||
new /datum/data/mining_equipment("Super Resonator", /obj/item/resonator/upgraded, 2500),
|
||||
new /datum/data/mining_equipment("Jump Boots", /obj/item/clothing/shoes/bhop, 2500),
|
||||
new /datum/data/mining_equipment("Ice Hiking Boots", /obj/item/clothing/shoes/winterboots/ice_boots, 2500),
|
||||
new /datum/data/mining_equipment("Luxury Shelter Capsule", /obj/item/survivalcapsule/luxury, 3000),
|
||||
new /datum/data/mining_equipment("Luxury Bar Capsule", /obj/item/survivalcapsule/luxuryelite, 10000),
|
||||
new /datum/data/mining_equipment("Nanotrasen Minebot", /mob/living/simple_animal/hostile/mining_drone, 800),
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
GLOBAL_LIST_EMPTY(frost_miner_prisms)
|
||||
|
||||
/*
|
||||
|
||||
Difficulty: Extremely Hard
|
||||
@@ -23,10 +25,11 @@ Difficulty: Extremely Hard
|
||||
armour_penetration = 100
|
||||
melee_damage_lower = 10
|
||||
melee_damage_upper = 10
|
||||
aggro_vision_range = 18 // large vision range so combat doesn't abruptly end when someone runs a bit away
|
||||
vision_range = 18 // large vision range so combat doesn't abruptly end when someone runs a bit away
|
||||
rapid_melee = 4
|
||||
speed = 20
|
||||
move_to_delay = 20
|
||||
gps_name = "Bloodchilling Signal"
|
||||
ranged = TRUE
|
||||
crusher_loot = list(/obj/effect/decal/remains/plasma, /obj/item/crusher_trophy/ice_block_talisman)
|
||||
loot = list(/obj/effect/decal/remains/plasma)
|
||||
@@ -51,6 +54,8 @@ Difficulty: Extremely Hard
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner/Initialize()
|
||||
. = ..()
|
||||
for(var/obj/structure/frost_miner_prism/prism_to_set in GLOB.frost_miner_prisms)
|
||||
prism_to_set.set_prism_light(LIGHT_COLOR_BLUE, 5)
|
||||
AddComponent(/datum/component/knockback, 7, FALSE, TRUE)
|
||||
AddComponent(/datum/component/lifesteal, 50)
|
||||
|
||||
@@ -77,7 +82,7 @@ Difficulty: Extremely Hard
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner/OpenFire()
|
||||
check_enraged()
|
||||
projectile_speed_multiplier = 1 - enraged * 0.25
|
||||
projectile_speed_multiplier = 1 - enraged * 0.5
|
||||
SetRecoveryTime(100, 100)
|
||||
|
||||
if(client)
|
||||
@@ -129,7 +134,7 @@ Difficulty: Extremely Hard
|
||||
icon_state = "nuclear_particle"
|
||||
damage = 5
|
||||
armour_penetration = 100
|
||||
speed = 4
|
||||
speed = 3
|
||||
damage_type = BRUTE
|
||||
|
||||
/obj/projectile/ice_blast
|
||||
@@ -137,7 +142,7 @@ Difficulty: Extremely Hard
|
||||
icon_state = "ice_2"
|
||||
damage = 15
|
||||
armour_penetration = 100
|
||||
speed = 4
|
||||
speed = 3
|
||||
damage_type = BRUTE
|
||||
|
||||
/obj/projectile/ice_blast/on_hit(atom/target, blocked = FALSE)
|
||||
@@ -252,6 +257,8 @@ Difficulty: Extremely Hard
|
||||
icon_state = "demonic_miner_phase2"
|
||||
animate(src, pixel_y = pixel_y - 96, time = 8, flags = ANIMATION_END_NOW)
|
||||
spin(8, 2)
|
||||
for(var/obj/structure/frost_miner_prism/prism_to_set in GLOB.frost_miner_prisms)
|
||||
prism_to_set.set_prism_light(LIGHT_COLOR_PURPLE, 5)
|
||||
SLEEP_CHECK_DEATH(8)
|
||||
for(var/mob/living/L in viewers(src))
|
||||
shake_camera(L, 3, 2)
|
||||
@@ -265,6 +272,8 @@ Difficulty: Extremely Hard
|
||||
return
|
||||
var/turf/T = get_turf(src)
|
||||
var/loot = rand(1, 3)
|
||||
for(var/obj/structure/frost_miner_prism/prism_to_set in GLOB.frost_miner_prisms)
|
||||
prism_to_set.set_prism_light(COLOR_GRAY, 1)
|
||||
switch(loot)
|
||||
if(1)
|
||||
new /obj/item/resurrection_crystal(T)
|
||||
@@ -312,7 +321,7 @@ Difficulty: Extremely Hard
|
||||
desc = "A pair of winter boots contractually made by a devil, they cannot be taken off once put on."
|
||||
actions_types = list(/datum/action/item_action/toggle)
|
||||
var/on = FALSE
|
||||
var/change_turf = /turf/open/floor/plating/ice/icemoon
|
||||
var/change_turf = /turf/open/floor/plating/ice/icemoon/no_planet_atmos
|
||||
var/duration = 6 SECONDS
|
||||
|
||||
/obj/item/clothing/shoes/winterboots/ice_boots/ice_trail/Initialize()
|
||||
@@ -376,12 +385,17 @@ Difficulty: Extremely Hard
|
||||
|
||||
/datum/status_effect/ice_block_talisman
|
||||
id = "ice_block_talisman"
|
||||
duration = 40
|
||||
status_type = STATUS_EFFECT_REFRESH
|
||||
duration = 4 SECONDS
|
||||
status_type = STATUS_EFFECT_REPLACE
|
||||
alert_type = /atom/movable/screen/alert/status_effect/ice_block_talisman
|
||||
/// Stored icon overlay for the hit mob, removed when effect is removed
|
||||
var/icon/cube
|
||||
|
||||
/datum/status_effect/ice_block_talisman/on_creation(mob/living/new_owner, set_duration)
|
||||
if(isnum(set_duration))
|
||||
duration = set_duration
|
||||
return ..()
|
||||
|
||||
/atom/movable/screen/alert/status_effect/ice_block_talisman
|
||||
name = "Frozen Solid"
|
||||
desc = "You're frozen inside an ice cube, and cannot move!"
|
||||
@@ -406,3 +420,22 @@ Difficulty: Extremely Hard
|
||||
to_chat(owner, "<span class='notice'>The cube melts!</span>")
|
||||
owner.cut_overlay(cube)
|
||||
UnregisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE)
|
||||
|
||||
/obj/structure/frost_miner_prism
|
||||
name = "frost miner light prism"
|
||||
desc = "A magical crystal enhanced by a demonic presence."
|
||||
icon = 'icons/obj/slimecrossing.dmi'
|
||||
icon_state = "lightprism"
|
||||
density = FALSE
|
||||
anchored = TRUE
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF
|
||||
|
||||
/obj/structure/frost_miner_prism/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.frost_miner_prisms |= src
|
||||
set_prism_light(LIGHT_COLOR_BLUE, 5)
|
||||
|
||||
/obj/structure/frost_miner_prism/proc/set_prism_light(new_color, new_range)
|
||||
color = new_color
|
||||
set_light_color(new_color)
|
||||
set_light(new_range)
|
||||
|
||||
@@ -276,19 +276,26 @@
|
||||
dragon_fire_line(src, turfs)
|
||||
|
||||
//fire line keeps going even if dragon is deleted
|
||||
/proc/dragon_fire_line(atom/source, list/turfs)
|
||||
/proc/dragon_fire_line(atom/source, list/turfs, frozen = FALSE)
|
||||
var/list/hit_list = list()
|
||||
for(var/turf/T in turfs)
|
||||
if(istype(T, /turf/closed))
|
||||
break
|
||||
new /obj/effect/hotspot(T)
|
||||
var/obj/effect/hotspot/drake_fire_hotspot = new /obj/effect/hotspot(T)
|
||||
if(frozen)
|
||||
drake_fire_hotspot.add_atom_colour(COLOR_BLUE_LIGHT, FIXED_COLOUR_PRIORITY)
|
||||
T.hotspot_expose(DRAKE_FIRE_TEMP,DRAKE_FIRE_EXPOSURE,1)
|
||||
for(var/mob/living/L in T.contents)
|
||||
if(L in hit_list || istype(L, source.type))
|
||||
continue
|
||||
hit_list += L
|
||||
L.adjustFireLoss(20)
|
||||
to_chat(L, "<span class='userdanger'>You're hit by [source]'s fire breath!</span>")
|
||||
if(!frozen)
|
||||
L.adjustFireLoss(20)
|
||||
to_chat(L, "<span class='userdanger'>You're hit by [source]'s fire breath!</span>")
|
||||
continue
|
||||
L.adjustFireLoss(10)
|
||||
L.apply_status_effect(/datum/status_effect/ice_block_talisman, 20)
|
||||
to_chat(L, "<span class='userdanger'>You're hit by [source]'s freezing breath!</span>")
|
||||
|
||||
// deals damage to mechs
|
||||
for(var/obj/vehicle/sealed/mecha/M in T.contents)
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
/mob/living/simple_animal/hostile/megafauna/proc/SetRecoveryTime(buffer_time, ranged_buffer_time)
|
||||
recovery_time = world.time + buffer_time
|
||||
ranged_cooldown = world.time + buffer_time
|
||||
if(ranged_buffer_time)
|
||||
if(isnum(ranged_buffer_time))
|
||||
ranged_cooldown = world.time + ranged_buffer_time
|
||||
|
||||
/// Grants medals and achievements to surrounding players
|
||||
|
||||
@@ -30,6 +30,7 @@ Difficulty: Hard
|
||||
ranged = TRUE
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
gps_name = "Berserk Signal"
|
||||
loot = list()
|
||||
butcher_results = list()
|
||||
guaranteed_butcher_results = list(/obj/item/wendigo_blood = 1)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
projectilesound = 'sound/weapons/pierce.ogg'
|
||||
ranged = TRUE
|
||||
ranged_message = "manifests ice"
|
||||
ranged_cooldown_time = 30
|
||||
ranged_cooldown_time = 3 SECONDS
|
||||
minimum_distance = 3
|
||||
retreat_distance = 3
|
||||
maxHealth = 150
|
||||
@@ -46,20 +46,20 @@
|
||||
/obj/projectile/temp/basilisk/ice
|
||||
name = "ice blast"
|
||||
damage = 5
|
||||
speed = 4
|
||||
nodamage = FALSE
|
||||
temperature = -75
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/ice_demon/OpenFire()
|
||||
ranged_cooldown = world.time + ranged_cooldown_time
|
||||
// Sentient ice demons teleporting has been linked to server crashes
|
||||
if(client)
|
||||
return ..()
|
||||
if(teleport_distance <= 0)
|
||||
return ..()
|
||||
var/list/possible_ends = list()
|
||||
for(var/turf/T in view(teleport_distance, target.loc) - view(teleport_distance - 1, target.loc))
|
||||
if(isclosedturf(T))
|
||||
continue
|
||||
possible_ends |= T
|
||||
var/list/possible_ends = view(teleport_distance, target.loc) - view(teleport_distance - 1, target.loc)
|
||||
for(var/turf/closed/turf_to_remove in possible_ends)
|
||||
possible_ends -= turf_to_remove
|
||||
if(!possible_ends.len)
|
||||
return ..()
|
||||
var/turf/end = pick(possible_ends)
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
friendly_verb_continuous = "stares down"
|
||||
friendly_verb_simple = "stare down"
|
||||
speak_emote = list("roars")
|
||||
speed = 30
|
||||
move_to_delay = 30
|
||||
speed = 12
|
||||
move_to_delay = 12
|
||||
ranged = TRUE
|
||||
ranged_cooldown_time = 50
|
||||
maxHealth = 350
|
||||
health = 350
|
||||
ranged_cooldown_time = 5 SECONDS
|
||||
maxHealth = 300
|
||||
health = 300
|
||||
obj_damage = 40
|
||||
armour_penetration = 20
|
||||
melee_damage_lower = 20
|
||||
@@ -23,6 +23,7 @@
|
||||
attack_verb_continuous = "chomps"
|
||||
attack_verb_simple = "chomp"
|
||||
attack_sound = 'sound/magic/demon_attack1.ogg'
|
||||
ranged_message = "breathes fire at"
|
||||
vision_range = 9
|
||||
aggro_vision_range = 9
|
||||
move_force = MOVE_FORCE_VERY_STRONG
|
||||
@@ -39,10 +40,10 @@
|
||||
/// How far the whelps fire can go
|
||||
var/fire_range = 4
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/ice_whelp/OpenFire()
|
||||
var/turf/T = get_ranged_target_turf_direct(src, target, fire_range)
|
||||
var/list/burn_turfs = getline(src, T) - get_turf(src)
|
||||
dragon_fire_line(src, burn_turfs)
|
||||
/mob/living/simple_animal/hostile/asteroid/ice_whelp/Shoot()
|
||||
var/turf/target_fire_turf = get_ranged_target_turf_direct(src, target, fire_range)
|
||||
var/list/burn_turfs = getline(src, target_fire_turf) - get_turf(src)
|
||||
dragon_fire_line(src, burn_turfs, frozen = TRUE)
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/ice_whelp/Life(delta_time = SSMOBS_DT, times_fired)
|
||||
. = ..()
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
friendly_verb_continuous = "growls at"
|
||||
friendly_verb_simple = "growl at"
|
||||
speak_emote = list("growls")
|
||||
speed = 12
|
||||
move_to_delay = 12
|
||||
speed = 8
|
||||
move_to_delay = 8
|
||||
maxHealth = 300
|
||||
health = 300
|
||||
obj_damage = 40
|
||||
@@ -28,7 +28,6 @@
|
||||
butcher_results = list(/obj/item/food/meat/slab/bear = 3, /obj/item/stack/sheet/bone = 2)
|
||||
guaranteed_butcher_results = list(/obj/item/stack/sheet/animalhide/goliath_hide/polar_bear_hide = 1)
|
||||
loot = list()
|
||||
crusher_loot = /obj/item/crusher_trophy/goliath_tentacle
|
||||
stat_attack = HARD_CRIT
|
||||
robust_searching = TRUE
|
||||
footstep_type = FOOTSTEP_MOB_CLAW
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
pull_force = MOVE_FORCE_WEAK
|
||||
butcher_results = list(/obj/item/food/meat/slab = 2, /obj/item/stack/sheet/sinew/wolf = 2, /obj/item/stack/sheet/bone = 2)
|
||||
loot = list()
|
||||
crusher_loot = /obj/item/crusher_trophy/watcher_wing
|
||||
stat_attack = HARD_CRIT
|
||||
robust_searching = TRUE
|
||||
footstep_type = FOOTSTEP_MOB_CLAW
|
||||
|
||||
@@ -41,6 +41,19 @@
|
||||
time = 50
|
||||
category = CAT_PRIMAL
|
||||
|
||||
/obj/vehicle/ridden/lavaboat/plasma
|
||||
name = "plasma boat"
|
||||
desc = "A boat used for traversing the streams of plasma without turning into an icecube."
|
||||
icon_state = "goliath_boat"
|
||||
icon = 'icons/obj/lavaland/dragonboat.dmi'
|
||||
resistance_flags = FREEZE_PROOF
|
||||
can_buckle = TRUE
|
||||
|
||||
/datum/crafting_recipe/boat/plasma
|
||||
name = "Polar Bear Hide Boat"
|
||||
result = /obj/vehicle/ridden/lavaboat/plasma
|
||||
reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide/polar_bear_hide = 3)
|
||||
|
||||
//Dragon Boat
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 225 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 416 KiB After Width: | Height: | Size: 403 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 146 KiB |