Merge remote-tracking branch 'citadel/master' into combat_v7
This commit is contained in:
@@ -20,7 +20,7 @@ jobs:
|
||||
run: |
|
||||
~/dmdoc
|
||||
touch dmdoc/.nojekyll
|
||||
echo codedocs.tgstation13.org > dmdoc/CNAME
|
||||
echo codedocs.citadel-station.net > dmdoc/CNAME
|
||||
- name: Deploy
|
||||
uses: JamesIves/github-pages-deploy-action@3.7.1
|
||||
with:
|
||||
|
||||
@@ -158,8 +158,8 @@
|
||||
/area/ruin/powered/beach)
|
||||
"aF" = (
|
||||
/obj/machinery/vending/boozeomat{
|
||||
set_obj_flags = "EMAGGED";
|
||||
req_access_txt = "0"
|
||||
req_access_txt = "0";
|
||||
set_obj_flags = "EMAGGED"
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/ruin/powered/beach)
|
||||
@@ -547,8 +547,8 @@
|
||||
"rV" = (
|
||||
/obj/effect/turf_decal/sand,
|
||||
/obj/item/reagent_containers/food/drinks/beer/light{
|
||||
pixel_y = -3;
|
||||
pixel_x = -9
|
||||
pixel_x = -9;
|
||||
pixel_y = -3
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/powered/beach)
|
||||
|
||||
@@ -326,8 +326,8 @@
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aO" = (
|
||||
/obj/structure/stone_tile/surrounding/cracked{
|
||||
icon_state = "cracked_surrounding1";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "cracked_surrounding1"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
@@ -510,9 +510,7 @@
|
||||
/obj/structure/stone_tile/cracked{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/construction/rcd/loaded/upgraded{
|
||||
|
||||
},
|
||||
/obj/item/construction/rcd/loaded/upgraded,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bn" = (
|
||||
@@ -1019,8 +1017,8 @@
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"cA" = (
|
||||
/obj/structure/stone_tile/slab/cracked{
|
||||
icon_state = "cracked_slab1";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "cracked_slab1"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
/area/ruin/unpowered)
|
||||
"f" = (
|
||||
/obj/structure/mirror{
|
||||
broken = 1;
|
||||
desc = "This mirror has been shattered. It looks like the bad luck energies spilling from it are taking immediate effect on your surroundings!";
|
||||
icon_state = "mirror_broke";
|
||||
pixel_x = -28;
|
||||
broken = 1
|
||||
pixel_x = -28
|
||||
},
|
||||
/obj/item/clothing/suit/hooded/bloated_human,
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
@@ -25,10 +25,10 @@
|
||||
"g" = (
|
||||
/obj/effect/decal/cleanable/blood/tracks,
|
||||
/obj/structure/mirror{
|
||||
broken = 1;
|
||||
desc = "This mirror has been shattered. It looks like the bad luck energies spilling from it are taking immediate effect on your surroundings!";
|
||||
icon_state = "mirror_broke";
|
||||
pixel_x = -28;
|
||||
broken = 1
|
||||
pixel_x = -28
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/unpowered)
|
||||
@@ -45,10 +45,10 @@
|
||||
/area/ruin/unpowered)
|
||||
"k" = (
|
||||
/obj/structure/mirror{
|
||||
broken = 1;
|
||||
desc = "This mirror has been shattered. It looks like the bad luck energies spilling from it are taking immediate effect on your surroundings!";
|
||||
icon_state = "mirror_broke";
|
||||
pixel_x = 28;
|
||||
broken = 1
|
||||
pixel_x = 28
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
icon_state = "panelscorched"
|
||||
@@ -56,19 +56,19 @@
|
||||
/area/ruin/unpowered)
|
||||
"l" = (
|
||||
/obj/structure/mirror{
|
||||
broken = 1;
|
||||
desc = "This mirror has been shattered. It looks like the bad luck energies spilling from it are taking immediate effect on your surroundings!";
|
||||
icon_state = "mirror_broke";
|
||||
pixel_x = 28;
|
||||
broken = 1
|
||||
pixel_x = 28
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/unpowered)
|
||||
"m" = (
|
||||
/obj/structure/mirror{
|
||||
broken = 1;
|
||||
desc = "This mirror has been shattered. It looks like the bad luck energies spilling from it are taking immediate effect on your surroundings!";
|
||||
icon_state = "mirror_broke";
|
||||
pixel_x = -28;
|
||||
broken = 1
|
||||
pixel_x = -28
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/unpowered)
|
||||
@@ -79,10 +79,10 @@
|
||||
/area/ruin/unpowered)
|
||||
"o" = (
|
||||
/obj/structure/mirror{
|
||||
broken = 1;
|
||||
desc = "This mirror has been shattered. It looks like the bad luck energies spilling from it are taking immediate effect on your surroundings!";
|
||||
icon_state = "mirror_broke";
|
||||
pixel_x = -28;
|
||||
broken = 1
|
||||
pixel_x = -28
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
icon_state = "platingdmg1"
|
||||
@@ -98,10 +98,10 @@
|
||||
/area/lavaland/surface/outdoors)
|
||||
"T" = (
|
||||
/obj/structure/mirror{
|
||||
broken = 1;
|
||||
desc = "This mirror has been shattered. It looks like the bad luck energies spilling from it are taking immediate effect on your surroundings!";
|
||||
icon_state = "mirror_broke";
|
||||
pixel_y = 28;
|
||||
broken = 1
|
||||
pixel_y = 28
|
||||
},
|
||||
/obj/item/kitchen/knife/envy,
|
||||
/turf/open/floor/plating,
|
||||
|
||||
@@ -137,8 +137,8 @@
|
||||
/area/ruin/powered)
|
||||
"D" = (
|
||||
/obj/effect/decal/cleanable/blood/footprints{
|
||||
icon_state = "blood1";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "blood1"
|
||||
},
|
||||
/obj/machinery/door/airlock/survival_pod/glass,
|
||||
/obj/structure/fans/tiny,
|
||||
|
||||
@@ -641,4 +641,4 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
"}
|
||||
"}
|
||||
|
||||
@@ -87,8 +87,8 @@
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/obj/effect/decal/cleanable/blood/drip,
|
||||
/obj/effect/decal/cleanable/blood/footprints{
|
||||
icon_state = "blood1";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "blood1"
|
||||
},
|
||||
/turf/open/floor/pod/dark,
|
||||
/area/ruin/powered)
|
||||
@@ -106,24 +106,24 @@
|
||||
/area/lavaland/surface/outdoors)
|
||||
"t" = (
|
||||
/obj/effect/decal/cleanable/blood/footprints{
|
||||
icon_state = "blood1";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "blood1"
|
||||
},
|
||||
/obj/machinery/door/airlock/survival_pod/glass,
|
||||
/turf/open/floor/pod/dark,
|
||||
/area/ruin/powered)
|
||||
"u" = (
|
||||
/obj/effect/decal/cleanable/blood/footprints{
|
||||
icon_state = "blood1";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "blood1"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/drip,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"v" = (
|
||||
/obj/effect/decal/cleanable/blood/footprints{
|
||||
icon_state = "blood1";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "blood1"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/footprints{
|
||||
icon_state = "blood1"
|
||||
@@ -139,8 +139,8 @@
|
||||
"x" = (
|
||||
/obj/effect/decal/cleanable/blood/drip,
|
||||
/obj/effect/decal/cleanable/blood/footprints{
|
||||
icon_state = "blood1";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "blood1"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
@@ -149,15 +149,15 @@
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/footprints{
|
||||
icon_state = "blood1";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "blood1"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"z" = (
|
||||
/obj/effect/decal/cleanable/blood/footprints{
|
||||
icon_state = "blood1";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "blood1"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
|
||||
@@ -2268,9 +2268,9 @@
|
||||
"hF" = (
|
||||
/obj/structure/table,
|
||||
/obj/machinery/computer/pod/old{
|
||||
id = "derelict_gun";
|
||||
name = "ProComp IIe";
|
||||
pixel_y = 7;
|
||||
id = "derelict_gun"
|
||||
pixel_y = 7
|
||||
},
|
||||
/turf/open/floor/plasteel/chapel,
|
||||
/area/ruin/space/derelict/medical/chapel)
|
||||
|
||||
@@ -66,8 +66,8 @@
|
||||
/area/ruin/space/has_grav/powered/advancedlab)
|
||||
"n" = (
|
||||
/obj/structure/chair/comfy/beige{
|
||||
icon_state = "comfychair";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "comfychair"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/powered/advancedlab)
|
||||
@@ -85,10 +85,10 @@
|
||||
},
|
||||
/obj/structure/table/glass,
|
||||
/obj/item/paper{
|
||||
info = "As of yet, our experiments have seen a fair bit of success. Unfortunately, our business partners have stopped funding us as they realised they utterly hate each other. To whoever finds this place, they are yours. Use them how you will. I leave you with the next generation of greytiding.";
|
||||
name = "Note to finder";
|
||||
pixel_x = -1;
|
||||
pixel_y = 3;
|
||||
info = "As of yet, our experiments have seen a fair bit of success. Unfortunately, our business partners have stopped funding us as they realised they utterly hate each other. To whoever finds this place, they are yours. Use them how you will. I leave you with the next generation of greytiding."
|
||||
pixel_y = 3
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/powered/advancedlab)
|
||||
@@ -112,8 +112,8 @@
|
||||
/area/ruin/space/has_grav/powered/advancedlab)
|
||||
"s" = (
|
||||
/obj/structure/chair/comfy/beige{
|
||||
icon_state = "comfychair";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "comfychair"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/powered/advancedlab)
|
||||
@@ -123,8 +123,8 @@
|
||||
/area/ruin/space/has_grav/powered/advancedlab)
|
||||
"u" = (
|
||||
/obj/machinery/light/small{
|
||||
icon_state = "bulb";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "bulb"
|
||||
},
|
||||
/obj/structure/closet,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/miner,
|
||||
@@ -161,8 +161,8 @@
|
||||
/area/ruin/space/has_grav/powered/advancedlab)
|
||||
"y" = (
|
||||
/obj/machinery/light/small{
|
||||
icon_state = "bulb";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "bulb"
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/ruin/space/has_grav/powered/advancedlab)
|
||||
@@ -268,8 +268,8 @@
|
||||
/area/ruin/space/has_grav/powered/advancedlab)
|
||||
"R" = (
|
||||
/obj/machinery/light/small{
|
||||
icon_state = "bulb";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "bulb"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/powered/advancedlab)
|
||||
|
||||
@@ -57,8 +57,8 @@
|
||||
dir = 4
|
||||
},
|
||||
/mob/living/simple_animal/hostile/gorilla/familiar{
|
||||
icon_state = "crawling";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "crawling"
|
||||
},
|
||||
/turf/open/floor/plating/beach/sand,
|
||||
/area/ruin/powered)
|
||||
|
||||
@@ -65,10 +65,10 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
"ao" = (
|
||||
/obj/machinery/power/apc{
|
||||
start_charge = 0;
|
||||
dir = 4;
|
||||
name = "Cargo Bay APC";
|
||||
pixel_x = 24
|
||||
pixel_x = 24;
|
||||
start_charge = 0
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-8"
|
||||
@@ -385,9 +385,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 9;
|
||||
icon_state = "trails_1";
|
||||
dir = 9
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -398,9 +398,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -415,9 +415,9 @@
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -428,9 +428,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 5;
|
||||
icon_state = "trails_1";
|
||||
dir = 5
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -479,9 +479,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/dockedship)
|
||||
"bw" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 5;
|
||||
icon_state = "trails_1";
|
||||
dir = 5
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -598,9 +598,9 @@
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old,
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 1;
|
||||
icon_state = "trails_1";
|
||||
dir = 1
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -755,9 +755,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"bU" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
icon_state = "wall_thermite";
|
||||
@@ -766,17 +766,17 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"bV" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"bW" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 6;
|
||||
icon_state = "trails_1";
|
||||
dir = 6
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -787,9 +787,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 1;
|
||||
icon_state = "trails_1";
|
||||
dir = 1
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
@@ -813,11 +813,11 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/powerstorage)
|
||||
"ca" = (
|
||||
/obj/machinery/power/apc{
|
||||
start_charge = 0;
|
||||
dir = 4;
|
||||
name = "Power Storage APC";
|
||||
pixel_x = 23;
|
||||
pixel_y = 2
|
||||
pixel_y = 2;
|
||||
start_charge = 0
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-8"
|
||||
@@ -924,10 +924,10 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"ck" = (
|
||||
/obj/machinery/power/apc{
|
||||
start_charge = 0;
|
||||
dir = 2;
|
||||
name = "Tradepost APC";
|
||||
pixel_y = -24
|
||||
pixel_y = -24;
|
||||
start_charge = 0
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-8"
|
||||
@@ -942,9 +942,9 @@
|
||||
},
|
||||
/obj/structure/glowshroom/single,
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 1;
|
||||
icon_state = "trails_1";
|
||||
dir = 1
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -1106,9 +1106,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 10;
|
||||
icon_state = "trails_1";
|
||||
dir = 10
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/mob/living/simple_animal/hostile/netherworld{
|
||||
desc = "Awh its so sm-OH GOD WHAT THE FUCK.";
|
||||
@@ -1126,9 +1126,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -1139,9 +1139,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 5;
|
||||
icon_state = "trails_1";
|
||||
dir = 5
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -1182,9 +1182,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
"cK" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 10;
|
||||
icon_state = "trails_1";
|
||||
dir = 10
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1198,9 +1198,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
"cL" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 5;
|
||||
icon_state = "trails_1";
|
||||
dir = 5
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1268,9 +1268,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 1;
|
||||
icon_state = "trails_1";
|
||||
dir = 1
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -1297,9 +1297,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
"cX" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 1;
|
||||
icon_state = "trails_1";
|
||||
dir = 1
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1325,9 +1325,9 @@
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old,
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 1;
|
||||
icon_state = "trails_1";
|
||||
dir = 1
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -1366,25 +1366,25 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
"dd" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 10;
|
||||
icon_state = "trails_1";
|
||||
dir = 10
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
"de" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
"df" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1399,9 +1399,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
"dg" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1415,9 +1415,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
"dh" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1436,9 +1436,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
"di" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 5;
|
||||
icon_state = "trails_1";
|
||||
dir = 5
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/effect/decal/cleanable/cobweb{
|
||||
icon_state = "cobweb2"
|
||||
@@ -1499,9 +1499,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 8;
|
||||
icon_state = "trails_1";
|
||||
dir = 8
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -1512,9 +1512,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 6;
|
||||
icon_state = "trails_1";
|
||||
dir = 6
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -1574,9 +1574,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"dv" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 9;
|
||||
icon_state = "trails_1";
|
||||
dir = 9
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1587,9 +1587,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"dw" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1605,9 +1605,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"dx" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1618,9 +1618,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"dy" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1632,9 +1632,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"dz" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 5;
|
||||
icon_state = "trails_1";
|
||||
dir = 5
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/effect/decal/cleanable/cobweb{
|
||||
icon_state = "cobweb2"
|
||||
@@ -1648,17 +1648,17 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"dA" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"dB" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 6;
|
||||
icon_state = "trails_1";
|
||||
dir = 6
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1706,9 +1706,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"dF" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 10;
|
||||
icon_state = "trails_1";
|
||||
dir = 10
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1719,9 +1719,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"dG" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 8;
|
||||
icon_state = "trails_1";
|
||||
dir = 8
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1732,9 +1732,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"dH" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 6;
|
||||
icon_state = "trails_1";
|
||||
dir = 6
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
@@ -1779,9 +1779,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 5;
|
||||
icon_state = "trails_1";
|
||||
dir = 5
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
@@ -1795,9 +1795,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 9;
|
||||
icon_state = "trails_1";
|
||||
dir = 9
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
@@ -1806,9 +1806,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"dN" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 8;
|
||||
icon_state = "trails_1";
|
||||
dir = 8
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
icon_state = "wall_thermite";
|
||||
@@ -1823,9 +1823,9 @@
|
||||
name = "gelatinous membrane"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 8;
|
||||
icon_state = "trails_1";
|
||||
dir = 8
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
icon_state = "wall_thermite";
|
||||
@@ -1840,9 +1840,9 @@
|
||||
},
|
||||
/obj/structure/glowshroom/single,
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 8;
|
||||
icon_state = "trails_1";
|
||||
dir = 8
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -1853,9 +1853,9 @@
|
||||
name = "gelatinous floor"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 6;
|
||||
icon_state = "trails_1";
|
||||
dir = 6
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
@@ -2021,10 +2021,10 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargostorage)
|
||||
"el" = (
|
||||
/obj/machinery/power/apc{
|
||||
start_charge = 0;
|
||||
dir = 4;
|
||||
name = "Cargo Storage APC";
|
||||
pixel_x = 24
|
||||
pixel_x = 24;
|
||||
start_charge = 0
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
@@ -2099,35 +2099,35 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"ew" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 8;
|
||||
icon_state = "trails_1";
|
||||
dir = 8
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargostorage)
|
||||
"ex" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 8;
|
||||
icon_state = "trails_1";
|
||||
dir = 8
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargostorage)
|
||||
"ey" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 8;
|
||||
icon_state = "trails_1";
|
||||
dir = 8
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargostorage)
|
||||
"ez" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 5;
|
||||
icon_state = "trails_1";
|
||||
dir = 5
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
@@ -2188,9 +2188,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargostorage)
|
||||
"eI" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 10;
|
||||
icon_state = "trails_1";
|
||||
dir = 10
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-4"
|
||||
@@ -2204,9 +2204,9 @@
|
||||
name = "pried-open airlock"
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 4;
|
||||
icon_state = "trails_1";
|
||||
dir = 4
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
@@ -2215,9 +2215,9 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargostorage)
|
||||
"eK" = (
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood trail";
|
||||
dir = 6;
|
||||
icon_state = "trails_1";
|
||||
dir = 6
|
||||
name = "dried blood trail"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-8"
|
||||
|
||||
@@ -287,9 +287,9 @@
|
||||
/area/space/nearstation)
|
||||
"M" = (
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
name = "broken plating";
|
||||
dir = 8;
|
||||
icon_state = "plating";
|
||||
dir = 8
|
||||
name = "broken plating"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/space/nearstation)
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
"ag" = (
|
||||
/obj/machinery/porta_turret{
|
||||
dir = 8;
|
||||
set_obj_flags = "EMAGGED";
|
||||
installation = /obj/item/gun/energy/lasercannon
|
||||
installation = /obj/item/gun/energy/lasercannon;
|
||||
set_obj_flags = "EMAGGED"
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/awaymission/BMPship/Aft)
|
||||
@@ -2110,8 +2110,8 @@
|
||||
"gl" = (
|
||||
/obj/machinery/porta_turret{
|
||||
dir = 8;
|
||||
set_obj_flags = "EMAGGED";
|
||||
installation = /obj/item/gun/energy/lasercannon
|
||||
installation = /obj/item/gun/energy/lasercannon;
|
||||
set_obj_flags = "EMAGGED"
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/awaymission/BMPship/Fore)
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
"ab" = (
|
||||
/obj/structure/lattice,
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
icon_state = "singular";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "singular"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/space/nearstation)
|
||||
@@ -27,8 +27,8 @@
|
||||
/area/space/nearstation)
|
||||
"af" = (
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
icon_state = "pile";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "pile"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/template_noop)
|
||||
@@ -45,8 +45,8 @@
|
||||
/area/ruin/unpowered)
|
||||
"aj" = (
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
icon_state = "pile";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "pile"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/template_noop)
|
||||
@@ -58,8 +58,8 @@
|
||||
/area/ruin/unpowered)
|
||||
"al" = (
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
icon_state = "singular";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "singular"
|
||||
},
|
||||
/obj/structure/lattice,
|
||||
/turf/template_noop,
|
||||
@@ -133,17 +133,17 @@
|
||||
/area/ruin/unpowered)
|
||||
"az" = (
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
name = "broken plating";
|
||||
dir = 8;
|
||||
icon_state = "plating";
|
||||
dir = 8
|
||||
name = "broken plating"
|
||||
},
|
||||
/obj/structure/lattice,
|
||||
/turf/template_noop,
|
||||
/area/ruin/unpowered)
|
||||
"aA" = (
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
icon_state = "pile";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "pile"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/template_noop)
|
||||
@@ -405,8 +405,8 @@
|
||||
/area/ruin/unpowered)
|
||||
"bt" = (
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
icon_state = "side";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "side"
|
||||
},
|
||||
/obj/structure/lattice,
|
||||
/turf/template_noop,
|
||||
@@ -424,34 +424,34 @@
|
||||
"bw" = (
|
||||
/obj/structure/lattice,
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
name = "broken plating";
|
||||
dir = 1;
|
||||
icon_state = "plating";
|
||||
dir = 1
|
||||
name = "broken plating"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/ruin/unpowered)
|
||||
"bx" = (
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
name = "broken plating";
|
||||
dir = 4;
|
||||
icon_state = "plating";
|
||||
dir = 4
|
||||
name = "broken plating"
|
||||
},
|
||||
/obj/structure/lattice,
|
||||
/turf/template_noop,
|
||||
/area/ruin/unpowered)
|
||||
"by" = (
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
icon_state = "pile";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "pile"
|
||||
},
|
||||
/turf/open/floor/plasteel/airless,
|
||||
/area/ruin/unpowered)
|
||||
"bz" = (
|
||||
/obj/structure/lattice,
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
name = "broken plating";
|
||||
dir = 4;
|
||||
icon_state = "plating";
|
||||
dir = 4
|
||||
name = "broken plating"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/ruin/unpowered)
|
||||
@@ -464,38 +464,38 @@
|
||||
"bC" = (
|
||||
/obj/structure/lattice,
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
icon_state = "corner";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "corner"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/ruin/unpowered)
|
||||
"bD" = (
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
icon_state = "singular";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "singular"
|
||||
},
|
||||
/turf/open/floor/plasteel/airless,
|
||||
/area/ruin/unpowered)
|
||||
"bE" = (
|
||||
/obj/structure/lattice,
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
icon_state = "corner";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "corner"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/ruin/unpowered)
|
||||
"bF" = (
|
||||
/obj/structure/lattice,
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
icon_state = "side";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "side"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/ruin/unpowered)
|
||||
"bG" = (
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
icon_state = "singular";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "singular"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/template_noop)
|
||||
@@ -510,9 +510,9 @@
|
||||
"bI" = (
|
||||
/obj/structure/lattice,
|
||||
/obj/structure/fluff/broken_flooring{
|
||||
name = "broken plating";
|
||||
dir = 8;
|
||||
icon_state = "plating";
|
||||
dir = 8
|
||||
name = "broken plating"
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/ruin/unpowered)
|
||||
|
||||
@@ -149,8 +149,8 @@
|
||||
/area/ruin/space/has_grav/ancientstation/hivebot)
|
||||
"aF" = (
|
||||
/obj/structure/shuttle/engine/large{
|
||||
icon_state = "large_engine";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "large_engine"
|
||||
},
|
||||
/turf/closed/wall,
|
||||
/area/ruin/space/has_grav/ancientstation/hivebot)
|
||||
|
||||
@@ -54,15 +54,15 @@
|
||||
/area/ruin/powered)
|
||||
"m" = (
|
||||
/obj/structure/chair/old{
|
||||
icon_state = "chairold";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "chairold"
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/ruin/powered)
|
||||
"n" = (
|
||||
/obj/structure/chair/old{
|
||||
icon_state = "chairold";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "chairold"
|
||||
},
|
||||
/obj/item/crowbar/large{
|
||||
desc = "It's a big crowbar. It doesn't fit in your pockets, because it's big. It feels oddly heavy..";
|
||||
@@ -73,8 +73,8 @@
|
||||
/area/ruin/powered)
|
||||
"o" = (
|
||||
/obj/structure/chair/old{
|
||||
icon_state = "chairold";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "chairold"
|
||||
},
|
||||
/mob/living/simple_animal/hostile/retaliate/spaceman,
|
||||
/turf/open/floor/oldshuttle,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -40,8 +40,8 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"ai" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
icon_state = "hrwindow_spawner_end";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "hrwindow_spawner_end"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -116,8 +116,8 @@
|
||||
/area/ruin/space/diner)
|
||||
"aw" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
icon_state = "hrwindow_spawner_end";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "hrwindow_spawner_end"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/diner)
|
||||
@@ -253,8 +253,8 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"aQ" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 10
|
||||
dir = 10;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -438,8 +438,8 @@
|
||||
},
|
||||
/obj/machinery/grill,
|
||||
/obj/machinery/light/small/broken{
|
||||
icon_state = "bulb-broken";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "bulb-broken"
|
||||
},
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
name = "Space Diner APC";
|
||||
@@ -468,8 +468,8 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"bx" = (
|
||||
/obj/structure/toilet/secret/low_loot{
|
||||
icon_state = "toilet00";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "toilet00"
|
||||
},
|
||||
/obj/effect/decal/cleanable/cobweb,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -509,8 +509,8 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"bB" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
icon_state = "hrwindow_spawner_end";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "hrwindow_spawner_end"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-4"
|
||||
@@ -529,8 +529,8 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"bD" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
icon_state = "hrwindow_spawner_end";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "hrwindow_spawner_end"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-8"
|
||||
@@ -568,8 +568,8 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -579,8 +579,8 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -594,8 +594,8 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -616,8 +616,8 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 10
|
||||
dir = 10;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -662,8 +662,8 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"bP" = (
|
||||
/obj/structure/toilet/secret/low_loot{
|
||||
icon_state = "toilet00";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "toilet00"
|
||||
},
|
||||
/obj/structure/window/reinforced/spawner/north,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -673,8 +673,8 @@
|
||||
"bQ" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 6
|
||||
dir = 6;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -727,8 +727,8 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"bX" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
icon_state = "hrwindow_spawner_end";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "hrwindow_spawner_end"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
@@ -756,24 +756,24 @@
|
||||
"ca" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/pipe/manifold/general/hidden{
|
||||
icon_state = "manifold-2";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "manifold-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/diner/interior)
|
||||
"cb" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/diner/interior)
|
||||
"cc" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 10
|
||||
dir = 10;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -962,8 +962,8 @@
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/obj/item/beacon,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
@@ -973,8 +973,8 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -993,8 +993,8 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -1105,8 +1105,8 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"cM" = (
|
||||
/obj/machinery/light/broken{
|
||||
icon_state = "tube-broken";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "tube-broken"
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt{
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
@@ -1146,8 +1146,8 @@
|
||||
},
|
||||
/obj/effect/decal/cleanable/cobweb/cobweb2,
|
||||
/obj/machinery/computer/arcade{
|
||||
icon_state = "arcade";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "arcade"
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -1161,8 +1161,8 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"cS" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
icon_state = "hrwindow_spawner_end";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "hrwindow_spawner_end"
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/obj/structure/cable{
|
||||
@@ -1242,8 +1242,8 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 5
|
||||
dir = 5;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -1257,8 +1257,8 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -1287,8 +1287,8 @@
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -1311,8 +1311,8 @@
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 9
|
||||
dir = 9;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -1351,8 +1351,8 @@
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/computer/teleporter{
|
||||
icon_state = "computer";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "computer"
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
@@ -1414,8 +1414,8 @@
|
||||
"ds" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/solar_control{
|
||||
icon_state = "computer";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "computer"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -1427,8 +1427,8 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"dv" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
icon_state = "hrwindow_spawner_end";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "hrwindow_spawner_end"
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/obj/structure/cable{
|
||||
@@ -1449,8 +1449,8 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/light/broken{
|
||||
icon_state = "tube-broken";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "tube-broken"
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -1492,8 +1492,8 @@
|
||||
name = "dust"
|
||||
},
|
||||
/obj/item/chair{
|
||||
icon_state = "chair_toppled";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "chair_toppled"
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -1508,8 +1508,8 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"dE" = (
|
||||
/obj/machinery/light/small/broken{
|
||||
icon_state = "bulb-broken";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "bulb-broken"
|
||||
},
|
||||
/turf/open/floor/engine/airless,
|
||||
/area/ruin/space/diner)
|
||||
@@ -1663,8 +1663,8 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"dV" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
icon_state = "hrwindow_spawner_directional";
|
||||
dir = 10
|
||||
dir = 10;
|
||||
icon_state = "hrwindow_spawner_directional"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -1674,22 +1674,22 @@
|
||||
/area/ruin/space/diner/interior)
|
||||
"dX" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
icon_state = "hrwindow_spawner_end";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "hrwindow_spawner_end"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/diner/interior)
|
||||
"dY" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
icon_state = "hrwindow_spawner_end";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "hrwindow_spawner_end"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/diner/interior)
|
||||
"dZ" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
icon_state = "hrwindow_spawner_directional";
|
||||
dir = 6
|
||||
dir = 6;
|
||||
icon_state = "hrwindow_spawner_directional"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/diner/interior)
|
||||
@@ -1728,8 +1728,8 @@
|
||||
/area/ruin/space/diner)
|
||||
"ef" = (
|
||||
/obj/machinery/light/small/broken{
|
||||
icon_state = "bulb-broken";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "bulb-broken"
|
||||
},
|
||||
/obj/machinery/vending/snack,
|
||||
/obj/effect/turf_decal/bot,
|
||||
@@ -1737,8 +1737,8 @@
|
||||
/area/ruin/space/diner)
|
||||
"eg" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
icon_state = "hrwindow_spawner_end";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "hrwindow_spawner_end"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/diner)
|
||||
|
||||
@@ -125,8 +125,8 @@
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_3)
|
||||
"ay" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "window"
|
||||
},
|
||||
/obj/structure/toilet,
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
@@ -166,8 +166,8 @@
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_4)
|
||||
"aG" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "window"
|
||||
},
|
||||
/obj/structure/toilet,
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
@@ -207,8 +207,8 @@
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_5)
|
||||
"aO" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "window"
|
||||
},
|
||||
/obj/structure/toilet,
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
@@ -248,8 +248,8 @@
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_6)
|
||||
"aW" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "window"
|
||||
},
|
||||
/obj/structure/toilet,
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
@@ -287,8 +287,8 @@
|
||||
/area/ruin/unpowered/no_grav)
|
||||
"be" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "window"
|
||||
},
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_3)
|
||||
@@ -319,8 +319,8 @@
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_3)
|
||||
"bk" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "window"
|
||||
},
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_4)
|
||||
@@ -351,8 +351,8 @@
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_4)
|
||||
"bq" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "window"
|
||||
},
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_5)
|
||||
@@ -383,8 +383,8 @@
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_5)
|
||||
"bw" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "window"
|
||||
},
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_6)
|
||||
@@ -1067,8 +1067,8 @@
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_2)
|
||||
"dl" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "window"
|
||||
},
|
||||
/obj/structure/toilet,
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
@@ -1131,8 +1131,8 @@
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_1)
|
||||
"dt" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "window"
|
||||
},
|
||||
/obj/structure/toilet,
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
@@ -1230,8 +1230,8 @@
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_2)
|
||||
"dI" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "window"
|
||||
},
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_2)
|
||||
@@ -1262,8 +1262,8 @@
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_1)
|
||||
"dP" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "window"
|
||||
},
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_1)
|
||||
@@ -2564,16 +2564,16 @@
|
||||
/area/ruin/space/has_grav/hotel/workroom)
|
||||
"hG" = (
|
||||
/obj/effect/mob_spawn/human/hotel_staff{
|
||||
icon_state = "sleeper_s";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "sleeper_s"
|
||||
},
|
||||
/obj/machinery/light,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ruin/space/has_grav/hotel/workroom)
|
||||
"hH" = (
|
||||
/obj/effect/mob_spawn/human/hotel_staff{
|
||||
icon_state = "sleeper_s";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "sleeper_s"
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ruin/space/has_grav/hotel/workroom)
|
||||
@@ -4283,8 +4283,8 @@
|
||||
/area/ruin/space/has_grav/hotel/security)
|
||||
"lG" = (
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "window"
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
@@ -4307,8 +4307,8 @@
|
||||
/obj/item/clothing/shoes/sandal,
|
||||
/obj/item/clothing/shoes/sandal,
|
||||
/obj/structure/window{
|
||||
icon_state = "window";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "window"
|
||||
},
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
/area/ruin/space/has_grav/hotel/pool)
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
dwidth = 11;
|
||||
height = 22;
|
||||
id = "whiteship_away";
|
||||
json_key = "whiteship";
|
||||
name = "Deep Space";
|
||||
width = 35;
|
||||
json_key = "whiteship"
|
||||
width = 35
|
||||
},
|
||||
/turf/open/space,
|
||||
/area/space)
|
||||
|
||||
@@ -336,16 +336,6 @@
|
||||
"yf" = (
|
||||
/turf/open/space/basic,
|
||||
/area/space/nearstation)
|
||||
"zw" = (
|
||||
/obj/structure/closet/crate,
|
||||
/obj/item/stack/sheet/mineral/plasma{
|
||||
amount = 50
|
||||
},
|
||||
/obj/item/stack/sheet/mineral/plasma{
|
||||
amount = 10
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"zS" = (
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
@@ -715,12 +705,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"WB" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"Ys" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -1164,15 +1148,15 @@ zS
|
||||
MP
|
||||
dw
|
||||
lG
|
||||
WB
|
||||
eP
|
||||
Jq
|
||||
WB
|
||||
eP
|
||||
UD
|
||||
Cx
|
||||
UD
|
||||
WB
|
||||
eP
|
||||
Jq
|
||||
WB
|
||||
eP
|
||||
UD
|
||||
MP
|
||||
tw
|
||||
@@ -1276,15 +1260,15 @@ zS
|
||||
MP
|
||||
Cb
|
||||
AC
|
||||
WB
|
||||
eP
|
||||
mW
|
||||
WB
|
||||
eP
|
||||
Kl
|
||||
Cx
|
||||
Kl
|
||||
WB
|
||||
eP
|
||||
mW
|
||||
WB
|
||||
eP
|
||||
Kl
|
||||
MP
|
||||
tw
|
||||
@@ -1505,11 +1489,11 @@ Ok
|
||||
CH
|
||||
GI
|
||||
Ok
|
||||
zw
|
||||
zw
|
||||
zw
|
||||
zw
|
||||
zw
|
||||
gF
|
||||
gF
|
||||
gF
|
||||
gF
|
||||
gF
|
||||
MP
|
||||
tw
|
||||
yf
|
||||
|
||||
@@ -111,26 +111,14 @@
|
||||
/obj/structure/lattice,
|
||||
/turf/open/space/basic,
|
||||
/area/space/nearstation)
|
||||
"uC" = (
|
||||
/obj/structure/lattice/catwalk,
|
||||
/turf/open/space/basic,
|
||||
/area/space/nearstation)
|
||||
"wt" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/structure/closet/radiation,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"wS" = (
|
||||
/obj/structure/lattice/catwalk,
|
||||
/turf/open/space/basic,
|
||||
/area/space/nearstation)
|
||||
"yf" = (
|
||||
/turf/open/space/basic,
|
||||
/area/space/nearstation)
|
||||
"yA" = (
|
||||
/obj/structure/lattice/catwalk,
|
||||
/turf/open/space/basic,
|
||||
/area/space/nearstation)
|
||||
"zS" = (
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
@@ -224,10 +212,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"Le" = (
|
||||
/obj/structure/lattice/catwalk,
|
||||
/turf/open/space/basic,
|
||||
/area/space/nearstation)
|
||||
"LS" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
|
||||
/turf/open/floor/plating/airless,
|
||||
@@ -397,17 +381,17 @@ ZT
|
||||
ZT
|
||||
ZT
|
||||
ZT
|
||||
Le
|
||||
hK
|
||||
tw
|
||||
Le
|
||||
Le
|
||||
hK
|
||||
hK
|
||||
tw
|
||||
Le
|
||||
Le
|
||||
hK
|
||||
hK
|
||||
tw
|
||||
Le
|
||||
Le
|
||||
Le
|
||||
hK
|
||||
hK
|
||||
hK
|
||||
YZ
|
||||
Oj
|
||||
YZ
|
||||
@@ -453,17 +437,17 @@ ZT
|
||||
ZT
|
||||
ZT
|
||||
ZT
|
||||
Le
|
||||
hK
|
||||
tw
|
||||
Le
|
||||
Le
|
||||
hK
|
||||
hK
|
||||
tw
|
||||
Le
|
||||
Le
|
||||
hK
|
||||
hK
|
||||
tw
|
||||
Le
|
||||
Le
|
||||
Le
|
||||
hK
|
||||
hK
|
||||
hK
|
||||
YZ
|
||||
Oj
|
||||
YZ
|
||||
@@ -509,17 +493,17 @@ Ke
|
||||
EL
|
||||
Tk
|
||||
MP
|
||||
Le
|
||||
hK
|
||||
tw
|
||||
Le
|
||||
Le
|
||||
hK
|
||||
hK
|
||||
tw
|
||||
Le
|
||||
Le
|
||||
hK
|
||||
hK
|
||||
tw
|
||||
Le
|
||||
Le
|
||||
Le
|
||||
hK
|
||||
hK
|
||||
hK
|
||||
YZ
|
||||
Oj
|
||||
YZ
|
||||
|
||||
@@ -2411,8 +2411,8 @@
|
||||
/area/awaymission/snowdin/post/dorm)
|
||||
"fw" = (
|
||||
/obj/machinery/sleeper{
|
||||
icon_state = "sleeper";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "sleeper"
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 4
|
||||
@@ -6704,9 +6704,9 @@
|
||||
"oo" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
|
||||
dir = 4;
|
||||
piping_layer = 3;
|
||||
pixel_x = 5;
|
||||
pixel_y = 5;
|
||||
piping_layer = 3
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -6714,9 +6714,9 @@
|
||||
"op" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
|
||||
dir = 4;
|
||||
piping_layer = 3;
|
||||
pixel_x = 5;
|
||||
pixel_y = 5;
|
||||
piping_layer = 3
|
||||
pixel_y = 5
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/snowdin/post/engineering)
|
||||
@@ -9707,10 +9707,10 @@
|
||||
/area/awaymission/snowdin/post/broken_shuttle)
|
||||
"wc" = (
|
||||
/obj/machinery/computer{
|
||||
name = "Shuttle Transist Console";
|
||||
desc = "A console meant for calling and sending a transit ferry. It seems iced-over and non-functional.";
|
||||
dir = 1;
|
||||
icon_screen = null
|
||||
icon_screen = null;
|
||||
name = "Shuttle Transist Console"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/awaymission/snowdin/post/broken_shuttle)
|
||||
@@ -9799,9 +9799,9 @@
|
||||
"wm" = (
|
||||
/obj/machinery/porta_turret/centcom_shuttle/weak{
|
||||
desc = "A turret built with substandard parts and run down further with age.";
|
||||
icon_state = "syndie_off";
|
||||
dir = 9;
|
||||
faction = list("pirate")
|
||||
faction = list("pirate");
|
||||
icon_state = "syndie_off"
|
||||
},
|
||||
/turf/open/floor/plating/snowed/smoothed,
|
||||
/area/awaymission/snowdin/cave)
|
||||
@@ -9926,8 +9926,8 @@
|
||||
/area/awaymission/snowdin/outside)
|
||||
"wC" = (
|
||||
/obj/vehicle/ridden/atv{
|
||||
icon_state = "atv";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "atv"
|
||||
},
|
||||
/obj/effect/light_emitter{
|
||||
name = "outdoor light";
|
||||
@@ -10650,10 +10650,10 @@
|
||||
/area/awaymission/snowdin/cave)
|
||||
"yu" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
|
||||
name = "toxin out";
|
||||
dir = 8;
|
||||
frequency = 1442;
|
||||
id_tag = "snowdin_toxins_mine_1";
|
||||
frequency = 1442
|
||||
name = "toxin out"
|
||||
},
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/awaymission/snowdin/cave)
|
||||
@@ -11025,8 +11025,8 @@
|
||||
/area/awaymission/snowdin/post/minipost)
|
||||
"zq" = (
|
||||
/obj/vehicle/ridden/atv{
|
||||
icon_state = "atv";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "atv"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/minipost)
|
||||
@@ -11939,8 +11939,8 @@
|
||||
/area/awaymission/snowdin/cave)
|
||||
"BO" = (
|
||||
/obj/effect/turf_decal/stripes/end{
|
||||
icon_state = "warn_end";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "warn_end"
|
||||
},
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
@@ -11953,8 +11953,8 @@
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"BQ" = (
|
||||
/obj/effect/turf_decal/stripes/end{
|
||||
icon_state = "warn_end";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "warn_end"
|
||||
},
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
@@ -12268,8 +12268,8 @@
|
||||
/area/awaymission/snowdin/cave)
|
||||
"CP" = (
|
||||
/obj/structure/shuttle/engine/heater{
|
||||
icon_state = "heater";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "heater"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
@@ -12803,8 +12803,8 @@
|
||||
/area/awaymission/snowdin/cave)
|
||||
"DU" = (
|
||||
/obj/structure/shuttle/engine/heater{
|
||||
icon_state = "heater";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "heater"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
@@ -13244,8 +13244,8 @@
|
||||
/area/awaymission/snowdin/cave)
|
||||
"EN" = (
|
||||
/obj/machinery/sleeper/syndie{
|
||||
icon_state = "sleeper_s";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "sleeper_s"
|
||||
},
|
||||
/obj/effect/turf_decal/bot_white,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
@@ -13257,8 +13257,8 @@
|
||||
"EP" = (
|
||||
/obj/effect/turf_decal/bot_white,
|
||||
/obj/machinery/sleeper/syndie{
|
||||
icon_state = "sleeper_s";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "sleeper_s"
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/snowdin/cave)
|
||||
@@ -14452,8 +14452,8 @@
|
||||
/area/awaymission/snowdin/post/mining_main/mechbay)
|
||||
"In" = (
|
||||
/obj/mecha/working/ripley/mining{
|
||||
icon_state = "ripley";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "ripley"
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/mech_bay_recharge_floor,
|
||||
@@ -14513,8 +14513,8 @@
|
||||
/area/awaymission/snowdin/post/mining_main)
|
||||
"Ix" = (
|
||||
/obj/vehicle/ridden/atv{
|
||||
icon_state = "atv";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "atv"
|
||||
},
|
||||
/obj/effect/decal/cleanable/oil,
|
||||
/turf/open/floor/plating,
|
||||
|
||||
@@ -468,8 +468,8 @@
|
||||
/area/awaymission/centcomAway/hangar)
|
||||
"cO" = (
|
||||
/obj/machinery/sleep_console{
|
||||
icon_state = "console";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "console"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/awaymission/centcomAway/hangar)
|
||||
@@ -746,8 +746,8 @@
|
||||
/area/awaymission/centcomAway/general)
|
||||
"eI" = (
|
||||
/obj/machinery/sleep_console{
|
||||
icon_state = "console";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "console"
|
||||
},
|
||||
/turf/open/indestructible,
|
||||
/area/awaymission/centcomAway/general)
|
||||
@@ -1787,8 +1787,8 @@
|
||||
/area/awaymission/centcomAway/general)
|
||||
"kD" = (
|
||||
/obj/machinery/door/window/northright{
|
||||
icon_state = "right";
|
||||
dir = 2
|
||||
dir = 2;
|
||||
icon_state = "right"
|
||||
},
|
||||
/turf/open/indestructible,
|
||||
/area/awaymission/centcomAway/general)
|
||||
|
||||
@@ -3129,8 +3129,8 @@
|
||||
/obj/structure/table,
|
||||
/obj/item/gun/ballistic/revolver/russian/soul,
|
||||
/turf/open/floor/plasteel/airless{
|
||||
icon_state = "whitered";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "whitered"
|
||||
},
|
||||
/area/awaymission/academy/academyaft)
|
||||
"iY" = (
|
||||
@@ -3197,8 +3197,8 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/turf/open/floor/plasteel/airless{
|
||||
icon_state = "whitered";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "whitered"
|
||||
},
|
||||
/area/awaymission/academy/academyaft)
|
||||
"jh" = (
|
||||
@@ -3258,8 +3258,8 @@
|
||||
name = "The preserved brain of Harry Houdini"
|
||||
},
|
||||
/turf/open/floor/plasteel/airless{
|
||||
icon_state = "whitered";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "whitered"
|
||||
},
|
||||
/area/awaymission/academy/academyaft)
|
||||
"jp" = (
|
||||
@@ -3365,8 +3365,8 @@
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/item/batterer,
|
||||
/turf/open/floor/plasteel/airless{
|
||||
icon_state = "whitered";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "whitered"
|
||||
},
|
||||
/area/awaymission/academy/academyaft)
|
||||
"jB" = (
|
||||
@@ -3616,8 +3616,8 @@
|
||||
/area/awaymission/academy/academygate)
|
||||
"kw" = (
|
||||
/turf/closed/indestructible/fakeglass{
|
||||
icon_state = "fakewindows";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "fakewindows"
|
||||
},
|
||||
/area/awaymission/academy/headmaster)
|
||||
"kx" = (
|
||||
@@ -3671,8 +3671,8 @@
|
||||
/area/awaymission/academy/academyaft)
|
||||
"kF" = (
|
||||
/turf/closed/indestructible/fakeglass{
|
||||
icon_state = "fakewindows2";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "fakewindows2"
|
||||
},
|
||||
/area/awaymission/academy/headmaster)
|
||||
"kG" = (
|
||||
@@ -4270,8 +4270,8 @@
|
||||
/area/awaymission/academy/academycellar)
|
||||
"mW" = (
|
||||
/turf/closed/indestructible/fakeglass{
|
||||
icon_state = "fakewindows";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "fakewindows"
|
||||
},
|
||||
/area/awaymission/academy/headmaster)
|
||||
"mX" = (
|
||||
@@ -4284,14 +4284,14 @@
|
||||
/area/space/nearstation)
|
||||
"mZ" = (
|
||||
/turf/closed/indestructible/fakeglass{
|
||||
icon_state = "fakewindows";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "fakewindows"
|
||||
},
|
||||
/area/awaymission/academy/headmaster)
|
||||
"na" = (
|
||||
/turf/closed/indestructible/fakeglass{
|
||||
icon_state = "fakewindows2";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "fakewindows2"
|
||||
},
|
||||
/area/awaymission/academy/headmaster)
|
||||
"nb" = (
|
||||
@@ -4310,20 +4310,20 @@
|
||||
/area/awaymission/academy/headmaster)
|
||||
"nd" = (
|
||||
/turf/closed/indestructible/fakeglass{
|
||||
icon_state = "fakewindows";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "fakewindows"
|
||||
},
|
||||
/area/awaymission/academy/academyengine)
|
||||
"ne" = (
|
||||
/turf/closed/indestructible/fakeglass{
|
||||
icon_state = "fakewindows2";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "fakewindows2"
|
||||
},
|
||||
/area/awaymission/academy/academyengine)
|
||||
"nf" = (
|
||||
/turf/closed/indestructible/fakeglass{
|
||||
icon_state = "fakewindows2";
|
||||
dir = 6
|
||||
dir = 6;
|
||||
icon_state = "fakewindows2"
|
||||
},
|
||||
/area/awaymission/academy/headmaster)
|
||||
"ng" = (
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
"ad" = (
|
||||
/turf/open/lava/smooth{
|
||||
desc = "Looks hot.";
|
||||
luminosity = 5;
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
initial_gas_mix = "n2=23;o2=14";
|
||||
luminosity = 5
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_four)
|
||||
"ae" = (
|
||||
@@ -35,8 +35,8 @@
|
||||
"ah" = (
|
||||
/turf/open/lava/smooth{
|
||||
desc = "Looks hot.";
|
||||
luminosity = 5;
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
initial_gas_mix = "n2=23;o2=14";
|
||||
luminosity = 5
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_three)
|
||||
"ai" = (
|
||||
@@ -305,8 +305,8 @@
|
||||
/obj/effect/forcefield/cult,
|
||||
/turf/open/lava/smooth{
|
||||
desc = "Looks hot.";
|
||||
luminosity = 5;
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
initial_gas_mix = "n2=23;o2=14";
|
||||
luminosity = 5
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_four)
|
||||
"aW" = (
|
||||
@@ -540,8 +540,8 @@
|
||||
"bM" = (
|
||||
/turf/open/lava/smooth{
|
||||
desc = "Looks hot.";
|
||||
luminosity = 5;
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
initial_gas_mix = "n2=23;o2=14";
|
||||
luminosity = 5
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
"bN" = (
|
||||
@@ -550,8 +550,8 @@
|
||||
"bO" = (
|
||||
/turf/open/lava/smooth{
|
||||
desc = "Looks hot.";
|
||||
luminosity = 5;
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
initial_gas_mix = "n2=23;o2=14";
|
||||
luminosity = 5
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_two)
|
||||
"bP" = (
|
||||
@@ -1818,8 +1818,8 @@
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
"fQ" = (
|
||||
/turf/open/floor/plasteel/elevatorshaft{
|
||||
name = "elevator flooring";
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
initial_gas_mix = "n2=23;o2=14";
|
||||
name = "elevator flooring"
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
"fR" = (
|
||||
@@ -1843,8 +1843,8 @@
|
||||
"fU" = (
|
||||
/obj/effect/landmark/awaystart,
|
||||
/turf/open/floor/plasteel/elevatorshaft{
|
||||
name = "elevator flooring";
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
initial_gas_mix = "n2=23;o2=14";
|
||||
name = "elevator flooring"
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid)
|
||||
"fW" = (
|
||||
@@ -2169,8 +2169,8 @@
|
||||
/obj/effect/baseturf_helper/lava,
|
||||
/turf/open/lava/smooth{
|
||||
desc = "Looks hot.";
|
||||
luminosity = 5;
|
||||
initial_gas_mix = "n2=23;o2=14"
|
||||
initial_gas_mix = "n2=23;o2=14";
|
||||
luminosity = 5
|
||||
},
|
||||
/area/awaymission/caves/BMP_asteroid/level_four)
|
||||
"gZ" = (
|
||||
|
||||
@@ -208,8 +208,8 @@
|
||||
"aX" = (
|
||||
/obj/machinery/porta_turret{
|
||||
dir = 8;
|
||||
set_obj_flags = "EMAGGED";
|
||||
installation = /obj/item/gun/energy/lasercannon
|
||||
installation = /obj/item/gun/energy/lasercannon;
|
||||
set_obj_flags = "EMAGGED"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/awaymission/challenge/main)
|
||||
@@ -354,8 +354,8 @@
|
||||
"bq" = (
|
||||
/obj/machinery/porta_turret{
|
||||
dir = 8;
|
||||
set_obj_flags = "EMAGGED";
|
||||
installation = /obj/item/gun/energy/lasercannon
|
||||
installation = /obj/item/gun/energy/lasercannon;
|
||||
set_obj_flags = "EMAGGED"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/challenge/main)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3162,10 +3162,10 @@
|
||||
/obj/effect/mob_spawn/human/doctor{
|
||||
brute_damage = 145;
|
||||
id_job = "Geneticist";
|
||||
name = "Geneticist";
|
||||
oxy_damage = 55;
|
||||
suit = /obj/item/clothing/suit/toggle/labcoat/genetics;
|
||||
uniform = /obj/item/clothing/under/rank/medical/geneticist;
|
||||
name = "Geneticist"
|
||||
uniform = /obj/item/clothing/under/rank/medical/geneticist
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
@@ -4276,10 +4276,10 @@
|
||||
/obj/effect/mob_spawn/human/doctor{
|
||||
brute_damage = 145;
|
||||
id_job = "Geneticist";
|
||||
name = "Geneticist";
|
||||
oxy_damage = 55;
|
||||
suit = /obj/item/clothing/suit/toggle/labcoat/genetics;
|
||||
uniform = /obj/item/clothing/under/rank/medical/geneticist;
|
||||
name = "Geneticist"
|
||||
uniform = /obj/item/clothing/under/rank/medical/geneticist
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
@@ -4724,11 +4724,11 @@
|
||||
"jp" = (
|
||||
/obj/structure/barricade/wooden{
|
||||
desc = "A wooden table hastily flipped over for cover.";
|
||||
obj_integrity = 55;
|
||||
icon = 'icons/obj/smooth_structures/wood_table.dmi';
|
||||
icon_state = "wood_table";
|
||||
max_integrity = 55;
|
||||
name = "flipped table"
|
||||
name = "flipped table";
|
||||
obj_integrity = 55
|
||||
},
|
||||
/turf/open/floor/plasteel/yellowsiding{
|
||||
dir = 1
|
||||
@@ -4874,11 +4874,11 @@
|
||||
"jG" = (
|
||||
/obj/structure/barricade/wooden{
|
||||
desc = "A wooden table hastily flipped over for cover.";
|
||||
obj_integrity = 55;
|
||||
icon = 'icons/obj/smooth_structures/wood_table.dmi';
|
||||
icon_state = "wood_table";
|
||||
max_integrity = 55;
|
||||
name = "flipped table"
|
||||
name = "flipped table";
|
||||
obj_integrity = 55
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/research/interior/dorm)
|
||||
@@ -5051,11 +5051,11 @@
|
||||
"kb" = (
|
||||
/obj/structure/barricade/wooden{
|
||||
desc = "A wooden table hastily flipped over for cover.";
|
||||
obj_integrity = 55;
|
||||
icon = 'icons/obj/smooth_structures/wood_table.dmi';
|
||||
icon_state = "wood_table";
|
||||
max_integrity = 55;
|
||||
name = "flipped table"
|
||||
name = "flipped table";
|
||||
obj_integrity = 55
|
||||
},
|
||||
/turf/open/floor/plasteel/yellowsiding,
|
||||
/area/awaymission/research/interior/dorm)
|
||||
@@ -5126,10 +5126,10 @@
|
||||
/obj/effect/mob_spawn/human/doctor{
|
||||
brute_damage = 145;
|
||||
id_job = "Geneticist";
|
||||
name = "Geneticist";
|
||||
oxy_damage = 55;
|
||||
suit = /obj/item/clothing/suit/toggle/labcoat/genetics;
|
||||
uniform = /obj/item/clothing/under/rank/medical/geneticist;
|
||||
name = "Geneticist"
|
||||
uniform = /obj/item/clothing/under/rank/medical/geneticist
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
@@ -6000,10 +6000,10 @@
|
||||
/obj/effect/mob_spawn/human/doctor{
|
||||
brute_damage = 145;
|
||||
id_job = "Geneticist";
|
||||
name = "Geneticist";
|
||||
oxy_damage = 55;
|
||||
suit = /obj/item/clothing/suit/toggle/labcoat/genetics;
|
||||
uniform = /obj/item/clothing/under/rank/medical/geneticist;
|
||||
name = "Geneticist"
|
||||
uniform = /obj/item/clothing/under/rank/medical/geneticist
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/awaymission/research/exterior)
|
||||
|
||||
@@ -6699,9 +6699,9 @@
|
||||
"oo" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
|
||||
dir = 4;
|
||||
piping_layer = 3;
|
||||
pixel_x = 5;
|
||||
pixel_y = 5;
|
||||
piping_layer = 3
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -6709,9 +6709,9 @@
|
||||
"op" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
|
||||
dir = 4;
|
||||
piping_layer = 3;
|
||||
pixel_x = 5;
|
||||
pixel_y = 5;
|
||||
piping_layer = 3
|
||||
pixel_y = 5
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/snowdin/post/engineering)
|
||||
@@ -9713,10 +9713,10 @@
|
||||
/area/awaymission/snowdin/post/broken_shuttle)
|
||||
"wc" = (
|
||||
/obj/machinery/computer{
|
||||
name = "Shuttle Transist Console";
|
||||
desc = "A console meant for calling and sending a transit ferry. It seems iced-over and non-functional.";
|
||||
dir = 1;
|
||||
icon_screen = null
|
||||
icon_screen = null;
|
||||
name = "Shuttle Transist Console"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/awaymission/snowdin/post/broken_shuttle)
|
||||
@@ -10657,10 +10657,10 @@
|
||||
/area/awaymission/snowdin/cave)
|
||||
"yu" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
|
||||
name = "toxin out";
|
||||
dir = 8;
|
||||
frequency = 1442;
|
||||
id_tag = "snowdin_toxins_mine_1";
|
||||
frequency = 1442
|
||||
name = "toxin out"
|
||||
},
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/awaymission/snowdin/cave)
|
||||
|
||||
@@ -813,16 +813,16 @@
|
||||
"bW" = (
|
||||
/obj/structure/glowshroom/single,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 351.9
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/caves)
|
||||
"bX" = (
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 351.9
|
||||
},
|
||||
@@ -2261,8 +2261,8 @@
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
"eJ" = (
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -2632,8 +2632,8 @@
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -2868,8 +2868,8 @@
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -3047,8 +3047,8 @@
|
||||
"gf" = (
|
||||
/obj/structure/glowshroom/single,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -3195,8 +3195,8 @@
|
||||
"gB" = (
|
||||
/obj/machinery/light/small,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -3409,8 +3409,8 @@
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -3420,8 +3420,8 @@
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -3452,8 +3452,8 @@
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -4787,8 +4787,8 @@
|
||||
"jL" = (
|
||||
/obj/machinery/light/small,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -4821,8 +4821,8 @@
|
||||
"jP" = (
|
||||
/obj/machinery/light/small,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -6604,8 +6604,8 @@
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -8354,8 +8354,8 @@
|
||||
dir = 6
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -8365,8 +8365,8 @@
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -8377,8 +8377,8 @@
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -8470,8 +8470,8 @@
|
||||
name = "air out"
|
||||
},
|
||||
/turf/open/floor/engine{
|
||||
name = "air floor";
|
||||
initial_gas_mix = "n2=10580;o2=2644"
|
||||
initial_gas_mix = "n2=10580;o2=2644";
|
||||
name = "air floor"
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"pF" = (
|
||||
@@ -8668,8 +8668,8 @@
|
||||
"qa" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -8743,8 +8743,8 @@
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/plasteel/dark{
|
||||
name = "Server Walkway";
|
||||
initial_gas_mix = "n2=500,TEMP=80"
|
||||
initial_gas_mix = "n2=500,TEMP=80";
|
||||
name = "Server Walkway"
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
"qj" = (
|
||||
@@ -8900,8 +8900,8 @@
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -8911,8 +8911,8 @@
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -8922,8 +8922,8 @@
|
||||
dir = 9
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -9126,8 +9126,8 @@
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark{
|
||||
name = "Server Walkway";
|
||||
initial_gas_mix = "n2=500,TEMP=80"
|
||||
initial_gas_mix = "n2=500,TEMP=80";
|
||||
name = "Server Walkway"
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
"qR" = (
|
||||
@@ -9545,8 +9545,8 @@
|
||||
dir = 9
|
||||
},
|
||||
/turf/open/floor/plasteel/dark{
|
||||
name = "Server Walkway";
|
||||
initial_gas_mix = "n2=500,TEMP=80"
|
||||
initial_gas_mix = "n2=500,TEMP=80";
|
||||
name = "Server Walkway"
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
"rA" = (
|
||||
@@ -11104,8 +11104,8 @@
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -11750,8 +11750,8 @@
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -11976,8 +11976,8 @@
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -12262,8 +12262,8 @@
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13481,8 +13481,8 @@
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13490,8 +13490,8 @@
|
||||
"yh" = (
|
||||
/obj/structure/ore_box,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13499,8 +13499,8 @@
|
||||
"yi" = (
|
||||
/obj/structure/closet/crate,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13510,8 +13510,8 @@
|
||||
/obj/structure/bed/nest,
|
||||
/obj/effect/mob_spawn/human,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13520,8 +13520,8 @@
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/structure/bed/nest,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13531,8 +13531,8 @@
|
||||
/obj/structure/glowshroom/single,
|
||||
/obj/effect/decal/cleanable/blood/gibs/down,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13541,8 +13541,8 @@
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/decal/cleanable/blood/gibs/core,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13550,8 +13550,8 @@
|
||||
"yn" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13560,8 +13560,8 @@
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/structure/alien/resin/wall,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13570,8 +13570,8 @@
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/mob_spawn/human,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13579,8 +13579,8 @@
|
||||
"yq" = (
|
||||
/obj/effect/decal/cleanable/blood/splatter,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13588,8 +13588,8 @@
|
||||
"yr" = (
|
||||
/obj/effect/decal/cleanable/blood/gibs/up,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13598,8 +13598,8 @@
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/structure/glowshroom/single,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13608,8 +13608,8 @@
|
||||
/obj/structure/alien/resin/wall,
|
||||
/obj/structure/alien/weeds,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13618,8 +13618,8 @@
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/decal/cleanable/blood/splatter,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13627,8 +13627,8 @@
|
||||
"yz" = (
|
||||
/obj/structure/alien/resin/membrane,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13637,8 +13637,8 @@
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/decal/cleanable/blood/gibs/down,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13646,8 +13646,8 @@
|
||||
"yB" = (
|
||||
/obj/effect/decal/cleanable/blood/gibs/limb,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13656,8 +13656,8 @@
|
||||
/obj/effect/decal/cleanable/blood/splatter,
|
||||
/obj/effect/mob_spawn/human,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13667,8 +13667,8 @@
|
||||
/obj/effect/decal/cleanable/blood/splatter,
|
||||
/obj/effect/mob_spawn/human,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
@@ -13678,8 +13678,8 @@
|
||||
/obj/effect/decal/cleanable/blood/gibs/down,
|
||||
/obj/effect/mob_spawn/human,
|
||||
/turf/open/floor/plating/asteroid{
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
heat_capacity = 1e+006;
|
||||
initial_gas_mix = "co2=173.4;n2=135.1;plasma=229.8;TEMP=351.9";
|
||||
name = "Cave Floor";
|
||||
temperature = 363.9
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1000,7 +1000,7 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/heads/hos)
|
||||
"act" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/heads/hos)
|
||||
"acu" = (
|
||||
@@ -3551,7 +3551,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/brig)
|
||||
"agU" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/security/armory)
|
||||
"agV" = (
|
||||
@@ -19903,7 +19903,6 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/bridge)
|
||||
"aVk" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
@@ -19913,6 +19912,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/holopad,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/bridge)
|
||||
"aVl" = (
|
||||
@@ -22726,10 +22726,10 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/ai_upload)
|
||||
"bcf" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/ai_upload)
|
||||
"bcg" = (
|
||||
@@ -23322,10 +23322,10 @@
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/crew_quarters/toilet/locker)
|
||||
"bdK" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/carpet,
|
||||
/area/bridge/meeting_room)
|
||||
"bdL" = (
|
||||
@@ -24223,6 +24223,7 @@
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/lapvend,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/primary/starboard)
|
||||
"bgb" = (
|
||||
@@ -24557,10 +24558,10 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/holopad,
|
||||
/obj/structure/cable{
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/heads/captain)
|
||||
"bgX" = (
|
||||
@@ -28662,7 +28663,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/heads/hop)
|
||||
"bqB" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/heads/hop)
|
||||
"bqC" = (
|
||||
@@ -32045,7 +32046,7 @@
|
||||
/turf/open/floor/plasteel/cafeteria,
|
||||
/area/crew_quarters/heads/hor)
|
||||
"byr" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/crew_quarters/heads/hor)
|
||||
"bys" = (
|
||||
@@ -32135,13 +32136,13 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/qm)
|
||||
"byC" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/effect/turf_decal/tile/brown{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/brown{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/qm)
|
||||
"byD" = (
|
||||
@@ -35876,13 +35877,13 @@
|
||||
/turf/open/floor/engine,
|
||||
/area/science/storage)
|
||||
"bGZ" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/cafeteria,
|
||||
/area/crew_quarters/heads/cmo)
|
||||
"bHa" = (
|
||||
@@ -40809,8 +40810,8 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/checkpoint/engineering)
|
||||
"bTI" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/tcommsat/computer)
|
||||
"bTJ" = (
|
||||
@@ -45387,7 +45388,6 @@
|
||||
name = "Privacy Shutters Control";
|
||||
pixel_y = 26
|
||||
},
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
@@ -45401,6 +45401,7 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/heads/chief)
|
||||
"cfI" = (
|
||||
@@ -49628,12 +49629,12 @@
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/ai_monitored/turret_protected/aisat_interior)
|
||||
"ctJ" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/structure/cable{
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/effect/landmark/start/cyborg,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/ai_monitored/turret_protected/aisat_interior)
|
||||
"ctK" = (
|
||||
@@ -50018,9 +50019,9 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/aisat/atmos)
|
||||
"cuC" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/effect/landmark/start/cyborg,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/aisat/atmos)
|
||||
"cuD" = (
|
||||
@@ -50075,12 +50076,12 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/landmark/start/cyborg,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/aisat_interior)
|
||||
"cuH" = (
|
||||
@@ -50106,10 +50107,10 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/aisat/service)
|
||||
"cuJ" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/aisat/service)
|
||||
"cuK" = (
|
||||
@@ -50676,8 +50677,8 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/aisat/hallway)
|
||||
"cvU" = (
|
||||
@@ -50932,10 +50933,10 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 9
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/ai)
|
||||
"cwB" = (
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2425,8 +2425,8 @@
|
||||
"go" = (
|
||||
/obj/machinery/camera/autoname,
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/turf/open/floor/grass,
|
||||
/area/hydroponics/garden/monastery)
|
||||
@@ -2572,8 +2572,8 @@
|
||||
"gO" = (
|
||||
/obj/machinery/space_heater,
|
||||
/obj/structure/railing/corner{
|
||||
icon_state = "railing_corner";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "railing_corner"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/central)
|
||||
@@ -5594,8 +5594,8 @@
|
||||
/area/maintenance/solars/starboard)
|
||||
"oy" = (
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/central)
|
||||
@@ -7058,8 +7058,8 @@
|
||||
/area/hydroponics)
|
||||
"sn" = (
|
||||
/obj/structure/railing/corner{
|
||||
icon_state = "railing_corner";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "railing_corner"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/central)
|
||||
@@ -7083,8 +7083,8 @@
|
||||
/area/asteroid/nearstation)
|
||||
"sr" = (
|
||||
/obj/structure/railing/corner{
|
||||
icon_state = "railing_corner";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "railing_corner"
|
||||
},
|
||||
/turf/open/floor/grass,
|
||||
/area/hydroponics/garden/monastery)
|
||||
@@ -12130,8 +12130,8 @@
|
||||
/area/hallway/secondary/service)
|
||||
"Fw" = (
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/central)
|
||||
@@ -13656,8 +13656,8 @@
|
||||
/area/janitor)
|
||||
"IY" = (
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
@@ -14004,8 +14004,8 @@
|
||||
/area/vacant_room/commissary)
|
||||
"JT" = (
|
||||
/obj/docking_port/stationary/public_mining_dock{
|
||||
icon_state = "pinonfar";
|
||||
dir = 2
|
||||
dir = 2;
|
||||
icon_state = "pinonfar"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/construction/mining/aux_base)
|
||||
@@ -14423,8 +14423,8 @@
|
||||
/area/crew_quarters/kitchen)
|
||||
"KX" = (
|
||||
/obj/structure/railing/corner{
|
||||
icon_state = "railing_corner";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "railing_corner"
|
||||
},
|
||||
/turf/open/floor/grass,
|
||||
/area/hydroponics/garden/monastery)
|
||||
@@ -14469,8 +14469,8 @@
|
||||
/area/hallway/secondary/service)
|
||||
"Le" = (
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 5
|
||||
dir = 5;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/turf/open/floor/grass,
|
||||
/area/hydroponics/garden/monastery)
|
||||
@@ -14493,8 +14493,8 @@
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"Lg" = (
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
areastring = "/area/hallway/secondary/construction";
|
||||
@@ -15478,8 +15478,8 @@
|
||||
/area/maintenance/department/crew_quarters/dorms)
|
||||
"NG" = (
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 9
|
||||
dir = 9;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/turf/open/floor/grass,
|
||||
/area/hydroponics/garden/monastery)
|
||||
@@ -16723,8 +16723,8 @@
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"QT" = (
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/turf/open/floor/grass,
|
||||
/area/hydroponics/garden/monastery)
|
||||
@@ -16896,8 +16896,8 @@
|
||||
/area/gateway)
|
||||
"Rx" = (
|
||||
/obj/structure/railing/corner{
|
||||
icon_state = "railing_corner";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "railing_corner"
|
||||
},
|
||||
/turf/open/floor/grass,
|
||||
/area/hydroponics/garden/monastery)
|
||||
@@ -16929,8 +16929,8 @@
|
||||
/area/gateway)
|
||||
"RA" = (
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/turf/open/floor/grass,
|
||||
/area/hydroponics/garden/monastery)
|
||||
|
||||
@@ -61,16 +61,16 @@
|
||||
"n" = (
|
||||
/obj/effect/landmark/mafia,
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 9
|
||||
dir = 9;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/obj/effect/turf_decal/trimline/brown/filled/corner,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"o" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/end{
|
||||
icon_state = "trimline_end_fill";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "trimline_end_fill"
|
||||
},
|
||||
/obj/structure/closet{
|
||||
desc = "It's a storage unit. For mining stuff. Y'know.";
|
||||
@@ -94,8 +94,8 @@
|
||||
/area/mafia)
|
||||
"r" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 9
|
||||
dir = 9;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/obj/structure/closet{
|
||||
desc = "It's a storage unit. For mining stuff. Y'know.";
|
||||
@@ -107,8 +107,8 @@
|
||||
/area/mafia)
|
||||
"s" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 9
|
||||
dir = 9;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
@@ -134,31 +134,31 @@
|
||||
/area/mafia)
|
||||
"w" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/obj/effect/turf_decal/trimline/brown/filled/corner,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"x" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"y" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/end{
|
||||
icon_state = "trimline_end_fill";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "trimline_end_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"z" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 5
|
||||
dir = 5;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/obj/structure/closet{
|
||||
desc = "It's a storage unit. For mining stuff. Y'know.";
|
||||
@@ -171,70 +171,70 @@
|
||||
"A" = (
|
||||
/obj/effect/landmark/mafia,
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 6
|
||||
dir = 6;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"B" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/end{
|
||||
icon_state = "trimline_end_fill";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "trimline_end_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"C" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"D" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 10
|
||||
dir = 10;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/obj/effect/turf_decal/trimline/brown/filled/corner{
|
||||
icon_state = "trimline_corner_fill";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "trimline_corner_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"E" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/obj/effect/turf_decal/trimline/brown/filled/corner{
|
||||
icon_state = "trimline_corner_fill";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "trimline_corner_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"F" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 5
|
||||
dir = 5;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"G" = (
|
||||
/obj/effect/landmark/mafia,
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 10
|
||||
dir = 10;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"H" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 10
|
||||
dir = 10;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/obj/structure/closet{
|
||||
desc = "It's a storage unit. For mining stuff. Y'know.";
|
||||
@@ -246,8 +246,8 @@
|
||||
/area/mafia)
|
||||
"I" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 6
|
||||
dir = 6;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/obj/structure/closet{
|
||||
desc = "It's a storage unit. For mining stuff. Y'know.";
|
||||
@@ -260,19 +260,19 @@
|
||||
"J" = (
|
||||
/obj/effect/landmark/mafia,
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 6
|
||||
dir = 6;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/obj/effect/turf_decal/trimline/brown/filled/corner{
|
||||
icon_state = "trimline_corner_fill";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "trimline_corner_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"K" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/end{
|
||||
icon_state = "trimline_end_fill";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "trimline_end_fill"
|
||||
},
|
||||
/obj/structure/closet{
|
||||
desc = "It's a storage unit. For mining stuff. Y'know.";
|
||||
@@ -285,34 +285,34 @@
|
||||
"L" = (
|
||||
/obj/effect/landmark/mafia,
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 5
|
||||
dir = 5;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"M" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 10
|
||||
dir = 10;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"N" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line,
|
||||
/obj/effect/turf_decal/trimline/brown/filled/corner{
|
||||
icon_state = "trimline_corner_fill";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "trimline_corner_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"O" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/corner{
|
||||
icon_state = "trimline_corner_fill";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "trimline_corner_fill"
|
||||
},
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 5
|
||||
dir = 5;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
@@ -323,8 +323,8 @@
|
||||
"Q" = (
|
||||
/obj/effect/landmark/mafia,
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 9
|
||||
dir = 9;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
@@ -345,31 +345,31 @@
|
||||
/area/mafia)
|
||||
"S" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/end{
|
||||
icon_state = "trimline_end_fill";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "trimline_end_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"T" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line,
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"U" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line,
|
||||
/obj/effect/turf_decal/trimline/brown/filled/corner{
|
||||
icon_state = "trimline_corner_fill";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "trimline_corner_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
"V" = (
|
||||
/obj/effect/turf_decal/trimline/brown/filled/line{
|
||||
icon_state = "trimline_fill";
|
||||
dir = 6
|
||||
dir = 6;
|
||||
icon_state = "trimline_fill"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mafia)
|
||||
|
||||
@@ -62,8 +62,8 @@
|
||||
/area/mafia)
|
||||
"n" = (
|
||||
/obj/structure/chair/brass{
|
||||
icon_state = "brass_chair";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "brass_chair"
|
||||
},
|
||||
/turf/open/floor/clockwork/reebe,
|
||||
/area/mafia)
|
||||
|
||||
@@ -3710,7 +3710,6 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/security/armory)
|
||||
"agS" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
@@ -3721,6 +3720,7 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/security/armory)
|
||||
"agT" = (
|
||||
@@ -3795,11 +3795,11 @@
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/heads/hos)
|
||||
"agZ" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/structure/chair{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/landmark/start/head_of_security,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/heads/hos)
|
||||
"aha" = (
|
||||
@@ -9617,8 +9617,8 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 9
|
||||
},
|
||||
/obj/machinery/holopad,
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/gravity_generator)
|
||||
"arR" = (
|
||||
@@ -13304,13 +13304,6 @@
|
||||
/obj/structure/lattice/catwalk,
|
||||
/turf/open/space,
|
||||
/area/space/nearstation)
|
||||
"aze" = (
|
||||
/obj/item/kirbyplants{
|
||||
icon_state = "plant-22"
|
||||
},
|
||||
/obj/effect/decal/cleanable/cobweb/cobweb2,
|
||||
/turf/open/floor/wood,
|
||||
/area/library)
|
||||
"azg" = (
|
||||
/obj/item/stack/cable_coil,
|
||||
/turf/open/floor/plating/airless,
|
||||
@@ -14062,18 +14055,6 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/engine/engineering)
|
||||
"aAz" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/flashlight/lamp/green{
|
||||
pixel_x = 1;
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/machinery/computer/security/telescreen/entertainment{
|
||||
pixel_y = 30
|
||||
},
|
||||
/obj/effect/decal/cleanable/cobweb,
|
||||
/turf/open/floor/plasteel/cult,
|
||||
/area/library)
|
||||
"aAA" = (
|
||||
/obj/docking_port/stationary{
|
||||
dir = 8;
|
||||
@@ -14907,6 +14888,12 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/security/nuke_storage)
|
||||
"aCi" = (
|
||||
/obj/structure/sign/painting/library{
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/library)
|
||||
"aCj" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
@@ -16576,14 +16563,17 @@
|
||||
/turf/open/floor/engine,
|
||||
/area/engine/engineering)
|
||||
"aFE" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/machinery/newscaster{
|
||||
pixel_y = 32
|
||||
/obj/structure/table/wood/fancy/blue,
|
||||
/obj/structure/table/wood/fancy/royalblue,
|
||||
/obj/structure/sign/painting/library_secure{
|
||||
pixel_x = 32
|
||||
},
|
||||
/obj/item/folder,
|
||||
/obj/item/folder,
|
||||
/obj/effect/decal/cleanable/cobweb/cobweb2,
|
||||
/turf/open/floor/plasteel/cult,
|
||||
/obj/machinery/door/window{
|
||||
dir = 8;
|
||||
name = "Secure Art Exhibition";
|
||||
req_access_txt = "37"
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/library)
|
||||
"aFF" = (
|
||||
/obj/structure/table,
|
||||
@@ -20575,7 +20565,7 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/ai_upload)
|
||||
"aOc" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/ai_upload)
|
||||
"aOd" = (
|
||||
@@ -21700,7 +21690,7 @@
|
||||
/area/quartermaster/qm)
|
||||
"aQs" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/qm)
|
||||
"aQt" = (
|
||||
@@ -25578,7 +25568,7 @@
|
||||
dir = 1;
|
||||
pixel_y = 1
|
||||
},
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/aisat)
|
||||
"aYe" = (
|
||||
@@ -27503,7 +27493,6 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/heads/chief)
|
||||
"bbv" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
@@ -27514,6 +27503,7 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/heads/chief)
|
||||
"bbw" = (
|
||||
@@ -30698,7 +30688,6 @@
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/holopad,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/heads/captain/private)
|
||||
"bhz" = (
|
||||
@@ -31161,8 +31150,8 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/ai)
|
||||
"bip" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/ai)
|
||||
"biq" = (
|
||||
@@ -33899,12 +33888,12 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/aisat_interior)
|
||||
"bnC" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/landmark/start/cyborg,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/aisat_interior)
|
||||
"bnD" = (
|
||||
@@ -34887,11 +34876,11 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/aisat)
|
||||
"bpF" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/aisat)
|
||||
"bpG" = (
|
||||
@@ -34937,8 +34926,8 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/holopad,
|
||||
/obj/item/beacon,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/aisat/foyer)
|
||||
"bpL" = (
|
||||
@@ -36523,16 +36512,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/primary/port)
|
||||
"bsI" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_y = -30
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/primary/port)
|
||||
"bsJ" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
@@ -37489,9 +37468,9 @@
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/heads/captain/private)
|
||||
"buG" = (
|
||||
/obj/machinery/holopad{
|
||||
pixel_x = 9;
|
||||
pixel_y = -9
|
||||
/obj/machinery/holopad/secure{
|
||||
pixel_x = 15;
|
||||
pixel_y = -15
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/heads/captain/private)
|
||||
@@ -38069,32 +38048,12 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/carpet,
|
||||
/area/library)
|
||||
"bwe" = (
|
||||
/obj/structure/chair/comfy/black{
|
||||
dir = 8
|
||||
"bwf" = (
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/library)
|
||||
"bwf" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/flashlight/lamp/green{
|
||||
pixel_x = 1;
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/machinery/computer/security/telescreen/entertainment{
|
||||
pixel_y = 30
|
||||
},
|
||||
/turf/open/floor/plasteel/cult,
|
||||
/area/library)
|
||||
"bwg" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/machinery/newscaster{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/item/folder,
|
||||
/obj/item/folder,
|
||||
/turf/open/floor/plasteel/cult,
|
||||
/area/library)
|
||||
"bwh" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
@@ -38943,14 +38902,19 @@
|
||||
/obj/effect/landmark/start/librarian,
|
||||
/turf/open/floor/wood,
|
||||
/area/library)
|
||||
"bxW" = (
|
||||
/turf/open/floor/plasteel/cult,
|
||||
/area/library)
|
||||
"bxX" = (
|
||||
/obj/structure/chair/comfy/brown{
|
||||
dir = 1
|
||||
/obj/structure/table/wood/fancy/blue,
|
||||
/obj/structure/table/wood/fancy/royalblue,
|
||||
/obj/structure/sign/painting/library_secure{
|
||||
pixel_x = 32
|
||||
},
|
||||
/turf/open/floor/plasteel/cult,
|
||||
/obj/machinery/door/window{
|
||||
dir = 8;
|
||||
name = "Secure Art Exhibition";
|
||||
req_access_txt = "37"
|
||||
},
|
||||
/obj/structure/window/reinforced/spawner,
|
||||
/turf/open/floor/wood,
|
||||
/area/library)
|
||||
"bxY" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
@@ -39670,7 +39634,6 @@
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/tcommsat/computer)
|
||||
"bzq" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
@@ -39681,6 +39644,7 @@
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/tcommsat/computer)
|
||||
"bzr" = (
|
||||
@@ -39797,18 +39761,6 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/carpet,
|
||||
/area/library)
|
||||
"bzG" = (
|
||||
/obj/machinery/door/morgue{
|
||||
name = "Study #1"
|
||||
},
|
||||
/turf/open/floor/plasteel/cult,
|
||||
/area/library)
|
||||
"bzH" = (
|
||||
/obj/machinery/door/morgue{
|
||||
name = "Study #2"
|
||||
},
|
||||
/turf/open/floor/plasteel/cult,
|
||||
/area/library)
|
||||
"bzI" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/light{
|
||||
@@ -40511,9 +40463,6 @@
|
||||
/area/engine/atmos)
|
||||
"bBu" = (
|
||||
/obj/machinery/vending/coffee,
|
||||
/obj/machinery/newscaster{
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/library)
|
||||
"bBv" = (
|
||||
@@ -40525,12 +40474,6 @@
|
||||
/obj/machinery/bookbinder,
|
||||
/turf/open/floor/wood,
|
||||
/area/library)
|
||||
"bBx" = (
|
||||
/obj/item/kirbyplants{
|
||||
icon_state = "plant-22"
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/library)
|
||||
"bBy" = (
|
||||
/obj/structure/sign/directions/command{
|
||||
dir = 4;
|
||||
@@ -43456,13 +43399,13 @@
|
||||
/turf/open/floor/plasteel/dark/telecomms,
|
||||
/area/tcommsat/server)
|
||||
"bHE" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 5
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark/telecomms,
|
||||
/area/tcommsat/server)
|
||||
"bHF" = (
|
||||
@@ -58787,7 +58730,7 @@
|
||||
/area/science/explab)
|
||||
"cmX" = (
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/aisat)
|
||||
"cmY" = (
|
||||
@@ -61251,13 +61194,13 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/holopad,
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/cafeteria,
|
||||
/area/crew_quarters/heads/cmo)
|
||||
"crA" = (
|
||||
@@ -63638,7 +63581,7 @@
|
||||
},
|
||||
/area/crew_quarters/heads/hor)
|
||||
"cvU" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/cafeteria{
|
||||
dir = 5
|
||||
},
|
||||
@@ -75899,9 +75842,6 @@
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/status_display/evac{
|
||||
pixel_y = 30
|
||||
},
|
||||
/obj/machinery/photocopier{
|
||||
pixel_y = 3
|
||||
},
|
||||
@@ -81614,6 +81554,12 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/atmos)
|
||||
"iAG" = (
|
||||
/obj/structure/sign/painting/library{
|
||||
pixel_y = -32
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/library)
|
||||
"iCn" = (
|
||||
/obj/machinery/vr_sleeper,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -82628,12 +82574,11 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"qBh" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/paicard,
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/lapvend,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/research)
|
||||
"qBq" = (
|
||||
@@ -103714,8 +103659,8 @@ bnV
|
||||
bql
|
||||
awL
|
||||
bue
|
||||
aze
|
||||
bwe
|
||||
bzE
|
||||
bzE
|
||||
bGv
|
||||
bHT
|
||||
bwc
|
||||
@@ -103971,8 +103916,8 @@ bod
|
||||
bql
|
||||
bsG
|
||||
bue
|
||||
bue
|
||||
bue
|
||||
aCi
|
||||
iAG
|
||||
bue
|
||||
bBu
|
||||
bwc
|
||||
@@ -104228,9 +104173,9 @@ boe
|
||||
bql
|
||||
bsH
|
||||
bue
|
||||
aAz
|
||||
bxW
|
||||
bzG
|
||||
aCi
|
||||
iAG
|
||||
bue
|
||||
bzE
|
||||
bwc
|
||||
bEA
|
||||
@@ -104485,8 +104430,8 @@ bof
|
||||
bqu
|
||||
bsz
|
||||
bue
|
||||
bwg
|
||||
bxX
|
||||
aCi
|
||||
iAG
|
||||
bue
|
||||
bBv
|
||||
bwc
|
||||
@@ -104740,10 +104685,10 @@ bku
|
||||
bml
|
||||
bog
|
||||
bqv
|
||||
bsI
|
||||
bue
|
||||
bue
|
||||
bsz
|
||||
bue
|
||||
aCi
|
||||
iAG
|
||||
bue
|
||||
cUT
|
||||
bwc
|
||||
@@ -105000,8 +104945,8 @@ bqw
|
||||
bsx
|
||||
bue
|
||||
bwf
|
||||
bxW
|
||||
bzH
|
||||
bzE
|
||||
bzE
|
||||
bzE
|
||||
dCX
|
||||
bwc
|
||||
@@ -105258,11 +105203,11 @@ bsx
|
||||
bue
|
||||
aFE
|
||||
bxX
|
||||
bue
|
||||
bzE
|
||||
bzE
|
||||
bwc
|
||||
bwc
|
||||
bBw
|
||||
bwc
|
||||
bwc
|
||||
bBx
|
||||
bue
|
||||
bue
|
||||
bue
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
"aab" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/effect/landmark/start/cyborg,
|
||||
/mob/living/simple_animal/bot/secbot/pingsky,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/aisat_interior)
|
||||
"aac" = (
|
||||
@@ -999,7 +999,7 @@
|
||||
/obj/machinery/power/terminal{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ai_monitored/turret_protected/ai)
|
||||
"acs" = (
|
||||
@@ -11793,7 +11793,7 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/heads/captain)
|
||||
"aBn" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/heads/captain)
|
||||
"aBo" = (
|
||||
@@ -12592,7 +12592,7 @@
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/heads/hop)
|
||||
"aCR" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/heads/hop)
|
||||
"aCS" = (
|
||||
@@ -12995,7 +12995,6 @@
|
||||
/turf/open/floor/circuit,
|
||||
/area/ai_monitored/turret_protected/ai_upload)
|
||||
"aDM" = (
|
||||
/obj/machinery/holopad,
|
||||
/obj/machinery/camera/motion{
|
||||
c_tag = "AI Upload Center";
|
||||
dir = 1;
|
||||
@@ -13008,6 +13007,7 @@
|
||||
name = "Station Intercom (AI Private)";
|
||||
pixel_y = -28
|
||||
},
|
||||
/obj/machinery/holopad/secure,
|
||||
/turf/open/floor/circuit,
|
||||
/area/ai_monitored/turret_protected/ai_upload)
|
||||
"aDN" = (
|
||||
|
||||
@@ -435,8 +435,8 @@
|
||||
/area/engine/atmos)
|
||||
"bm" = (
|
||||
/obj/machinery/atmospherics/components/binary/valve/on{
|
||||
icon_state = "mvalve_map-2";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "mvalve_map-2"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/engine/atmos)
|
||||
@@ -1502,8 +1502,8 @@
|
||||
/area/engine/storage)
|
||||
"gK" = (
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
|
||||
icon_state = "connector_map-2";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "connector_map-2"
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/toxins,
|
||||
/turf/open/floor/plating,
|
||||
@@ -1514,8 +1514,8 @@
|
||||
/area/hallway/secondary/service)
|
||||
"hi" = (
|
||||
/obj/machinery/atmospherics/components/unary/outlet_injector/on{
|
||||
icon_state = "inje_map-2";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "inje_map-2"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/construction)
|
||||
@@ -1555,8 +1555,8 @@
|
||||
/area/hallway/secondary/service)
|
||||
"jA" = (
|
||||
/obj/effect/turf_decal/stripes/white/line{
|
||||
icon_state = "warningline_white";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "warningline_white"
|
||||
},
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/open/floor/plating,
|
||||
@@ -1567,8 +1567,8 @@
|
||||
/area/construction)
|
||||
"jV" = (
|
||||
/obj/effect/turf_decal/stripes/white/line{
|
||||
icon_state = "warningline_white";
|
||||
dir = 6
|
||||
dir = 6;
|
||||
icon_state = "warningline_white"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/engine/storage)
|
||||
@@ -1637,8 +1637,8 @@
|
||||
/area/engine/storage)
|
||||
"qR" = (
|
||||
/obj/effect/turf_decal/stripes/white/line{
|
||||
icon_state = "warningline_white";
|
||||
dir = 9
|
||||
dir = 9;
|
||||
icon_state = "warningline_white"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/engine/storage)
|
||||
@@ -1659,15 +1659,15 @@
|
||||
/area/construction)
|
||||
"sE" = (
|
||||
/obj/effect/turf_decal/stripes/white/line{
|
||||
icon_state = "warningline_white";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "warningline_white"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/engine/storage)
|
||||
"td" = (
|
||||
/obj/effect/turf_decal/stripes/white/line{
|
||||
icon_state = "warningline_white";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "warningline_white"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/engine/storage)
|
||||
@@ -1704,8 +1704,8 @@
|
||||
/area/construction)
|
||||
"xB" = (
|
||||
/obj/effect/turf_decal/stripes/white/line{
|
||||
icon_state = "warningline_white";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "warningline_white"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/engine/storage)
|
||||
@@ -1720,8 +1720,8 @@
|
||||
/area/construction)
|
||||
"zZ" = (
|
||||
/obj/structure/disposalpipe/trunk{
|
||||
icon_state = "pipe-t";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "pipe-t"
|
||||
},
|
||||
/obj/machinery/disposal/bin,
|
||||
/turf/open/floor/plating,
|
||||
@@ -1788,12 +1788,12 @@
|
||||
/area/construction)
|
||||
"EH" = (
|
||||
/obj/effect/turf_decal/stripes/white/line{
|
||||
icon_state = "warningline_white";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "warningline_white"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/white/line{
|
||||
icon_state = "warningline_white";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "warningline_white"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/engine/storage)
|
||||
@@ -1804,8 +1804,8 @@
|
||||
"FL" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/machinery/atmospherics/pipe/simple/green/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/construction)
|
||||
@@ -1896,8 +1896,8 @@
|
||||
/area/engine/storage)
|
||||
"Qo" = (
|
||||
/obj/structure/disposalpipe/trunk/multiz/down{
|
||||
icon_state = "pipe-down";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "pipe-down"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/service)
|
||||
@@ -1966,8 +1966,8 @@
|
||||
/area/construction)
|
||||
"ZQ" = (
|
||||
/obj/effect/turf_decal/stripes/white/line{
|
||||
icon_state = "warningline_white";
|
||||
dir = 5
|
||||
dir = 5;
|
||||
icon_state = "warningline_white"
|
||||
},
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/open/floor/plating,
|
||||
|
||||
@@ -1407,8 +1407,8 @@
|
||||
height = 5;
|
||||
id = "laborcamp_home";
|
||||
name = "fore bay 1";
|
||||
width = 9;
|
||||
roundstart_template = /datum/map_template/shuttle/labour/box
|
||||
roundstart_template = /datum/map_template/shuttle/labour/box;
|
||||
width = 9
|
||||
},
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
@@ -1419,8 +1419,8 @@
|
||||
height = 15;
|
||||
id = "arrivals_stationary";
|
||||
name = "arrivals";
|
||||
width = 7;
|
||||
roundstart_template = /datum/map_template/shuttle/arrival/box
|
||||
roundstart_template = /datum/map_template/shuttle/arrival/box;
|
||||
width = 7
|
||||
},
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
@@ -2325,8 +2325,8 @@
|
||||
height = 5;
|
||||
id = "mining_home";
|
||||
name = "mining shuttle bay";
|
||||
width = 7;
|
||||
roundstart_template = /datum/map_template/shuttle/mining/box
|
||||
roundstart_template = /datum/map_template/shuttle/mining/box;
|
||||
width = 7
|
||||
},
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
|
||||
@@ -80,10 +80,6 @@
|
||||
},
|
||||
/turf/open/floor/clockwork/reebe,
|
||||
/area/reebe/city_of_cogs)
|
||||
"az" = (
|
||||
/obj/structure/destructible/clockwork/eminence_spire,
|
||||
/turf/open/floor/clockwork/reebe,
|
||||
/area/reebe/city_of_cogs)
|
||||
"aA" = (
|
||||
/obj/machinery/door/airlock/clockwork/brass{
|
||||
name = "Infirmary"
|
||||
@@ -168,21 +164,6 @@
|
||||
/obj/effect/clockwork/sigil/transmission,
|
||||
/turf/open/floor/clockwork/reebe,
|
||||
/area/reebe/city_of_cogs)
|
||||
"ew" = (
|
||||
/obj/structure/table/reinforced/brass,
|
||||
/obj/item/clockwork/construct_chassis/cogscarab{
|
||||
pixel_y = 20
|
||||
},
|
||||
/obj/item/clockwork/construct_chassis/cogscarab{
|
||||
pixel_x = -7;
|
||||
pixel_y = 6
|
||||
},
|
||||
/obj/item/clockwork/construct_chassis/cogscarab{
|
||||
pixel_x = 7;
|
||||
pixel_y = 6
|
||||
},
|
||||
/turf/open/floor/clockwork/reebe,
|
||||
/area/reebe/city_of_cogs)
|
||||
"hY" = (
|
||||
/obj/item/clockwork/alloy_shards/pinion_lock,
|
||||
/turf/open/floor/clockwork/reebe,
|
||||
@@ -208,10 +189,6 @@
|
||||
/obj/item/storage/belt/utility/servant,
|
||||
/turf/open/floor/clockwork/reebe,
|
||||
/area/reebe/city_of_cogs)
|
||||
"vx" = (
|
||||
/obj/effect/clockwork/sigil/transmission,
|
||||
/turf/open/floor/clockwork/reebe,
|
||||
/area/reebe/city_of_cogs)
|
||||
"wV" = (
|
||||
/obj/item/clockwork/alloy_shards/large,
|
||||
/turf/open/indestructible/reebe_void/spawning/lattices,
|
||||
@@ -244,6 +221,10 @@
|
||||
/obj/item/clockwork/alloy_shards/small,
|
||||
/turf/open/indestructible/reebe_void/spawning/lattices,
|
||||
/area/reebe)
|
||||
"Ox" = (
|
||||
/obj/structure/destructible/clockwork/eminence_spire,
|
||||
/turf/open/floor/clockwork/reebe,
|
||||
/area/reebe/city_of_cogs)
|
||||
"OB" = (
|
||||
/obj/item/clockwork/component/geis_capacitor/fallen_armor,
|
||||
/turf/open/floor/clockwork/reebe,
|
||||
@@ -32770,7 +32751,7 @@ ae
|
||||
ae
|
||||
ag
|
||||
ah
|
||||
ew
|
||||
aL
|
||||
aj
|
||||
aj
|
||||
aj
|
||||
@@ -33284,8 +33265,8 @@ ab
|
||||
ab
|
||||
ae
|
||||
ai
|
||||
az
|
||||
vx
|
||||
Ox
|
||||
aj
|
||||
aj
|
||||
aj
|
||||
aE
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
dwidth = 11;
|
||||
height = 22;
|
||||
id = "whiteship_away";
|
||||
json_key = "whiteship";
|
||||
name = "Deep Space";
|
||||
width = 35;
|
||||
json_key = "whiteship"
|
||||
width = 35
|
||||
},
|
||||
/turf/open/space,
|
||||
/area/space)
|
||||
|
||||
@@ -75,8 +75,8 @@
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue,
|
||||
/obj/effect/turf_decal/arrows{
|
||||
icon_state = "arrows";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "arrows"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
@@ -112,8 +112,8 @@
|
||||
/area/shuttle/arrival)
|
||||
"n" = (
|
||||
/obj/structure/shuttle/engine/propulsion/left{
|
||||
icon_state = "propulsion_l";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "propulsion_l"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
@@ -124,8 +124,8 @@
|
||||
/obj/structure/window/shuttle,
|
||||
/obj/structure/grille,
|
||||
/obj/structure/shuttle/engine/heater{
|
||||
icon_state = "heater";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "heater"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/arrival)
|
||||
@@ -143,8 +143,8 @@
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue,
|
||||
/obj/effect/turf_decal/arrows{
|
||||
icon_state = "arrows";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "arrows"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
@@ -157,8 +157,8 @@
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue,
|
||||
/obj/effect/turf_decal/arrows{
|
||||
icon_state = "arrows";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "arrows"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
@@ -194,8 +194,8 @@
|
||||
/area/shuttle/arrival)
|
||||
"u" = (
|
||||
/obj/structure/shuttle/engine/propulsion{
|
||||
icon_state = "propulsion";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "propulsion"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
@@ -237,8 +237,8 @@
|
||||
pixel_x = 28
|
||||
},
|
||||
/obj/effect/turf_decal/arrows{
|
||||
icon_state = "arrows";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "arrows"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/corner,
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
@@ -327,8 +327,8 @@
|
||||
/area/shuttle/arrival)
|
||||
"G" = (
|
||||
/obj/structure/shuttle/engine/propulsion/right{
|
||||
icon_state = "propulsion_r";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "propulsion_r"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
|
||||
@@ -198,9 +198,9 @@
|
||||
dir = 8;
|
||||
dwidth = 6;
|
||||
height = 18;
|
||||
name = "Birdboat emergency escape shuttle";
|
||||
port_direction = 4;
|
||||
width = 14;
|
||||
name = "Birdboat emergency escape shuttle"
|
||||
width = 14
|
||||
},
|
||||
/obj/structure/fans/tiny,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
|
||||
@@ -545,9 +545,9 @@
|
||||
dwidth = 11;
|
||||
height = 18;
|
||||
name = "Delta emergency shuttle";
|
||||
width = 30;
|
||||
port_direction = 4;
|
||||
preferred_direction = 2;
|
||||
port_direction = 4
|
||||
width = 30
|
||||
},
|
||||
/obj/structure/fans/tiny,
|
||||
/turf/open/floor/plating,
|
||||
|
||||
@@ -19,10 +19,10 @@
|
||||
name = "Escape Pod Airlock"
|
||||
},
|
||||
/obj/docking_port/mobile/pod{
|
||||
port_direction = 2;
|
||||
dwidth = 1;
|
||||
width = 3;
|
||||
height = 4
|
||||
height = 4;
|
||||
port_direction = 2;
|
||||
width = 3
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/pod_1)
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
/area/shuttle/labor)
|
||||
"b" = (
|
||||
/obj/structure/shuttle/engine/propulsion{
|
||||
icon_state = "propulsion";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "propulsion"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
@@ -14,8 +14,8 @@
|
||||
/area/shuttle/labor)
|
||||
"c" = (
|
||||
/obj/structure/shuttle/engine/heater{
|
||||
icon_state = "heater";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
icon_state = "heater"
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
|
||||
@@ -86,8 +86,8 @@
|
||||
width = 7
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
/area/shuttle/mining)
|
||||
@@ -115,8 +115,8 @@
|
||||
"p" = (
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden{
|
||||
icon_state = "pipe11-2";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "pipe11-2"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
dir = 8
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
#define BLOCK_Z_OUT_UP (1<<10) // Should this object block z uprise from loc?
|
||||
#define BLOCK_Z_IN_DOWN (1<<11) // Should this object block z falling from above?
|
||||
#define BLOCK_Z_IN_UP (1<<12) // Should this object block z uprise from below?
|
||||
#define SHOVABLE_ONTO (1<<13) //called on turf.shove_act() to consider whether an object should have a niche effect (defined in their own shove_act()) when someone is pushed onto it, or do a sanity CanPass() check.
|
||||
#define SHOVABLE_ONTO (1<<13)//called on turf.shove_act() to consider whether an object should have a niche effect (defined in their own shove_act()) when someone is pushed onto it, or do a sanity CanPass() check.
|
||||
#define EXAMINE_SKIP (1<<14) /// Makes the Examine proc not read out this item.
|
||||
|
||||
/// Integrity defines for clothing (not flags but close enough)
|
||||
#define CLOTHING_PRISTINE 0 // We have no damage on the clothing
|
||||
|
||||
@@ -80,6 +80,7 @@ GLOBAL_LIST_EMPTY(living_heart_cache) //A list of all living hearts in existance
|
||||
#define PATH_ASH "Ash"
|
||||
#define PATH_RUST "Rust"
|
||||
#define PATH_FLESH "Flesh"
|
||||
#define PATH_VOID "Void"
|
||||
|
||||
//Overthrow time to update heads obj
|
||||
#define OBJECTIVE_UPDATING_TIME 300
|
||||
|
||||
@@ -462,6 +462,9 @@
|
||||
#define COMSIG_CLEAR_MOOD_EVENT "clear_mood" //Called when you clear a mood event from anywhere in the code.
|
||||
#define COMSIG_MODIFY_SANITY "modify_sanity" //Called when you want to increase or decrease sanity from anywhere in the code.
|
||||
|
||||
///Mask of Madness
|
||||
#define COMSIG_VOID_MASK_ACT "void_mask_act"
|
||||
|
||||
//NTnet
|
||||
#define COMSIG_COMPONENT_NTNET_RECEIVE "ntnet_receive" //called on an object by its NTNET connection component on receive. (sending_id(number), sending_netname(text), data(datum/netdata))
|
||||
|
||||
|
||||
@@ -59,6 +59,7 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
|
||||
//Human sub-species
|
||||
#define isabductor(A) (is_species(A, /datum/species/abductor))
|
||||
#define isgolem(A) (is_species(A, /datum/species/golem))
|
||||
#define isclockworkgolem(A) (is_species(A, /datum/species/golem/clockwork/no_scrap))
|
||||
#define islizard(A) (is_species(A, /datum/species/lizard))
|
||||
#define isplasmaman(A) (is_species(A, /datum/species/plasmaman))
|
||||
#define ispodperson(A) (is_species(A, /datum/species/pod))
|
||||
@@ -225,6 +226,8 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
|
||||
|
||||
#define isfood(A) (istype(A, /obj/item/reagent_containers/food/snacks))
|
||||
|
||||
#define iscontainer(A) (istype(A, /obj/structure/reagent_dispensers))
|
||||
|
||||
//Assemblies
|
||||
#define isassembly(O) (istype(O, /obj/item/assembly))
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ require only minor tweaks.
|
||||
#define ZTRAIT_SNOWSTORM "Weather_Snowstorm"
|
||||
#define ZTRAIT_ASHSTORM "Weather_Ashstorm"
|
||||
#define ZTRAIT_ACIDRAIN "Weather_Acidrain"
|
||||
#define ZTRAIT_VOIDSTORM "Weather_Voidstorm"
|
||||
|
||||
// number - bombcap is multiplied by this before being applied to bombs
|
||||
#define ZTRAIT_BOMBCAP_MULTIPLIER "Bombcap Multiplier"
|
||||
|
||||
@@ -205,6 +205,14 @@
|
||||
#define RULE_OF_THREE(a, b, x) ((a*x)/b)
|
||||
// )
|
||||
|
||||
/// Converts a probability/second chance to probability/delta_time chance
|
||||
/// For example, if you want an event to happen with a 10% per second chance, but your proc only runs every 5 seconds, do `if(prob(100*DT_PROB_RATE(0.1, 5)))`
|
||||
#define DT_PROB_RATE(prob_per_second, delta_time) (1 - (1 - (prob_per_second)) ** (delta_time))
|
||||
|
||||
/// Like DT_PROB_RATE but easier to use, simply put `if(DT_PROB(10, 5))`
|
||||
#define DT_PROB(prob_per_second_percent, delta_time) (prob(100*DT_PROB_RATE((prob_per_second_percent)/100, (delta_time))))
|
||||
// )
|
||||
|
||||
#define MANHATTAN_DISTANCE(a, b) (abs(a.x - b.x) + abs(a.y - b.y))
|
||||
|
||||
#define LOGISTIC_FUNCTION(L,k,x,x_0) (L/(1+(NUM_E**(-k*(x-x_0)))))
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
//The gamemode specific ones are just so the gamemodes can query whether a player is old enough
|
||||
//(in game days played) to play that role
|
||||
GLOBAL_LIST_INIT(special_roles, list(
|
||||
ROLE_SYNDICATE,
|
||||
ROLE_TRAITOR = /datum/game_mode/traitor,
|
||||
ROLE_BROTHER = /datum/game_mode/traitor/bros,
|
||||
ROLE_OPERATIVE = /datum/game_mode/nuclear,
|
||||
|
||||
@@ -87,12 +87,15 @@
|
||||
|
||||
//Don't set this very much higher then 1024 unless you like inviting people in to dos your server with message spam
|
||||
#define MAX_MESSAGE_LEN 4096 //Citadel edit: What's the WORST that could happen?
|
||||
#define MAX_FLAVOR_LEN 4096
|
||||
#define MAX_FLAVOR_LEN 4096
|
||||
#define MAX_TASTE_LEN 40 //lick... vore... ew...
|
||||
#define MAX_NAME_LEN 42
|
||||
#define MAX_BROADCAST_LEN 512
|
||||
#define MAX_CHARTER_LEN 80
|
||||
|
||||
// Is something in the IC chat filter? This is config dependent.
|
||||
#define CHAT_FILTER_CHECK(T) (config.ic_filter_regex && findtext(T, config.ic_filter_regex))
|
||||
|
||||
// Audio/Visual Flags. Used to determine what sense are required to notice a message.
|
||||
#define MSG_VISUAL (1<<0)
|
||||
#define MSG_AUDIBLE (1<<1)
|
||||
|
||||
@@ -105,7 +105,8 @@
|
||||
|
||||
#define STATUS_EFFECT_FAKE_VIRUS /datum/status_effect/fake_virus //gives you fluff messages for cough, sneeze, headache, etc but without an actual virus
|
||||
|
||||
#define STATUS_EFFECT_NO_COMBAT_MODE /datum/status_effect //Wont allow combat mode and will disable it
|
||||
#define STATUS_EFFECT_STASIS /datum/status_effect/grouped/stasis //Halts biological functions like bleeding, chemical processing, blood regeneration, walking, etc
|
||||
|
||||
#define STATUS_EFFECT_MESMERIZE /datum/status_effect/mesmerize //Just reskinned no_combat_mode
|
||||
|
||||
#define STATUS_EFFECT_ELECTROSTAFF /datum/status_effect/electrostaff //slows down victim
|
||||
@@ -138,3 +139,9 @@
|
||||
#define STATUS_EFFECT_RAINBOWPROTECTION /datum/status_effect/rainbow_protection //Invulnerable and pacifistic
|
||||
#define STATUS_EFFECT_SLIMESKIN /datum/status_effect/slimeskin //Increased armor
|
||||
#define STATUS_EFFECT_DNA_MELT /datum/status_effect/dna_melt //usually does something horrible to you when you hit 100 genetic instability
|
||||
|
||||
/////////////
|
||||
// GROUPED //
|
||||
/////////////
|
||||
|
||||
#define STASIS_ASCENSION_EFFECT "heretic_ascension"
|
||||
|
||||
@@ -323,6 +323,7 @@
|
||||
#define ABDUCTOR_ANTAGONIST "abductor-antagonist"
|
||||
#define MADE_UNCLONEABLE "made-uncloneable"
|
||||
#define TIMESTOP_TRAIT "timestop"
|
||||
#define DOMAIN_TRAIT "domain"
|
||||
#define NUKEOP_TRAIT "nuke-op"
|
||||
#define CLOWNOP_TRAIT "clown-op"
|
||||
#define MEGAFAUNA_TRAIT "megafauna"
|
||||
|
||||
@@ -284,6 +284,17 @@ GLOBAL_LIST_INIT(wisdoms, world.file2list("strings/wisdoms.txt"))
|
||||
GLOBAL_LIST_INIT(speech_verbs, list("default","says","gibbers", "states", "chitters", "chimpers", "declares", "bellows", "buzzes" ,"beeps", "chirps", "clicks", "hisses" ,"poofs" , "puffs", "rattles", "mewls" ,"barks", "blorbles", "squeaks", "squawks", "flutters", "warbles", "caws", "gekkers", "clucks"))
|
||||
GLOBAL_LIST_INIT(roundstart_tongues, list("default","human tongue" = /obj/item/organ/tongue, "lizard tongue" = /obj/item/organ/tongue/lizard, "skeleton tongue" = /obj/item/organ/tongue/bone, "fly tongue" = /obj/item/organ/tongue/fly, "ipc tongue" = /obj/item/organ/tongue/robot/ipc, "xeno tongue" = /obj/item/organ/tongue/alien))
|
||||
|
||||
/proc/get_roundstart_languages()
|
||||
var/list/languages = subtypesof(/datum/language)
|
||||
var/list/roundstart_languages = list("None") //default option for the list
|
||||
for(var/some_language in languages)
|
||||
var/datum/language/language = some_language
|
||||
if(initial(language.chooseable_roundstart))
|
||||
roundstart_languages[initial(language.name)] = some_language
|
||||
return roundstart_languages
|
||||
|
||||
GLOBAL_LIST_INIT(roundstart_languages, get_roundstart_languages())
|
||||
|
||||
//SPECIES BODYPART LISTS
|
||||
//locked parts are those that your picked species requires to have
|
||||
//unlocked parts are those that anyone can choose on customisation regardless
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
var/obj/screen/blockchance
|
||||
var/obj/screen/counterchance
|
||||
|
||||
/datum/hud/marauder/New(mob/living/simple_animal/hostile/clockwork/marauder/guardian/owner)
|
||||
/datum/hud/marauder/New(mob/living/simple_animal/hostile/clockwork/guardian/owner)
|
||||
..()
|
||||
var/obj/screen/using
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
hosthealth = null
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/create_mob_hud()
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/create_mob_hud()
|
||||
if(client && !hud_used)
|
||||
hud_used = new /datum/hud/marauder(src, ui_style2icon(client.prefs.UI_style))
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
desc = "Emerge or Return."
|
||||
|
||||
/obj/screen/marauder/emerge/Click()
|
||||
if(istype(usr, /mob/living/simple_animal/hostile/clockwork/marauder/guardian))
|
||||
var/mob/living/simple_animal/hostile/clockwork/marauder/guardian/G = usr
|
||||
if(istype(usr, /mob/living/simple_animal/hostile/clockwork/guardian))
|
||||
var/mob/living/simple_animal/hostile/clockwork/guardian/G = usr
|
||||
if(G.is_in_host())
|
||||
G.try_emerge()
|
||||
else
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
var/motd
|
||||
// var/policy
|
||||
|
||||
// var/static/regex/ic_filter_regex
|
||||
var/static/regex/ic_filter_regex
|
||||
|
||||
/datum/controller/configuration/proc/admin_reload()
|
||||
if(IsAdminAdvancedProcCall())
|
||||
@@ -53,7 +53,7 @@
|
||||
loadmaplist(CONFIG_MAPS_FILE)
|
||||
LoadMOTD()
|
||||
// LoadPolicy()
|
||||
// LoadChatFilter()
|
||||
LoadChatFilter()
|
||||
|
||||
if (Master)
|
||||
Master.OnConfigLoad()
|
||||
@@ -486,7 +486,7 @@ Example config:
|
||||
continue
|
||||
runnable_modes[M] = probabilities[M.config_tag]
|
||||
return runnable_modes
|
||||
/*
|
||||
|
||||
/datum/controller/configuration/proc/LoadChatFilter()
|
||||
var/list/in_character_filter = list()
|
||||
if(!fexists("[directory]/in_character_filter.txt"))
|
||||
@@ -499,7 +499,7 @@ Example config:
|
||||
continue
|
||||
in_character_filter += REGEX_QUOTE(line)
|
||||
ic_filter_regex = in_character_filter.len ? regex("\\b([jointext(in_character_filter, "|")])\\b", "i") : null
|
||||
*/
|
||||
|
||||
//Message admins when you can.
|
||||
/datum/controller/configuration/proc/DelayedMessageAdmins(text)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, /proc/message_admins, text), 0)
|
||||
|
||||
@@ -33,6 +33,8 @@
|
||||
RegisterSignal(parent, COMSIG_LIVING_REVIVE, .proc/on_revive)
|
||||
RegisterSignal(parent, COMSIG_MOB_HUD_CREATED, .proc/modify_hud)
|
||||
RegisterSignal(parent, COMSIG_MOB_DEATH, .proc/stop_processing)
|
||||
RegisterSignal(parent, COMSIG_VOID_MASK_ACT, .proc/direct_sanity_drain)
|
||||
|
||||
|
||||
if(owner.hud_used)
|
||||
modify_hud()
|
||||
@@ -377,6 +379,10 @@
|
||||
remove_temp_moods()
|
||||
setSanity(initial(sanity))
|
||||
|
||||
///Causes direct drain of someone's sanity, call it with a numerical value corresponding how badly you want to hurt their sanity
|
||||
/datum/component/mood/proc/direct_sanity_drain(datum/source, amount)
|
||||
setSanity(sanity + amount)
|
||||
|
||||
#undef ECSTATIC_SANITY_PEN
|
||||
#undef SLIGHT_INSANITY_PEN
|
||||
#undef MINOR_INSANITY_PEN
|
||||
|
||||
@@ -97,3 +97,11 @@
|
||||
. = ..()
|
||||
can_hold = typecacheof(list(/obj/item/reagent_containers/glass/bottle,
|
||||
/obj/item/ammo_box/a762))
|
||||
|
||||
/datum/component/storage/concrete/pockets/void_cloak
|
||||
quickdraw = TRUE
|
||||
max_items = 3
|
||||
|
||||
/datum/component/storage/concrete/pockets/void_cloak/Initialize()
|
||||
. = ..()
|
||||
var/static/list/exception_cache = typecacheof(list(/obj/item/living_heart,/obj/item/forbidden_book))
|
||||
|
||||
@@ -45,3 +45,12 @@
|
||||
start_length = 130
|
||||
end_sound = 'sound/weather/ashstorm/inside/weak_end.ogg'
|
||||
volume = 30
|
||||
|
||||
/datum/looping_sound/void_loop
|
||||
mid_sounds = list('sound/ambience/VoidsEmbrace.ogg'=1)
|
||||
mid_length = 1669 // exact length of the music in ticks
|
||||
volume = 100
|
||||
extra_range = 30
|
||||
|
||||
/datum/looping_sound/void_loop/start(atom/add_thing)
|
||||
. = ..()
|
||||
|
||||
@@ -34,3 +34,6 @@
|
||||
|
||||
/datum/skill_modifier/job/level/wiring/basic
|
||||
level_mod = JOB_SKILL_BASIC
|
||||
|
||||
/datum/skill_modifier/job/level/dwarfy/blacksmithing
|
||||
target_skills = /datum/skill/level/dwarfy/blacksmithing
|
||||
|
||||
@@ -768,3 +768,98 @@
|
||||
M.dna.species.punchdamagelow -= damageboost
|
||||
M.dna.species.punchwoundbonus -= woundboost
|
||||
to_chat(M, "<span class='notice'>You calm yourself, and your unnatural strength dissipates.</span>")
|
||||
|
||||
/datum/status_effect/crucible_soul
|
||||
id = "Blessing of Crucible Soul"
|
||||
status_type = STATUS_EFFECT_REFRESH
|
||||
duration = 15 SECONDS
|
||||
examine_text = "<span class='notice'>They don't seem to be all here.</span>"
|
||||
alert_type = /obj/screen/alert/status_effect/crucible_soul
|
||||
var/turf/location
|
||||
|
||||
/datum/status_effect/crucible_soul/on_apply()
|
||||
. = ..()
|
||||
to_chat(owner,"<span class='notice'>You phase through reality, nothing is out of bounds!</span>")
|
||||
owner.alpha = 180
|
||||
owner.pass_flags |= PASSCLOSEDTURF | PASSGLASS | PASSGRILLE | PASSTABLE | PASSMOB
|
||||
location = get_turf(owner)
|
||||
|
||||
/datum/status_effect/crucible_soul/on_remove()
|
||||
to_chat(owner,"<span class='notice'>You regain your physicality, returning you to your original location...</span>")
|
||||
owner.alpha = initial(owner.alpha)
|
||||
owner.pass_flags &= ~(PASSCLOSEDTURF | PASSGLASS | PASSGRILLE | PASSTABLE | PASSMOB)
|
||||
owner.forceMove(location)
|
||||
location = null
|
||||
return ..()
|
||||
|
||||
/datum/status_effect/duskndawn
|
||||
id = "Blessing of Dusk and Dawn"
|
||||
status_type = STATUS_EFFECT_REFRESH
|
||||
duration = 60 SECONDS
|
||||
alert_type =/obj/screen/alert/status_effect/duskndawn
|
||||
|
||||
/datum/status_effect/duskndawn/on_apply()
|
||||
. = ..()
|
||||
ADD_TRAIT(owner,TRAIT_XRAY_VISION,type)
|
||||
owner.update_sight()
|
||||
|
||||
/datum/status_effect/duskndawn/on_remove()
|
||||
REMOVE_TRAIT(owner,TRAIT_XRAY_VISION,type)
|
||||
owner.update_sight()
|
||||
return ..()
|
||||
|
||||
/datum/status_effect/marshal
|
||||
id = "Blessing of Wounded Soldier"
|
||||
status_type = STATUS_EFFECT_REFRESH
|
||||
duration = 60 SECONDS
|
||||
tick_interval = 1 SECONDS
|
||||
alert_type = /obj/screen/alert/status_effect/marshal
|
||||
|
||||
/datum/status_effect/marshal/on_apply()
|
||||
. = ..()
|
||||
ADD_TRAIT(owner,TRAIT_IGNOREDAMAGESLOWDOWN,type)
|
||||
|
||||
/datum/status_effect/marshal/on_remove()
|
||||
. = ..()
|
||||
REMOVE_TRAIT(owner,TRAIT_IGNOREDAMAGESLOWDOWN,type)
|
||||
|
||||
/datum/status_effect/marshal/tick()
|
||||
. = ..()
|
||||
if(!iscarbon(owner))
|
||||
return
|
||||
var/mob/living/carbon/carbie = owner
|
||||
|
||||
for(var/BP in carbie.bodyparts)
|
||||
var/obj/item/bodypart/part = BP
|
||||
for(var/W in part.wounds)
|
||||
var/datum/wound/wound = W
|
||||
var/heal_amt = 0
|
||||
|
||||
switch(wound.severity)
|
||||
if(WOUND_SEVERITY_MODERATE)
|
||||
heal_amt = 1
|
||||
if(WOUND_SEVERITY_SEVERE)
|
||||
heal_amt = 3
|
||||
if(WOUND_SEVERITY_CRITICAL)
|
||||
heal_amt = 6
|
||||
if(wound.wound_type == WOUND_BURN)
|
||||
carbie.adjustFireLoss(-heal_amt)
|
||||
else
|
||||
carbie.adjustBruteLoss(-heal_amt)
|
||||
carbie.blood_volume += carbie.blood_volume >= BLOOD_VOLUME_NORMAL ? 0 : heal_amt*3
|
||||
|
||||
|
||||
/obj/screen/alert/status_effect/crucible_soul
|
||||
name = "Blessing of Crucible Soul"
|
||||
desc = "You phased through the reality, you are halfway to your final destination..."
|
||||
icon_state = "crucible"
|
||||
|
||||
/obj/screen/alert/status_effect/duskndawn
|
||||
name = "Blessing of Dusk and Dawn"
|
||||
desc = "Many things hide beyond the horizon, with Owl's help i managed to slip past sun's guard and moon's watch."
|
||||
icon_state = "duskndawn"
|
||||
|
||||
/obj/screen/alert/status_effect/marshal
|
||||
name = "Blessing of Wounded Soldier"
|
||||
desc = "Some people seek power through redemption, one thing many people don't know is that battle is the ultimate redemption and wounds let you bask in eternal glory."
|
||||
icon_state = "wounded_soldier"
|
||||
|
||||
@@ -127,17 +127,6 @@
|
||||
desc = "You've fallen asleep. Wait a bit and you should wake up. Unless you don't, considering how helpless you are."
|
||||
icon_state = "asleep"
|
||||
|
||||
/datum/status_effect
|
||||
id = "no_combat_mode"
|
||||
alert_type = null
|
||||
status_type = STATUS_EFFECT_REPLACE
|
||||
blocks_combatmode = TRUE
|
||||
|
||||
/datum/status_effect/on_creation(mob/living/new_owner, set_duration)
|
||||
if(isnum(set_duration))
|
||||
duration = set_duration
|
||||
. = ..()
|
||||
|
||||
/datum/status_effect/robotic_emp
|
||||
id = "emp_no_combat_mode"
|
||||
|
||||
@@ -506,6 +495,32 @@
|
||||
I.take_damage(100)
|
||||
return ..()
|
||||
|
||||
/datum/status_effect/eldritch/void
|
||||
id = "void_mark"
|
||||
effect_sprite = "emark4"
|
||||
|
||||
/datum/status_effect/eldritch/void/on_effect()
|
||||
var/turf/open/turfie = get_turf(owner)
|
||||
turfie.TakeTemperature(-40)
|
||||
owner.adjust_bodytemperature(-60)
|
||||
return ..()
|
||||
|
||||
/datum/status_effect/domain
|
||||
id = "domain"
|
||||
alert_type = null
|
||||
var/movespeed_mod = /datum/movespeed_modifier/status_effect/domain
|
||||
|
||||
/datum/status_effect/domain/on_creation(mob/living/new_owner, set_duration)
|
||||
if(isliving(owner))
|
||||
var/mob/living/carbon/C = owner
|
||||
C.add_movespeed_modifier(movespeed_mod)
|
||||
|
||||
/datum/status_effect/electrode/on_remove()
|
||||
if(isliving(owner))
|
||||
var/mob/living/carbon/C = owner
|
||||
C.remove_movespeed_modifier(movespeed_mod)
|
||||
. = ..()
|
||||
|
||||
/datum/status_effect/corrosion_curse
|
||||
id = "corrosion_curse"
|
||||
status_type = STATUS_EFFECT_REPLACE
|
||||
@@ -514,7 +529,7 @@
|
||||
|
||||
/datum/status_effect/corrosion_curse/on_creation(mob/living/new_owner, ...)
|
||||
. = ..()
|
||||
to_chat(owner, "<span class='danger'>Your feel your body starting to break apart...</span>")
|
||||
to_chat(owner, "<span class='danger'>You feel your body starting to break apart...</span>")
|
||||
|
||||
/datum/status_effect/corrosion_curse/tick()
|
||||
. = ..()
|
||||
@@ -585,7 +600,7 @@
|
||||
|
||||
/datum/status_effect/amok/on_apply(mob/living/afflicted)
|
||||
. = ..()
|
||||
to_chat(owner, "<span class='boldwarning'>Your feel filled with a rage that is not your own!</span>")
|
||||
to_chat(owner, "<span class='boldwarning'>You feel filled with a rage that is not your own!</span>")
|
||||
|
||||
/datum/status_effect/amok/tick()
|
||||
. = ..()
|
||||
|
||||
@@ -219,19 +219,3 @@
|
||||
/datum/quirk/night_vision/on_spawn()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
H.update_sight()
|
||||
|
||||
/datum/quirk/multilingual
|
||||
name = "Multi-Lingual"
|
||||
desc = "You spent a portion of your life learning to understand an additional language. You may or may not be able to speak it based on your anatomy."
|
||||
value = 1
|
||||
mob_trait = TRAIT_MULTILINGUAL
|
||||
gain_text = "You've learned an extra language!"
|
||||
lose_text = "You've forgotten your extra language."
|
||||
|
||||
/datum/quirk/multilingual/post_add()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
H.grant_language(H.client.prefs.language, TRUE, TRUE, LANGUAGE_MULTILINGUAL)
|
||||
|
||||
/datum/quirk/multilingual/remove()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
H.remove_language(H.client.prefs.language, TRUE, TRUE, LANGUAGE_MULTILINGUAL)
|
||||
|
||||
@@ -58,13 +58,13 @@
|
||||
/// The list of z-levels that this weather is actively affecting
|
||||
var/impacted_z_levels
|
||||
|
||||
/// Since it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that.
|
||||
var/overlay_layer = AREA_LAYER
|
||||
/// Since it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that.
|
||||
var/overlay_layer = AREA_LAYER
|
||||
/// Plane for the overlay
|
||||
var/overlay_plane = BLACKNESS_PLANE
|
||||
/// If the weather has no purpose but aesthetics.
|
||||
/// If the weather has no purpose but aesthetics.
|
||||
var/aesthetic = FALSE
|
||||
/// Used by mobs to prevent them from being affected by the weather
|
||||
/// Used by mobs to prevent them from being affected by the weather
|
||||
var/immunity_type = "storm"
|
||||
|
||||
/// The stage of the weather, from 1-4
|
||||
@@ -79,6 +79,8 @@
|
||||
var/barometer_predictable = FALSE
|
||||
/// For barometers to know when the next storm will hit
|
||||
var/next_hit_time = 0
|
||||
/// This causes the weather to only end if forced to
|
||||
var/perpetual = FALSE
|
||||
|
||||
/datum/weather/New(z_levels)
|
||||
..()
|
||||
@@ -140,7 +142,8 @@
|
||||
to_chat(M, weather_message)
|
||||
if(weather_sound)
|
||||
SEND_SOUND(M, sound(weather_sound))
|
||||
addtimer(CALLBACK(src, .proc/wind_down), weather_duration)
|
||||
if(!perpetual)
|
||||
addtimer(CALLBACK(src, .proc/wind_down), weather_duration)
|
||||
|
||||
/**
|
||||
* Weather enters the winding down phase, stops effects
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/datum/weather/void_storm
|
||||
name = "void storm"
|
||||
desc = "A rare and highly anomalous event often accompanied by unknown entities shredding spacetime continouum. We'd advise you to start running."
|
||||
|
||||
telegraph_duration = 2 SECONDS
|
||||
telegraph_overlay = "void"
|
||||
|
||||
weather_message = "<span class='danger'><i>You feel air around you getting colder... and void's sweet embrace...</i></span>"
|
||||
weather_overlay = "void_storm"
|
||||
weather_duration_lower = 60 SECONDS
|
||||
weather_duration_upper = 120 SECONDS
|
||||
|
||||
|
||||
end_duration = 10 SECONDS
|
||||
|
||||
area_type = /area
|
||||
protect_indoors = FALSE
|
||||
target_trait = ZTRAIT_VOIDSTORM
|
||||
|
||||
immunity_type = "void"
|
||||
|
||||
barometer_predictable = FALSE
|
||||
perpetual = TRUE
|
||||
|
||||
/datum/weather/void_storm/weather_act(mob/living/L)
|
||||
if(IS_HERETIC(L) || IS_HERETIC_MONSTER(L))
|
||||
return
|
||||
L.adjustOxyLoss(rand(1,3))
|
||||
L.adjustFireLoss(rand(1,3))
|
||||
L.adjust_blurriness(rand(0,1))
|
||||
L.adjust_bodytemperature(-rand(5,15))
|
||||
@@ -420,7 +420,7 @@
|
||||
|
||||
for(var/mob/dead/new_player/player in players)
|
||||
if(player.client && player.ready == PLAYER_READY_TO_PLAY)
|
||||
if(role in player.client.prefs.be_special)
|
||||
if((role in player.client.prefs.be_special) && (ROLE_SYNDICATE in player.client.prefs.be_special))
|
||||
if(!jobban_isbanned(player, ROLE_SYNDICATE) && !QDELETED(player) && !jobban_isbanned(player, role) && !QDELETED(player)) //Nodrak/Carn: Antag Job-bans
|
||||
if(age_check(player.client)) //Must be older than the minimum age
|
||||
candidates += player.mind // Get a list of all the people who want to be the antagonist for this round
|
||||
|
||||
@@ -79,7 +79,7 @@ GLOBAL_LIST_EMPTY(network_holopads)
|
||||
var/secure = FALSE
|
||||
/// If we are currently calling another holopad
|
||||
var/calling = FALSE
|
||||
/*
|
||||
|
||||
/obj/machinery/holopad/secure
|
||||
name = "secure holopad"
|
||||
desc = "It's a floor-mounted device for projecting holographic images. This one will refuse to auto-connect incoming calls."
|
||||
@@ -90,7 +90,7 @@ GLOBAL_LIST_EMPTY(network_holopads)
|
||||
var/obj/item/circuitboard/machine/holopad/board = circuit
|
||||
board.secure = TRUE
|
||||
board.build_path = /obj/machinery/holopad/secure
|
||||
*/
|
||||
|
||||
/obj/machinery/holopad/tutorial
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||
flags_1 = NODECONSTRUCT_1
|
||||
@@ -372,7 +372,7 @@ GLOBAL_LIST_EMPTY(network_holopads)
|
||||
if(force_answer_call && world.time > (HC.call_start_time + (HOLOPAD_MAX_DIAL_TIME / 2)))
|
||||
HC.Answer(src)
|
||||
break
|
||||
if(!secure) //HC.head_call &&
|
||||
if(HC.head_call && !secure)
|
||||
HC.Answer(src)
|
||||
break
|
||||
if(outgoing_call)
|
||||
|
||||
@@ -243,6 +243,17 @@
|
||||
icon_state = "shieldsparkles"
|
||||
duration = 5
|
||||
|
||||
/obj/effect/temp_visual/voidpush
|
||||
name = "eldritch energy"
|
||||
icon_state = "emark4"
|
||||
duration = 5
|
||||
|
||||
/obj/effect/temp_visual/voidswap
|
||||
name = "altered space"
|
||||
icon = 'icons/mob/mob.dmi'
|
||||
icon_state = "voidalter"
|
||||
duration = 5
|
||||
|
||||
/obj/effect/temp_visual/telekinesis
|
||||
name = "telekinetic force"
|
||||
icon_state = "empdisable"
|
||||
|
||||
@@ -16,6 +16,9 @@
|
||||
if(isopenturf(target))
|
||||
deploy_bodybag(user, target)
|
||||
|
||||
/obj/item/bodybag/canReachInto(atom/user, atom/target, list/next, view_only, obj/item/tool)
|
||||
return (user in src)
|
||||
|
||||
/obj/item/bodybag/proc/deploy_bodybag(mob/user, atom/location)
|
||||
var/obj/structure/closet/body_bag/R = new unfoldedbag_path(location)
|
||||
R.open(user)
|
||||
|
||||
@@ -472,7 +472,7 @@
|
||||
build_path = /obj/machinery/holopad
|
||||
secure = FALSE
|
||||
else
|
||||
build_path = /obj/machinery/holopad //secure
|
||||
build_path = /obj/machinery/holopad/secure //secure
|
||||
secure = TRUE
|
||||
to_chat(user, "<span class='notice'>You [secure? "en" : "dis"]able the security on the [src]</span>")
|
||||
. = ..()
|
||||
|
||||
@@ -332,6 +332,7 @@
|
||||
to_chat(occupant, "You pop out of the [src], slightly dazed!")
|
||||
occupant.Stun(5 SECONDS)
|
||||
|
||||
|
||||
/obj/item/pet_carrier/bluespace/return_air()
|
||||
if(!occupant_gas_supply)
|
||||
occupant_gas_supply = new
|
||||
@@ -353,4 +354,14 @@
|
||||
if(..())
|
||||
name = "[initial(name)] ([target])"
|
||||
|
||||
/obj/item/pet_carrier/bluespace/single_use
|
||||
desc = "A jar, that seems to be bigger on the inside, somehow allowing lifeforms to fit through its narrow entrance. This one looks exceptionally fragile."
|
||||
|
||||
/obj/item/pet_carrier/bluespace/single_use/remove_occupant(mob/living/occupant)
|
||||
. = ..()
|
||||
|
||||
if(!QDELETED(src))
|
||||
playsound(src, "shatter", 70, 1)
|
||||
qdel(src)
|
||||
|
||||
#undef pet_carrier_full
|
||||
|
||||
@@ -469,7 +469,7 @@
|
||||
//hijacking the minature first aids for hypospray boxes. <3
|
||||
/obj/item/storage/hypospraykit
|
||||
name = "hypospray kit"
|
||||
desc = "It's a kit containing a hypospray and specific treatment chemical-filled vials."
|
||||
desc = "It's a kit designed for containing a hypospray and specific treatment chemical-filled vials."
|
||||
icon_state = "firstaid-mini"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
||||
|
||||
@@ -626,4 +626,4 @@
|
||||
T1.visible_message("<span class='warning'>[user] dives into [src]!</span>")
|
||||
|
||||
/obj/structure/closet/canReachInto(atom/user, atom/target, list/next, view_only, obj/item/tool)
|
||||
return ..() && opened
|
||||
return (user in src)
|
||||
|
||||
@@ -676,7 +676,6 @@
|
||||
ADD_TRAIT(new_spawn, TRAIT_SIXTHSENSE, GHOSTROLE_TRAIT)
|
||||
ADD_TRAIT(new_spawn, TRAIT_EXEMPT_HEALTH_EVENTS, GHOSTROLE_TRAIT)
|
||||
ADD_TRAIT(new_spawn, TRAIT_NO_MIDROUND_ANTAG, GHOSTROLE_TRAIT) //The mob can't be made into a random antag, they are still eligible for ghost roles popups.
|
||||
ADD_TRAIT(new_spawn, TRAIT_PACIFISM, GHOSTROLE_TRAIT)
|
||||
to_chat(new_spawn,"<span class='boldwarning'>Ghosting is free!</span>")
|
||||
var/datum/action/toggle_dead_chat_mob/D = new(new_spawn)
|
||||
D.Grant(new_spawn)
|
||||
|
||||
@@ -125,6 +125,8 @@
|
||||
/datum/antagonist/changeling/proc/remove_changeling_powers()
|
||||
if(ishuman(owner.current) || ismonkey(owner.current))
|
||||
reset_properties()
|
||||
QDEL_NULL(cellular_emporium)
|
||||
QDEL_NULL(emporium_action)
|
||||
for(var/obj/effect/proc_holder/changeling/p in purchasedpowers)
|
||||
if(p.always_keep)
|
||||
continue
|
||||
@@ -139,6 +141,7 @@
|
||||
/datum/antagonist/changeling/proc/reset_powers()
|
||||
if(purchasedpowers)
|
||||
remove_changeling_powers()
|
||||
create_actions()
|
||||
//Repurchase free powers.
|
||||
for(var/path in all_powers)
|
||||
var/obj/effect/proc_holder/changeling/S = new path()
|
||||
@@ -225,7 +228,8 @@
|
||||
/datum/antagonist/changeling/proc/regenerate()
|
||||
var/mob/living/carbon/the_ling = owner.current
|
||||
if(istype(the_ling))
|
||||
emporium_action.Grant(the_ling)
|
||||
if(emporium_action)
|
||||
emporium_action.Grant(the_ling)
|
||||
if(the_ling.stat == DEAD)
|
||||
chem_charges = min(max(0, chem_charges + chem_recharge_rate - chem_recharge_slowdown), (chem_storage*0.5))
|
||||
geneticdamage = max(LING_DEAD_GENETICDAMAGE_HEAL_CAP,geneticdamage-1)
|
||||
|
||||
@@ -11,6 +11,14 @@
|
||||
|
||||
//Revive from revival stasis
|
||||
/obj/effect/proc_holder/changeling/revive/sting_action(mob/living/carbon/user)
|
||||
var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
|
||||
if(!changeling)
|
||||
return
|
||||
if(changeling.hostile_absorbed)
|
||||
to_chat(user, "<span class='notice'>We cannot muster up the strength to revive ourselves!</span>")
|
||||
changeling.purchasedpowers -= src
|
||||
src.action.Remove(user)
|
||||
return
|
||||
user.cure_fakedeath("changeling")
|
||||
user.revive(full_heal = 1)
|
||||
var/list/missing = user.get_missing_limbs()
|
||||
@@ -27,7 +35,6 @@
|
||||
user.regenerate_limbs(0, list(BODY_ZONE_HEAD))
|
||||
user.regenerate_organs()
|
||||
to_chat(user, "<span class='notice'>We have revived ourselves.</span>")
|
||||
var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
|
||||
changeling.purchasedpowers -= src
|
||||
src.action.Remove(user)
|
||||
return TRUE
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
to_chat(L, "<span class='heavy_brass'>\"You belong to me now.\"</span>")
|
||||
if(!GLOB.application_scripture_unlocked)
|
||||
GLOB.application_scripture_unlocked = TRUE
|
||||
hierophant_message("<span class='large_brass bold'>With the conversion of a new servant the Ark's power grows. Application scriptures are now available.</span>")
|
||||
hierophant_message("<span class='large_brass bold'>With the conversion of a new servant the Hierophant Network's power grows. Application scriptures are now available.</span>")
|
||||
if(add_servant_of_ratvar(L))
|
||||
L.log_message("conversion was done with a [sigil_name]", LOG_ATTACK, color="BE8700")
|
||||
if(iscarbon(L))
|
||||
|
||||
@@ -196,4 +196,68 @@
|
||||
CL.visible_message("<span class='warning'>[CL] materialises out of thin air!")
|
||||
new /obj/effect/temp_visual/ratvar/sigil/transmission(T,2)
|
||||
|
||||
//summons a soul vessel, which is the clockwork cult version of a soul shard. It acts like a posibrain and, as long as the target has a brain, a soul shard.
|
||||
/datum/clockwork_rite/soul_vessel
|
||||
name = "Rite of the Vessel" //The name of the rite
|
||||
desc = "This rite is used to summon a soul vessel, a special posibrain that makes whoever has their brain put into it loyal to the Justiciar.,\
|
||||
When put into a cyborg shell, the created cyborg will automatically be a servant of Ratvar."
|
||||
required_ingredients = list(/obj/item/stack/cable_coil, /obj/item/stock_parts/cell/, /obj/item/organ/cyberimp)
|
||||
power_cost = 2500 //These things are pretty strong, I won't lie
|
||||
requires_full_power = TRUE
|
||||
cast_time = 50
|
||||
limit = INFINITE
|
||||
rite_cast_sound = 'sound/magic/summon_guns.ogg'
|
||||
|
||||
/datum/clockwork_rite/soul_vessel/cast(var/mob/living/invoker, var/turf/T, var/mob/living/carbon/human/target)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return FALSE
|
||||
var/obj/item/mmi/posibrain/soul_vessel/SV = new /obj/item/mmi/posibrain/soul_vessel(T)
|
||||
SV.visible_message("<span class='warning'>[SV] materalizes out of thin air!</span>")
|
||||
new /obj/effect/temp_visual/ratvar/sigil/transmission(T,2)
|
||||
|
||||
|
||||
/datum/clockwork_rite/cyborg_transform
|
||||
name = "Rite of the Divine Form"
|
||||
desc = "This rite is used to ascend into a cyborg, gaining unique scripture and a loadout that depends on which module is chosen. Consult the wiki for details on each cyborg module's loadout. Mutually exclusive to Enhanced Form."
|
||||
required_ingredients = list(/obj/item/mmi/posibrain, /obj/item/stack/cable_coil, /obj/item/stock_parts/cell/super, /obj/item/bodypart/l_arm/robot, /obj/item/bodypart/r_arm/robot, /obj/item/bodypart/chest/robot, /obj/item/bodypart/head/robot, /obj/item/bodypart/r_leg/robot, /obj/item/bodypart/l_leg/robot)
|
||||
power_cost = 20000
|
||||
requires_human = TRUE
|
||||
requires_full_power = FALSE
|
||||
cast_time = 100
|
||||
limit = INFINITE
|
||||
rite_cast_sound = 'sound/magic/disable_tech.ogg'
|
||||
|
||||
/datum/clockwork_rite/cyborg_transform/cast(var/mob/living/invoker, var/turf/T, var/mob/living/carbon/human/target)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return FALSE
|
||||
if(isclockworkgolem(target))
|
||||
return FALSE
|
||||
target.visible_message("<span class='warning'>The robotic parts magnetize to [target], the new frame's eyes glowing in a brilliant yellow!</span>")
|
||||
var/mob/living/silicon/robot/R = target.Robotize()
|
||||
R.cell = new /obj/item/stock_parts/cell/super(R)//takes one to use the rite to begin with
|
||||
new /obj/effect/temp_visual/ratvar/sigil/transmission(T,2)
|
||||
|
||||
/datum/clockwork_rite/golem_transform
|
||||
name = "Rite of the Enhanced Form"
|
||||
desc = "This rite is used to shed one's flesh to become a clockwork automaton, becoming immune to many environmental hazards as well as being more resilient to incoming damage. Mutually exclusive to Divine Form."
|
||||
required_ingredients = list(/obj/item/mmi/posibrain, /obj/item/stock_parts/cell/super, /obj/item/bodypart/l_arm/robot, /obj/item/bodypart/r_arm/robot, /obj/item/bodypart/chest/robot, /obj/item/bodypart/head/robot, /obj/item/bodypart/r_leg/robot, /obj/item/bodypart/l_leg/robot)
|
||||
power_cost = 20000
|
||||
requires_human = TRUE
|
||||
requires_full_power = FALSE
|
||||
cast_time = 100
|
||||
limit = INFINITE
|
||||
rite_cast_sound = 'sound/magic/disable_tech.ogg'
|
||||
|
||||
|
||||
/datum/clockwork_rite/golem_transform/cast(var/mob/living/invoker, var/turf/T, var/mob/living/carbon/human/target)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return FALSE
|
||||
target.visible_message("<span class='warning'>The robotic parts magnetize to [target], the humanoid shape's eye glowing with an inner flame!</span>")
|
||||
to_chat(target, "<span class='bold alloy'>The rite's power warps your body into a clockwork form! You are now immune to many hazards, and your body is more robust against damage!</span>")
|
||||
target.set_species(/datum/species/golem/clockwork/no_scrap)
|
||||
new /obj/effect/temp_visual/ratvar/sigil/transmission(T,2)
|
||||
|
||||
#undef INFINITE
|
||||
|
||||
@@ -350,3 +350,22 @@
|
||||
// Winter coat
|
||||
/obj/item/clothing/suit/hooded/wintercoat/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) //four sheets of metal
|
||||
return list("operation_time" = 30, "new_obj_type" = /obj/item/clothing/suit/hooded/wintercoat/ratvar, "power_cost" = POWER_METAL * 4, "spawn_dir" = SOUTH)
|
||||
|
||||
//tools
|
||||
/obj/item/crowbar/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) //1 metal rod each
|
||||
return list("operation_time" = 2, "new_obj_type" = /obj/item/crowbar/brass, "power_cost" = POWER_ROD * 1, "spawn_dir" = SOUTH)
|
||||
|
||||
/obj/item/screwdriver/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent)
|
||||
return list("operation_time" = 2, "new_obj_type" = /obj/item/screwdriver/brass, "power_cost" = POWER_ROD * 1, "spawn_dir" = SOUTH)
|
||||
|
||||
/obj/item/weldingtool/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent)
|
||||
return list("operation_time" = 2, "new_obj_type" = /obj/item/weldingtool/experimental/brass, "power_cost" = POWER_ROD * 1, "spawn_dir" = SOUTH)
|
||||
|
||||
/obj/item/wirecutters/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent)
|
||||
return list("operation_time" = 2, "new_obj_type" = /obj/item/wirecutters/brass, "power_cost" = POWER_ROD * 1, "spawn_dir" = SOUTH)
|
||||
|
||||
/obj/item/wrench/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent)
|
||||
return list("operation_time" = 2, "new_obj_type" = /obj/item/wrench/brass, "power_cost" = POWER_ROD * 1, "spawn_dir" = SOUTH)
|
||||
|
||||
/obj/item/multitool/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent)
|
||||
return list("operation_time" = 2, "new_obj_type" = /obj/item/multitool/advanced/brass, "power_cost" = POWER_ROD * 1, "spawn_dir" = SOUTH)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
name = "clock-themed arm-mounted implant"
|
||||
var/clockwork_desc = "According to Ratvar, this really shouldn't exist. Tell Him about this immediately."
|
||||
syndicate_implant = TRUE
|
||||
icon_state = "clock_arm_implant"
|
||||
icon_state = "toolkit_implant"
|
||||
|
||||
/obj/item/organ/cyberimp/arm/clockwork/ui_action_click()
|
||||
if(is_servant_of_ratvar(owner) || (obj_flags & EMAGGED)) //If you somehow manage to steal a clockie's implant AND have an emag AND manage to get it implanted for yourself, good on ya!
|
||||
|
||||
@@ -251,7 +251,9 @@
|
||||
var/mob/camera/eminence/E = owner
|
||||
E.eminence_help()
|
||||
|
||||
|
||||
/*
|
||||
|
||||
//Returns to the Ark - Commented out and replaced with obelisk_jump
|
||||
/datum/action/innate/eminence/ark_jump
|
||||
name = "Return to Ark"
|
||||
@@ -265,7 +267,7 @@
|
||||
owner.playsound_local(owner, 'sound/magic/magic_missile.ogg', 50, TRUE)
|
||||
flash_color(owner, flash_color = "#AF0AAF", flash_time = 25)
|
||||
else
|
||||
to_chat(owner, "<span class='warning'>There is no Ark!</span>")
|
||||
to_chat(owner, "<span class='warning '>There is no Ark!</span>")
|
||||
*/
|
||||
|
||||
//Warps to a chosen Obelisk
|
||||
|
||||
@@ -0,0 +1,432 @@
|
||||
//Clockwork guardian: Slow but with high damage, resides inside of a servant. Created via the Memory Allocation scripture.
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian
|
||||
name = "clockwork guardian"
|
||||
desc = "A slow, armored clockwork machine, blazing with magenta flames. It's armed with a gladius and shield, and stands ready by its master."
|
||||
icon_state = "clockwork_guardian"
|
||||
health = 300
|
||||
maxHealth = 300
|
||||
speed = 1
|
||||
obj_damage = 40
|
||||
melee_damage_lower = 20//ranged attacks are the way to go for fighting these
|
||||
melee_damage_upper = 20
|
||||
attack_verb_continuous = "slashes"
|
||||
attack_verb_simple = "slash"
|
||||
attack_sound = 'sound/weapons/bladeslice.ogg'
|
||||
weather_immunities = list("lava")
|
||||
movement_type = FLYING
|
||||
AIStatus = AI_OFF //this has to be manually set so that the guardian doesn't start bashing the host, how annoying -_-
|
||||
loot = list(/obj/structure/destructible/clockwork/taunting_trail)
|
||||
var/true_name = "Meme Master 69" //Required to call forth the guardian
|
||||
var/global/list/possible_true_names = list("Servant", "Warden", "Serf", "Page", "Usher", "Knave", "Vassal", "Escort")
|
||||
var/mob/living/host //The mob that the guardian is living inside of
|
||||
var/recovering = FALSE //If the guardian is recovering from recalling
|
||||
var/blockchance = 17 //chance to block attacks entirely
|
||||
var/counterchance = 30 //chance to counterattack after blocking
|
||||
var/static/list/damage_heal_order = list(OXY, BURN, BRUTE, TOX) //we heal our host's damage in this order
|
||||
light_color = "#AF0AAF"
|
||||
light_range = 2
|
||||
light_power = 1.1
|
||||
playstyle_string = "<span class='sevtug'>You are a clockwork guardian</span><b>, a living extension of Sevtug's will. As a guardian, you are somewhat slow, but may block attacks, \
|
||||
and have a chance to also counter blocked melee attacks for extra damage, in addition to being immune to extreme temperatures and pressures. \
|
||||
Your primary goal is to serve the creature that you are now a part of, as well as The Clockwork Justiciar, Ratvar. You can use <span class='sevtug_small'><i>The Hierophant Network</i></span> to communicate silently with your master and their allies, \
|
||||
but can only exit if your master calls your true name or if they are exceptionally damaged. \
|
||||
\n\n\
|
||||
Stay near your host to protect and heal them; being too far from your host will rapidly cause you massive damage. Recall to your host if you are too weak and believe you cannot continue \
|
||||
fighting safely. As a final note, you should probably avoid harming any fellow servants of Ratvar.</span>"
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/Initialize()
|
||||
. = ..()
|
||||
true_name = pick(possible_true_names)
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/BiologicalLife(seconds, times_fired)
|
||||
..()
|
||||
if(is_in_host())
|
||||
if(!is_servant_of_ratvar(host))
|
||||
emerge_from_host(FALSE, TRUE)
|
||||
unbind_from_host()
|
||||
return
|
||||
if(!GLOB.ratvar_awakens && host.stat == DEAD)
|
||||
death()
|
||||
return
|
||||
if(GLOB.ratvar_awakens)
|
||||
adjustHealth(-50)
|
||||
else
|
||||
adjustHealth(-10)
|
||||
if(!recovering)
|
||||
heal_host() //also heal our host if inside of them and we aren't recovering
|
||||
else if(health == maxHealth)
|
||||
to_chat(src, "<span class='userdanger'>Your strength has returned. You can once again come forward!</span>")
|
||||
to_chat(host, "<span class='userdanger'>Your guardian is now strong enough to come forward again!</span>")
|
||||
recovering = FALSE
|
||||
else
|
||||
if(GLOB.ratvar_awakens) //If Ratvar is alive, guardians don't need a host and are downright impossible to kill
|
||||
adjustHealth(-5)
|
||||
heal_host()
|
||||
else if(host)
|
||||
if(!is_servant_of_ratvar(host))
|
||||
unbind_from_host()
|
||||
return
|
||||
if(host.stat == DEAD)
|
||||
adjustHealth(50)
|
||||
to_chat(src, "<span class='userdanger'>Your host is dead!</span>")
|
||||
return
|
||||
if(z && host.z && z == host.z)
|
||||
switch(get_dist(get_turf(src), get_turf(host)))
|
||||
if(2)
|
||||
adjustHealth(-1)
|
||||
if(3)
|
||||
//EQUILIBRIUM
|
||||
if(4)
|
||||
adjustHealth(1)
|
||||
if(5)
|
||||
adjustHealth(3)
|
||||
if(6)
|
||||
adjustHealth(6)
|
||||
if(7)
|
||||
adjustHealth(9)
|
||||
if(8 to INFINITY)
|
||||
adjustHealth(15)
|
||||
to_chat(src, "<span class='userdanger'>You're too far from your host and rapidly taking damage!</span>")
|
||||
else //right next to or on top of host
|
||||
adjustHealth(-2)
|
||||
heal_host() //gradually heal host if nearby and host is very weak
|
||||
else //well then, you're not even in the same zlevel
|
||||
adjustHealth(15)
|
||||
to_chat(src, "<span class='userdanger'>You're too far from your host and rapidly taking damage!</span>")
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/death(gibbed)
|
||||
emerge_from_host(FALSE, TRUE)
|
||||
unbind_from_host()
|
||||
visible_message("<span class='warning'>[src]'s equipment fades into a purple mist as the flames within sputter and dissipate.</span>", \
|
||||
"<span class='userdanger'>Your equipment fades away. You feel a moment of confusion before your fragile form is annihilated.</span>")
|
||||
. = ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/Stat()
|
||||
..()
|
||||
if(statpanel("Status"))
|
||||
stat(null, "Current True Name: [true_name]")
|
||||
stat(null, "Host: [host ? host : "NONE"]")
|
||||
if(host)
|
||||
var/resulthealth = round((host.health / host.maxHealth) * 100, 0.5)
|
||||
if(iscarbon(host))
|
||||
resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)
|
||||
stat(null, "Host Health: [resulthealth]%")
|
||||
if(GLOB.ratvar_awakens)
|
||||
stat(null, "You are [recovering ? "un" : ""]able to deploy!")
|
||||
else
|
||||
if(resulthealth > GUARDIAN_EMERGE_THRESHOLD)
|
||||
stat(null, "You are [recovering ? "unable to deploy" : "able to deploy on hearing your True Name"]!")
|
||||
else
|
||||
stat(null, "You are [recovering ? "unable to deploy" : "able to deploy to protect your host"]!")
|
||||
stat(null, "You do [melee_damage_upper] damage on melee attacks.")
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/proc/bind_to_host(mob/living/new_host)
|
||||
if(!new_host)
|
||||
return FALSE
|
||||
host = new_host
|
||||
var/datum/action/innate/summon_guardian/SG = new()
|
||||
SG.linked_guardian = src
|
||||
SG.Grant(host)
|
||||
var/datum/action/innate/linked_minds/LM = new()
|
||||
LM.linked_guardian = src
|
||||
LM.Grant(host)
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/proc/unbind_from_host()
|
||||
if(host)
|
||||
for(var/datum/action/innate/summon_guardian/SG in host.actions)
|
||||
qdel(SG)
|
||||
for(var/datum/action/innate/linked_minds/LM in host.actions)
|
||||
qdel(LM)
|
||||
host = null
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
//DAMAGE and FATIGUE
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/proc/heal_host()
|
||||
if(!host)
|
||||
return
|
||||
var/resulthealth = round((host.health / host.maxHealth) * 100, 0.5)
|
||||
if(iscarbon(host))
|
||||
resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)
|
||||
if(GLOB.ratvar_awakens || resulthealth <= GUARDIAN_EMERGE_THRESHOLD)
|
||||
new /obj/effect/temp_visual/heal(host.loc, "#AF0AAF")
|
||||
host.heal_ordered_damage(4, damage_heal_order)
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
|
||||
if(amount > 0)
|
||||
for(var/mob/living/L in view(2, src))
|
||||
if(L.is_holding_item_of_type(/obj/item/nullrod))
|
||||
to_chat(src, "<span class='userdanger'>The presence of a brandished holy artifact weakens your armor!</span>")
|
||||
amount *= 4 //if a wielded null rod is nearby, it takes four times the health damage
|
||||
break
|
||||
. = ..()
|
||||
if(src && updating_health)
|
||||
update_health_hud()
|
||||
update_stats()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/update_health_hud()
|
||||
if(hud_used && hud_used.healths)
|
||||
if(istype(hud_used, /datum/hud))
|
||||
var/datum/hud/marauder/G = hud_used
|
||||
var/resulthealth
|
||||
if(host)
|
||||
if(iscarbon(host))
|
||||
resulthealth = "[round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)]%"
|
||||
else
|
||||
resulthealth = "[round((host.health / host.maxHealth) * 100, 0.5)]%"
|
||||
else
|
||||
resulthealth = "NONE"
|
||||
G.hosthealth.maptext = "<div align='center' valign='middle' style='position:relative; top:0px; left:6px'><font color='#AF0AAF'>HOST<br>[resulthealth]</font></div>"
|
||||
hud_used.healths.maptext = "<div align='center' valign='middle' style='position:relative; top:0px; left:6px'><font color='#AF0AAF'>[round((health / maxHealth) * 100, 0.5)]%</font>"
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/proc/update_stats()
|
||||
if(GLOB.ratvar_awakens)
|
||||
speed = 0
|
||||
melee_damage_lower = 20
|
||||
melee_damage_upper = 20
|
||||
attack_verb_continuous = "devastates"
|
||||
else
|
||||
var/healthpercent = (health/maxHealth) * 100
|
||||
switch(healthpercent)
|
||||
if(100 to 70) //Bonuses to speed and damage at high health
|
||||
speed = 0
|
||||
melee_damage_lower = 16
|
||||
melee_damage_upper = 16
|
||||
attack_verb_continuous = "viciously slashes"
|
||||
if(70 to 40)
|
||||
speed = initial(speed)
|
||||
melee_damage_lower = initial(melee_damage_lower)
|
||||
melee_damage_upper = initial(melee_damage_upper)
|
||||
attack_verb_continuous = initial(attack_verb_continuous)
|
||||
if(40 to 30) //Damage decrease, but not speed
|
||||
speed = initial(speed)
|
||||
melee_damage_lower = 10
|
||||
melee_damage_upper = 10
|
||||
attack_verb_continuous = "lightly slashes"
|
||||
if(30 to 20) //Speed decrease
|
||||
speed = 2
|
||||
melee_damage_lower = 8
|
||||
melee_damage_upper = 8
|
||||
attack_verb_continuous = "lightly slashes"
|
||||
if(20 to 10) //Massive speed decrease and weak melee attacks
|
||||
speed = 3
|
||||
melee_damage_lower = 6
|
||||
melee_damage_upper = 6
|
||||
attack_verb_continuous = "weakly slashes"
|
||||
if(10 to 0) //We are super weak and going to die
|
||||
speed = 4
|
||||
melee_damage_lower = 4
|
||||
melee_damage_upper = 4
|
||||
attack_verb_continuous = "taps"
|
||||
|
||||
//ATTACKING, BLOCKING, and COUNTERING
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/AttackingTarget()
|
||||
if(is_in_host())
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/bullet_act(obj/item/projectile/Proj)
|
||||
if(blockOrCounter(null, Proj))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/hitby(atom/movable/AM, skipcatch, hitpush, blocked, atom/movable/AM, datum/thrownthing/throwingdatum)
|
||||
if(blockOrCounter(null, AM))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/attack_animal(mob/living/simple_animal/M)
|
||||
if(istype(M, /mob/living/simple_animal/hostile/clockwork/guardian) || !blockOrCounter(M, M)) //we don't want infinite blockcounter loops if fighting another guardian
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/attack_paw(mob/living/carbon/monkey/M)
|
||||
if(!blockOrCounter(M, M))
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/attack_alien(mob/living/carbon/alien/humanoid/M)
|
||||
if(!blockOrCounter(M, M))
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/attack_slime(mob/living/simple_animal/slime/M)
|
||||
if(!blockOrCounter(M, M))
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/attack_hand(mob/living/carbon/human/M)
|
||||
if(!blockOrCounter(M, M))
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/nullrod) || !blockOrCounter(user, I))
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/proc/blockOrCounter(mob/target, atom/textobject)
|
||||
if(GLOB.ratvar_awakens) //if ratvar has woken, we block nearly everything at a very high chance
|
||||
blockchance = 90
|
||||
counterchance = 90
|
||||
if(prob(blockchance))
|
||||
. = TRUE
|
||||
if(target)
|
||||
target.do_attack_animation(src)
|
||||
target.DelayNextAction(CLICK_CD_MELEE)
|
||||
blockchance = initial(blockchance)
|
||||
playsound(src, 'sound/magic/clockwork/fellowship_armory.ogg', 30, 1, 0, 1) //clang
|
||||
visible_message("<span class='boldannounce'>[src] blocks [target && isitem(textobject) ? "[target]'s [textobject.name]":"\the [textobject]"]!</span>", \
|
||||
"<span class='userdanger'>You block [target && isitem(textobject) ? "[target]'s [textobject.name]":"\the [textobject]"]!</span>")
|
||||
if(target && Adjacent(target))
|
||||
if(prob(counterchance))
|
||||
counterchance = initial(counterchance)
|
||||
var/previousattack_verb_continuous = attack_verb_continuous
|
||||
attack_verb_continuous = "counters"
|
||||
UnarmedAttack(target)
|
||||
attack_verb_continuous = previousattack_verb_continuous
|
||||
else
|
||||
counterchance = min(counterchance + initial(counterchance), 100)
|
||||
else
|
||||
blockchance = min(blockchance + initial(blockchance), 100)
|
||||
if(GLOB.ratvar_awakens)
|
||||
blockchance = 90
|
||||
counterchance = 90
|
||||
|
||||
//COMMUNICATION and EMERGENCE
|
||||
/*
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/handle_inherent_channels(message, message_mode)
|
||||
if(host && (is_in_host() || message_mode == MODE_BINARY))
|
||||
guardian_comms(message)
|
||||
return TRUE
|
||||
return ..()
|
||||
*/
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/proc/guardian_comms(message)
|
||||
var/name_part = "<span class='sevtug'>[src] ([true_name])</span>"
|
||||
message = "<span class='sevtug_small'>\"[message]\"</span>" //Processed output
|
||||
to_chat(src, "[name_part]<span class='sevtug_small'>:</span> [message]")
|
||||
to_chat(host, "[name_part]<span class='sevtug_small'>:</span> [message]")
|
||||
for(var/M in GLOB.mob_list)
|
||||
if(isobserver(M))
|
||||
var/link = FOLLOW_LINK(M, src)
|
||||
to_chat(M, "[link] [name_part] <span class='sevtug_small'>(to</span> <span class='sevtug'>[findtextEx(host.name, host.real_name) ? "[host.name]" : "[host.real_name] (as [host.name])"]</span><span class='sevtug_small'>):</span> [message] ")
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/proc/return_to_host()
|
||||
if(is_in_host())
|
||||
return FALSE
|
||||
if(!host)
|
||||
to_chat(src, "<span class='warning'>You don't have a host!</span>")
|
||||
return FALSE
|
||||
var/resulthealth = round((host.health / host.maxHealth) * 100, 0.5)
|
||||
if(iscarbon(host))
|
||||
resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)
|
||||
host.visible_message("<span class='warning'>[host]'s skin flashes magenta!</span>", "<span class='sevtug'>You feel [true_name]'s consciousness settle in your mind.</span>")
|
||||
visible_message("<span class='warning'>[src] suddenly disappears!</span>", "<span class='sevtug'>You return to [host].</span>")
|
||||
forceMove(host)
|
||||
if(resulthealth > GUARDIAN_EMERGE_THRESHOLD && health != maxHealth)
|
||||
recovering = TRUE
|
||||
to_chat(src, "<span class='userdanger'>You have weakened and will need to recover before manifesting again!</span>")
|
||||
to_chat(host, "<span class='sevtug'>[true_name] has weakened and will need to recover before manifesting again!</span>")
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/proc/try_emerge()
|
||||
if(!host)
|
||||
to_chat(src, "<span class='warning'>You don't have a host!</span>")
|
||||
return FALSE
|
||||
if(!GLOB.ratvar_awakens)
|
||||
var/resulthealth = round((host.health / host.maxHealth) * 100, 0.5)
|
||||
if(iscarbon(host))
|
||||
resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)
|
||||
if(host.stat != DEAD && resulthealth > GUARDIAN_EMERGE_THRESHOLD) //if above 20 health, fails
|
||||
to_chat(src, "<span class='warning'>Your host must be at [GUARDIAN_EMERGE_THRESHOLD]% or less health to emerge like this!</span>")
|
||||
return FALSE
|
||||
return emerge_from_host(FALSE)
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/proc/emerge_from_host(hostchosen, force) //Notice that this is a proc rather than a verb - guardians can NOT exit at will, but they CAN return
|
||||
if(!is_in_host())
|
||||
return FALSE
|
||||
if(!force && recovering)
|
||||
if(hostchosen)
|
||||
to_chat(host, "<span class='sevtug'>[true_name] is too weak to come forth!</span>")
|
||||
else
|
||||
to_chat(host, "<span class='sevtug'>[true_name] tries to emerge to protect you, but it's too weak!</span>")
|
||||
to_chat(src, "<span class='userdanger'>You try to come forth, but you're too weak!</span>")
|
||||
return FALSE
|
||||
if(!force)
|
||||
if(hostchosen) //guardian approved
|
||||
to_chat(host, "<span class='sevtug'>Your words echo with power as [true_name] emerges from your body!</span>")
|
||||
else
|
||||
to_chat(host, "<span class='sevtug'>[true_name] emerges from your body to protect you!</span>")
|
||||
forceMove(host.loc)
|
||||
visible_message("<span class='warning'>[host]'s skin glows red as [name] emerges from their body!</span>", "<span class='sevtug_small'>You exit the safety of [host]'s body!</span>")
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/get_alt_name()
|
||||
return " ([text2ratvar(true_name)])"
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/proc/is_in_host() //Checks if the guardian is inside of their host
|
||||
return host && loc == host
|
||||
|
||||
//HOST ACTIONS
|
||||
|
||||
//Summon guardian action: Calls forth or recalls your guardian
|
||||
/datum/action/innate/summon_guardian
|
||||
name = "Force Guardian to Emerge/Recall"
|
||||
desc = "Allows you to force your clockwork guardian to emerge or recall as required."
|
||||
button_icon_state = "clockwork_marauder"
|
||||
background_icon_state = "bg_clock"
|
||||
check_flags = AB_CHECK_CONSCIOUS
|
||||
buttontooltipstyle = "clockcult"
|
||||
var/mob/living/simple_animal/hostile/clockwork/guardian/linked_guardian
|
||||
var/list/defend_phrases = list("Defend me", "Come forth", "Assist me", "Protect me", "Give aid", "Help me")
|
||||
var/list/return_phrases = list("Return", "Return to me", "Your job is done", "You have served", "Come back", "Retreat")
|
||||
|
||||
/datum/action/innate/summon_guardian/IsAvailable()
|
||||
if(!linked_guardian)
|
||||
return FALSE
|
||||
if(isliving(owner))
|
||||
var/mob/living/L = owner
|
||||
if(!L.can_speak_vocal() || L.stat)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/datum/action/innate/summon_guardian/Activate()
|
||||
if(linked_guardian.is_in_host())
|
||||
clockwork_say(owner, text2ratvar("[pick(defend_phrases)], [linked_guardian.true_name]!"))
|
||||
linked_guardian.emerge_from_host(TRUE)
|
||||
else
|
||||
clockwork_say(owner, text2ratvar("[pick(return_phrases)], [linked_guardian.true_name]!"))
|
||||
linked_guardian.return_to_host()
|
||||
return TRUE
|
||||
|
||||
//Linked Minds action: talks to your guardian
|
||||
/datum/action/innate/linked_minds
|
||||
name = "Linked Minds"
|
||||
desc = "Allows you to silently communicate with your guardian."
|
||||
button_icon_state = "linked_minds"
|
||||
background_icon_state = "bg_clock"
|
||||
check_flags = AB_CHECK_CONSCIOUS
|
||||
buttontooltipstyle = "clockcult"
|
||||
var/mob/living/simple_animal/hostile/clockwork/guardian/linked_guardian
|
||||
|
||||
/datum/action/innate/linked_minds/IsAvailable()
|
||||
if(!linked_guardian)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/datum/action/innate/linked_minds/Activate()
|
||||
var/message = stripped_input(owner, "Enter a message to tell your guardian.", "Telepathy")
|
||||
if(!owner || !message)
|
||||
return FALSE
|
||||
if(!linked_guardian)
|
||||
to_chat(owner, "<span class='warning'>Your guardian seems to have been destroyed!</span>")
|
||||
return FALSE
|
||||
var/name_part = "<span class='sevtug'>Servant [findtextEx(owner.name, owner.real_name) ? "[owner.name]" : "[owner.real_name] (as [owner.name])"]</span>"
|
||||
message = "<span class='sevtug_small'>\"[message]\"</span>" //Processed output
|
||||
to_chat(owner, "[name_part]<span class='sevtug_small'>:</span> [message]")
|
||||
to_chat(linked_guardian, "[name_part]<span class='sevtug_small'>:</span> [message]")
|
||||
for(var/M in GLOB.mob_list)
|
||||
if(isobserver(M))
|
||||
var/link = FOLLOW_LINK(M, src)
|
||||
to_chat(M, "[link] [name_part] <span class='sevtug_small'>(to</span> <span class='sevtug'>[linked_guardian] ([linked_guardian.true_name])</span><span class='sevtug_small'>):</span> [message]")
|
||||
return TRUE
|
||||
@@ -123,437 +123,3 @@
|
||||
|
||||
#undef MARAUDER_SLOWDOWN_PERCENTAGE
|
||||
#undef MARAUDER_SHIELD_REGEN_TIME
|
||||
|
||||
//Clockwork guardian: Slow but with high damage, resides inside of a servant. Created via the Memory Allocation scripture.
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian
|
||||
name = "clockwork guardian"
|
||||
desc = "A stalwart apparition of a soldier, blazing with crimson flames. It's armed with a gladius and shield and stands ready by its master."
|
||||
icon_state = "clockwork_marauder"
|
||||
health = 300
|
||||
maxHealth = 300
|
||||
speed = 1
|
||||
obj_damage = 40
|
||||
melee_damage_lower = 12
|
||||
melee_damage_upper = 12
|
||||
attack_verb_continuous = "slashes"
|
||||
attack_verb_simple = "slash"
|
||||
attack_sound = 'sound/weapons/bladeslice.ogg'
|
||||
weather_immunities = list("lava")
|
||||
movement_type = FLYING
|
||||
AIStatus = AI_OFF //this has to be manually set so that the guardian doesn't start bashing the host, how annoying -_-
|
||||
loot = list(/obj/item/clockwork/component/geis_capacitor/fallen_armor)
|
||||
max_shield_health = 0
|
||||
shield_health = 0
|
||||
var/true_name = "Meme Master 69" //Required to call forth the guardian
|
||||
var/global/list/possible_true_names = list("Servant", "Warden", "Serf", "Page", "Usher", "Knave", "Vassal", "Escort")
|
||||
var/mob/living/host //The mob that the guardian is living inside of
|
||||
var/recovering = FALSE //If the guardian is recovering from recalling
|
||||
var/blockchance = 17 //chance to block attacks entirely
|
||||
var/counterchance = 30 //chance to counterattack after blocking
|
||||
var/static/list/damage_heal_order = list(OXY, BURN, BRUTE, TOX) //we heal our host's damage in this order
|
||||
light_range = 2
|
||||
light_power = 1.1
|
||||
playstyle_string = "<span class='sevtug'>You are a clockwork guardian</span><b>, a living extension of Sevtug's will. As a guardian, you are somewhat slow, but may block attacks, \
|
||||
and have a chance to also counter blocked melee attacks for extra damage, in addition to being immune to extreme temperatures and pressures. \
|
||||
Your primary goal is to serve the creature that you are now a part of, as well as The Clockwork Justiciar, Ratvar. You can use <span class='sevtug_small'><i>The Hierophant Network</i></span> to communicate silently with your master and their allies, \
|
||||
but can only exit if your master calls your true name or if they are exceptionally damaged. \
|
||||
\n\n\
|
||||
Stay near your host to protect and heal them; being too far from your host will rapidly cause you massive damage. Recall to your host if you are too weak and believe you cannot continue \
|
||||
fighting safely. As a final note, you should probably avoid harming any fellow servants of Ratvar.</span>"
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/Initialize()
|
||||
. = ..()
|
||||
true_name = pick(possible_true_names)
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/BiologicalLife(seconds, times_fired)
|
||||
..()
|
||||
if(is_in_host())
|
||||
if(!is_servant_of_ratvar(host))
|
||||
emerge_from_host(FALSE, TRUE)
|
||||
unbind_from_host()
|
||||
return
|
||||
if(!GLOB.ratvar_awakens && host.stat == DEAD)
|
||||
death()
|
||||
return
|
||||
if(GLOB.ratvar_awakens)
|
||||
adjustHealth(-50)
|
||||
else
|
||||
adjustHealth(-10)
|
||||
if(!recovering)
|
||||
heal_host() //also heal our host if inside of them and we aren't recovering
|
||||
else if(health == maxHealth)
|
||||
to_chat(src, "<span class='userdanger'>Your strength has returned. You can once again come forward!</span>")
|
||||
to_chat(host, "<span class='userdanger'>Your guardian is now strong enough to come forward again!</span>")
|
||||
recovering = FALSE
|
||||
else
|
||||
if(GLOB.ratvar_awakens) //If Ratvar is alive, guardians don't need a host and are downright impossible to kill
|
||||
adjustHealth(-5)
|
||||
heal_host()
|
||||
else if(host)
|
||||
if(!is_servant_of_ratvar(host))
|
||||
unbind_from_host()
|
||||
return
|
||||
if(host.stat == DEAD)
|
||||
adjustHealth(50)
|
||||
to_chat(src, "<span class='userdanger'>Your host is dead!</span>")
|
||||
return
|
||||
if(z && host.z && z == host.z)
|
||||
switch(get_dist(get_turf(src), get_turf(host)))
|
||||
if(2)
|
||||
adjustHealth(-1)
|
||||
if(3)
|
||||
//EQUILIBRIUM
|
||||
if(4)
|
||||
adjustHealth(1)
|
||||
if(5)
|
||||
adjustHealth(3)
|
||||
if(6)
|
||||
adjustHealth(6)
|
||||
if(7)
|
||||
adjustHealth(9)
|
||||
if(8 to INFINITY)
|
||||
adjustHealth(15)
|
||||
to_chat(src, "<span class='userdanger'>You're too far from your host and rapidly taking damage!</span>")
|
||||
else //right next to or on top of host
|
||||
adjustHealth(-2)
|
||||
heal_host() //gradually heal host if nearby and host is very weak
|
||||
else //well then, you're not even in the same zlevel
|
||||
adjustHealth(15)
|
||||
to_chat(src, "<span class='userdanger'>You're too far from your host and rapidly taking damage!</span>")
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/death(gibbed)
|
||||
emerge_from_host(FALSE, TRUE)
|
||||
unbind_from_host()
|
||||
visible_message("<span class='warning'>[src]'s equipment clatters lifelessly to the ground as the red flames within dissipate.</span>", \
|
||||
"<span class='userdanger'>Your equipment falls away. You feel a moment of confusion before your fragile form is annihilated.</span>")
|
||||
. = ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/Stat()
|
||||
..()
|
||||
if(statpanel("Status"))
|
||||
stat(null, "Current True Name: [true_name]")
|
||||
stat(null, "Host: [host ? host : "NONE"]")
|
||||
if(host)
|
||||
var/resulthealth = round((host.health / host.maxHealth) * 100, 0.5)
|
||||
if(iscarbon(host))
|
||||
resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)
|
||||
stat(null, "Host Health: [resulthealth]%")
|
||||
if(GLOB.ratvar_awakens)
|
||||
stat(null, "You are [recovering ? "un" : ""]able to deploy!")
|
||||
else
|
||||
if(resulthealth > GUARDIAN_EMERGE_THRESHOLD)
|
||||
stat(null, "You are [recovering ? "unable to deploy" : "able to deploy on hearing your True Name"]!")
|
||||
else
|
||||
stat(null, "You are [recovering ? "unable to deploy" : "able to deploy to protect your host"]!")
|
||||
stat(null, "You do [melee_damage_upper] damage on melee attacks.")
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/bind_to_host(mob/living/new_host)
|
||||
if(!new_host)
|
||||
return FALSE
|
||||
host = new_host
|
||||
var/datum/action/innate/summon_guardian/SG = new()
|
||||
SG.linked_guardian = src
|
||||
SG.Grant(host)
|
||||
var/datum/action/innate/linked_minds/LM = new()
|
||||
LM.linked_guardian = src
|
||||
LM.Grant(host)
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/unbind_from_host()
|
||||
if(host)
|
||||
for(var/datum/action/innate/summon_guardian/SG in host.actions)
|
||||
qdel(SG)
|
||||
for(var/datum/action/innate/linked_minds/LM in host.actions)
|
||||
qdel(LM)
|
||||
host = null
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
//DAMAGE and FATIGUE
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/heal_host()
|
||||
if(!host)
|
||||
return
|
||||
var/resulthealth = round((host.health / host.maxHealth) * 100, 0.5)
|
||||
if(iscarbon(host))
|
||||
resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)
|
||||
if(GLOB.ratvar_awakens || resulthealth <= GUARDIAN_EMERGE_THRESHOLD)
|
||||
new /obj/effect/temp_visual/heal(host.loc, "#AF0AAF")
|
||||
host.heal_ordered_damage(4, damage_heal_order)
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
|
||||
if(amount > 0)
|
||||
for(var/mob/living/L in view(2, src))
|
||||
if(L.is_holding_item_of_type(/obj/item/nullrod))
|
||||
to_chat(src, "<span class='userdanger'>The presence of a brandished holy artifact weakens your armor!</span>")
|
||||
amount *= 4 //if a wielded null rod is nearby, it takes four times the health damage
|
||||
break
|
||||
. = ..()
|
||||
if(src && updating_health)
|
||||
update_health_hud()
|
||||
update_stats()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/update_health_hud()
|
||||
if(hud_used && hud_used.healths)
|
||||
if(istype(hud_used, /datum/hud/marauder))
|
||||
var/datum/hud/marauder/G = hud_used
|
||||
var/resulthealth
|
||||
if(host)
|
||||
if(iscarbon(host))
|
||||
resulthealth = "[round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)]%"
|
||||
else
|
||||
resulthealth = "[round((host.health / host.maxHealth) * 100, 0.5)]%"
|
||||
else
|
||||
resulthealth = "NONE"
|
||||
G.hosthealth.maptext = "<div align='center' valign='middle' style='position:relative; top:0px; left:6px'><font color='#AF0AAF'>HOST<br>[resulthealth]</font></div>"
|
||||
hud_used.healths.maptext = "<div align='center' valign='middle' style='position:relative; top:0px; left:6px'><font color='#AF0AAF'>[round((health / maxHealth) * 100, 0.5)]%</font>"
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/update_stats()
|
||||
if(GLOB.ratvar_awakens)
|
||||
speed = 0
|
||||
melee_damage_lower = 20
|
||||
melee_damage_upper = 20
|
||||
attack_verb_continuous = "devastates"
|
||||
else
|
||||
var/healthpercent = (health/maxHealth) * 100
|
||||
switch(healthpercent)
|
||||
if(100 to 70) //Bonuses to speed and damage at high health
|
||||
speed = 0
|
||||
melee_damage_lower = 16
|
||||
melee_damage_upper = 16
|
||||
attack_verb_continuous = "viciously slashes"
|
||||
if(70 to 40)
|
||||
speed = initial(speed)
|
||||
melee_damage_lower = initial(melee_damage_lower)
|
||||
melee_damage_upper = initial(melee_damage_upper)
|
||||
attack_verb_continuous = initial(attack_verb_continuous)
|
||||
if(40 to 30) //Damage decrease, but not speed
|
||||
speed = initial(speed)
|
||||
melee_damage_lower = 10
|
||||
melee_damage_upper = 10
|
||||
attack_verb_continuous = "lightly slashes"
|
||||
if(30 to 20) //Speed decrease
|
||||
speed = 2
|
||||
melee_damage_lower = 8
|
||||
melee_damage_upper = 8
|
||||
attack_verb_continuous = "lightly slashes"
|
||||
if(20 to 10) //Massive speed decrease and weak melee attacks
|
||||
speed = 3
|
||||
melee_damage_lower = 6
|
||||
melee_damage_upper = 6
|
||||
attack_verb_continuous = "weakly slashes"
|
||||
if(10 to 0) //We are super weak and going to die
|
||||
speed = 4
|
||||
melee_damage_lower = 4
|
||||
melee_damage_upper = 4
|
||||
attack_verb_continuous = "taps"
|
||||
|
||||
//ATTACKING, BLOCKING, and COUNTERING
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/AttackingTarget()
|
||||
if(is_in_host())
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/bullet_act(obj/item/projectile/Proj)
|
||||
if(blockOrCounter(null, Proj))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/hitby(atom/movable/AM, skipcatch, hitpush, blocked, atom/movable/AM, datum/thrownthing/throwingdatum)
|
||||
if(blockOrCounter(null, AM))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/attack_animal(mob/living/simple_animal/M)
|
||||
if(istype(M, /mob/living/simple_animal/hostile/clockwork/marauder/guardian) || !blockOrCounter(M, M)) //we don't want infinite blockcounter loops if fighting another guardian
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/attack_paw(mob/living/carbon/monkey/M)
|
||||
if(!blockOrCounter(M, M))
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/attack_alien(mob/living/carbon/alien/humanoid/M)
|
||||
if(!blockOrCounter(M, M))
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/attack_slime(mob/living/simple_animal/slime/M)
|
||||
if(!blockOrCounter(M, M))
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/attack_hand(mob/living/carbon/human/M)
|
||||
if(!blockOrCounter(M, M))
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/nullrod) || !blockOrCounter(user, I))
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/blockOrCounter(mob/target, atom/textobject)
|
||||
if(GLOB.ratvar_awakens) //if ratvar has woken, we block nearly everything at a very high chance
|
||||
blockchance = 90
|
||||
counterchance = 90
|
||||
if(prob(blockchance))
|
||||
. = TRUE
|
||||
if(target)
|
||||
target.do_attack_animation(src)
|
||||
target.DelayNextAction(CLICK_CD_MELEE)
|
||||
blockchance = initial(blockchance)
|
||||
playsound(src, 'sound/magic/clockwork/fellowship_armory.ogg', 30, 1, 0, 1) //clang
|
||||
visible_message("<span class='boldannounce'>[src] blocks [target && isitem(textobject) ? "[target]'s [textobject.name]":"\the [textobject]"]!</span>", \
|
||||
"<span class='userdanger'>You block [target && isitem(textobject) ? "[target]'s [textobject.name]":"\the [textobject]"]!</span>")
|
||||
if(target && Adjacent(target))
|
||||
if(prob(counterchance))
|
||||
counterchance = initial(counterchance)
|
||||
var/previousattack_verb_continuous = attack_verb_continuous
|
||||
attack_verb_continuous = "counters"
|
||||
UnarmedAttack(target)
|
||||
attack_verb_continuous = previousattack_verb_continuous
|
||||
else
|
||||
counterchance = min(counterchance + initial(counterchance), 100)
|
||||
else
|
||||
blockchance = min(blockchance + initial(blockchance), 100)
|
||||
if(GLOB.ratvar_awakens)
|
||||
blockchance = 90
|
||||
counterchance = 90
|
||||
|
||||
//COMMUNICATION and EMERGENCE
|
||||
/*
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/handle_inherent_channels(message, message_mode)
|
||||
if(host && (is_in_host() || message_mode == MODE_BINARY))
|
||||
guardian_comms(message)
|
||||
return TRUE
|
||||
return ..()
|
||||
*/
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/guardian_comms(message)
|
||||
var/name_part = "<span class='sevtug'>[src] ([true_name])</span>"
|
||||
message = "<span class='sevtug_small'>\"[message]\"</span>" //Processed output
|
||||
to_chat(src, "[name_part]<span class='sevtug_small'>:</span> [message]")
|
||||
to_chat(host, "[name_part]<span class='sevtug_small'>:</span> [message]")
|
||||
for(var/M in GLOB.mob_list)
|
||||
if(isobserver(M))
|
||||
var/link = FOLLOW_LINK(M, src)
|
||||
to_chat(M, "[link] [name_part] <span class='sevtug_small'>(to</span> <span class='sevtug'>[findtextEx(host.name, host.real_name) ? "[host.name]" : "[host.real_name] (as [host.name])"]</span><span class='sevtug_small'>):</span> [message] ")
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/return_to_host()
|
||||
if(is_in_host())
|
||||
return FALSE
|
||||
if(!host)
|
||||
to_chat(src, "<span class='warning'>You don't have a host!</span>")
|
||||
return FALSE
|
||||
var/resulthealth = round((host.health / host.maxHealth) * 100, 0.5)
|
||||
if(iscarbon(host))
|
||||
resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)
|
||||
host.visible_message("<span class='warning'>[host]'s skin flashes crimson!</span>", "<span class='sevtug'>You feel [true_name]'s consciousness settle in your mind.</span>")
|
||||
visible_message("<span class='warning'>[src] suddenly disappears!</span>", "<span class='sevtug'>You return to [host].</span>")
|
||||
forceMove(host)
|
||||
if(resulthealth > GUARDIAN_EMERGE_THRESHOLD && health != maxHealth)
|
||||
recovering = TRUE
|
||||
to_chat(src, "<span class='userdanger'>You have weakened and will need to recover before manifesting again!</span>")
|
||||
to_chat(host, "<span class='sevtug'>[true_name] has weakened and will need to recover before manifesting again!</span>")
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/try_emerge()
|
||||
if(!host)
|
||||
to_chat(src, "<span class='warning'>You don't have a host!</span>")
|
||||
return FALSE
|
||||
if(!GLOB.ratvar_awakens)
|
||||
var/resulthealth = round((host.health / host.maxHealth) * 100, 0.5)
|
||||
if(iscarbon(host))
|
||||
resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)
|
||||
if(host.stat != DEAD && resulthealth > GUARDIAN_EMERGE_THRESHOLD) //if above 20 health, fails
|
||||
to_chat(src, "<span class='warning'>Your host must be at [GUARDIAN_EMERGE_THRESHOLD]% or less health to emerge like this!</span>")
|
||||
return FALSE
|
||||
return emerge_from_host(FALSE)
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/emerge_from_host(hostchosen, force) //Notice that this is a proc rather than a verb - guardians can NOT exit at will, but they CAN return
|
||||
if(!is_in_host())
|
||||
return FALSE
|
||||
if(!force && recovering)
|
||||
if(hostchosen)
|
||||
to_chat(host, "<span class='sevtug'>[true_name] is too weak to come forth!</span>")
|
||||
else
|
||||
to_chat(host, "<span class='sevtug'>[true_name] tries to emerge to protect you, but it's too weak!</span>")
|
||||
to_chat(src, "<span class='userdanger'>You try to come forth, but you're too weak!</span>")
|
||||
return FALSE
|
||||
if(!force)
|
||||
if(hostchosen) //guardian approved
|
||||
to_chat(host, "<span class='sevtug'>Your words echo with power as [true_name] emerges from your body!</span>")
|
||||
else
|
||||
to_chat(host, "<span class='sevtug'>[true_name] emerges from your body to protect you!</span>")
|
||||
forceMove(host.loc)
|
||||
visible_message("<span class='warning'>[host]'s skin glows red as [name] emerges from their body!</span>", "<span class='sevtug_small'>You exit the safety of [host]'s body!</span>")
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/get_alt_name()
|
||||
return " ([text2ratvar(true_name)])"
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/is_in_host() //Checks if the guardian is inside of their host
|
||||
return host && loc == host
|
||||
|
||||
//HOST ACTIONS
|
||||
|
||||
//Summon guardian action: Calls forth or recalls your guardian
|
||||
/datum/action/innate/summon_guardian
|
||||
name = "Force Guardian to Emerge/Recall"
|
||||
desc = "Allows you to force your clockwork guardian to emerge or recall as required."
|
||||
button_icon_state = "clockwork_marauder"
|
||||
background_icon_state = "bg_clock"
|
||||
check_flags = AB_CHECK_CONSCIOUS
|
||||
buttontooltipstyle = "clockcult"
|
||||
var/mob/living/simple_animal/hostile/clockwork/marauder/guardian/linked_guardian
|
||||
var/list/defend_phrases = list("Defend me", "Come forth", "Assist me", "Protect me", "Give aid", "Help me")
|
||||
var/list/return_phrases = list("Return", "Return to me", "Your job is done", "You have served", "Come back", "Retreat")
|
||||
|
||||
/datum/action/innate/summon_guardian/IsAvailable()
|
||||
if(!linked_guardian)
|
||||
return FALSE
|
||||
if(isliving(owner))
|
||||
var/mob/living/L = owner
|
||||
if(!L.can_speak_vocal() || L.stat)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/datum/action/innate/summon_guardian/Activate()
|
||||
if(linked_guardian.is_in_host())
|
||||
clockwork_say(owner, text2ratvar("[pick(defend_phrases)], [linked_guardian.true_name]!"))
|
||||
linked_guardian.emerge_from_host(TRUE)
|
||||
else
|
||||
clockwork_say(owner, text2ratvar("[pick(return_phrases)], [linked_guardian.true_name]!"))
|
||||
linked_guardian.return_to_host()
|
||||
return TRUE
|
||||
|
||||
//Linked Minds action: talks to your guardian
|
||||
/datum/action/innate/linked_minds
|
||||
name = "Linked Minds"
|
||||
desc = "Allows you to silently communicate with your guardian."
|
||||
button_icon_state = "linked_minds"
|
||||
background_icon_state = "bg_clock"
|
||||
check_flags = AB_CHECK_CONSCIOUS
|
||||
buttontooltipstyle = "clockcult"
|
||||
var/mob/living/simple_animal/hostile/clockwork/marauder/guardian/linked_guardian
|
||||
|
||||
/datum/action/innate/linked_minds/IsAvailable()
|
||||
if(!linked_guardian)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/datum/action/innate/linked_minds/Activate()
|
||||
var/message = stripped_input(owner, "Enter a message to tell your guardian.", "Telepathy")
|
||||
if(!owner || !message)
|
||||
return FALSE
|
||||
if(!linked_guardian)
|
||||
to_chat(owner, "<span class='warning'>Your guardian seems to have been destroyed!</span>")
|
||||
return FALSE
|
||||
var/name_part = "<span class='sevtug'>Servant [findtextEx(owner.name, owner.real_name) ? "[owner.name]" : "[owner.real_name] (as [owner.name])"]</span>"
|
||||
message = "<span class='sevtug_small'>\"[message]\"</span>" //Processed output
|
||||
to_chat(owner, "[name_part]<span class='sevtug_small'>:</span> [message]")
|
||||
to_chat(linked_guardian, "[name_part]<span class='sevtug_small'>:</span> [message]")
|
||||
for(var/M in GLOB.mob_list)
|
||||
if(isobserver(M))
|
||||
var/link = FOLLOW_LINK(M, src)
|
||||
to_chat(M, "[link] [name_part] <span class='sevtug_small'>(to</span> <span class='sevtug'>[linked_guardian] ([linked_guardian.true_name])</span><span class='sevtug_small'>):</span> [message]")
|
||||
return TRUE
|
||||
|
||||
@@ -5,7 +5,7 @@ Pieces of scripture require certain follower counts, contruction value, and acti
|
||||
Drivers: Unlocked by default
|
||||
Scripts: 35k power or one convert
|
||||
Applications: 50k or three converts
|
||||
Judgement 5 converts
|
||||
Judgement 80k power or nine converts
|
||||
*/
|
||||
|
||||
/datum/clockwork_scripture
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
tier = SCRIPTURE_APPLICATION
|
||||
one_per_tile = TRUE
|
||||
primary_component = HIEROPHANT_ANSIBLE
|
||||
sort_priority = 1
|
||||
sort_priority = 2
|
||||
important = TRUE
|
||||
quickbind = TRUE
|
||||
quickbind_desc = "Creates a Sigil of Transmission, which can drain and will store power for clockwork structures."
|
||||
@@ -72,7 +72,7 @@
|
||||
tier = SCRIPTURE_APPLICATION
|
||||
one_per_tile = TRUE
|
||||
primary_component = HIEROPHANT_ANSIBLE
|
||||
sort_priority = 2
|
||||
sort_priority = 5
|
||||
quickbind = TRUE
|
||||
quickbind_desc = "Creates a Mania Motor, which causes minor damage and negative mental effects in non-Servants."
|
||||
requires_full_power = TRUE
|
||||
@@ -101,7 +101,7 @@
|
||||
|
||||
//Memory Allocation: Finds a willing ghost and makes them into a clockwork guardian for the invoker.
|
||||
/datum/clockwork_scripture/memory_allocation
|
||||
descname = "Personal Guardian, A Peice Of Your Mind."
|
||||
descname = "Personal Guardian housed in the brain."
|
||||
name = "Memory Allocation"
|
||||
desc = "Allocates part of your consciousness to a Clockwork Guardian, a variant of Marauder that lives within you, able to be \
|
||||
called forth by Speaking its True Name or if you become exceptionally low on health.<br>\
|
||||
@@ -109,13 +109,13 @@
|
||||
invocations = list("Fright's will...", "...call forth...")
|
||||
channel_time = 100
|
||||
power_cost = 8000
|
||||
usage_tip = "guardians are useful as personal bodyguards and frontline warriors."
|
||||
usage_tip = "Guardians are useful as personal bodyguards and frontline warriors."
|
||||
tier = SCRIPTURE_APPLICATION
|
||||
primary_component = GEIS_CAPACITOR
|
||||
sort_priority = 5
|
||||
sort_priority = 6
|
||||
|
||||
/datum/clockwork_scripture/memory_allocation/check_special_requirements()
|
||||
for(var/mob/living/simple_animal/hostile/clockwork/marauder/guardian/M in GLOB.all_clockwork_mobs)
|
||||
for(var/mob/living/simple_animal/hostile/clockwork/guardian/M in GLOB.all_clockwork_mobs)
|
||||
if(M.host == invoker)
|
||||
to_chat(invoker, "<span class='warning'>You can only house one guardian at a time!</span>")
|
||||
return FALSE
|
||||
@@ -151,7 +151,7 @@
|
||||
return FALSE
|
||||
clockwork_say(invoker, text2ratvar("...sword and shield!"))
|
||||
var/mob/dead/observer/theghost = pick(marauder_candidates)
|
||||
var/mob/living/simple_animal/hostile/clockwork/marauder/guardian/M = new(invoker)
|
||||
var/mob/living/simple_animal/hostile/clockwork/guardian/M = new(invoker)
|
||||
M.key = theghost.key
|
||||
M.bind_to_host(invoker)
|
||||
invoker.visible_message("<span class='warning'>The tendril retracts from [invoker]'s head, sealing the entry wound as it does so!</span>", \
|
||||
@@ -171,7 +171,7 @@
|
||||
tier = SCRIPTURE_APPLICATION
|
||||
one_per_tile = TRUE
|
||||
primary_component = BELLIGERENT_EYE
|
||||
sort_priority = 6
|
||||
sort_priority = 7
|
||||
quickbind = TRUE
|
||||
quickbind_desc = "Creates a clockwork marauder, used for frontline combat."
|
||||
object_path = /obj/item/clockwork/construct_chassis/clockwork_marauder
|
||||
@@ -223,7 +223,7 @@
|
||||
object_path = /obj/mecha/combat/neovgre
|
||||
tier = SCRIPTURE_APPLICATION
|
||||
primary_component = BELLIGERENT_EYE
|
||||
sort_priority = 7
|
||||
sort_priority = 8
|
||||
creator_message = "<span class='brass'>Neovgre, the Anima Bulwark towers over you... your enemies reckoning has come.</span>"
|
||||
|
||||
/datum/clockwork_scripture/create_object/summon_arbiter/check_special_requirements()
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
usage_tip = "The gateway is completely vulnerable to attack during its five-minute duration. It will periodically give indication of its general position to everyone on the station \
|
||||
as well as being loud enough to be heard throughout the entire sector. Defend it with your life!"
|
||||
tier = SCRIPTURE_APPLICATION
|
||||
sort_priority = 8
|
||||
sort_priority = 1
|
||||
requires_full_power = TRUE
|
||||
|
||||
/datum/clockwork_scripture/create_object/ark_of_the_clockwork_justiciar/check_special_requirements()
|
||||
|
||||
+1
-1
@@ -81,7 +81,7 @@
|
||||
priority_announce("Massive [Gibberish("bluespace", 100)] anomaly detected on all frequencies. All crew are directed to \
|
||||
@!$, [text2ratvar("PURGE ALL UNTRUTHS")] <&. the anomalies and destroy their source to prevent further damage to corporate property. This is \
|
||||
not a drill.", "Central Command Higher Dimensional Affairs", 'sound/magic/clockwork/ark_activation_sequence.ogg')
|
||||
set_security_level("delta")
|
||||
set_security_level("Delta")
|
||||
for(var/V in SSticker.mode.servants_of_ratvar)
|
||||
var/datum/mind/M = V
|
||||
if(!M || !M.current)
|
||||
|
||||
+33
-1
@@ -29,8 +29,9 @@
|
||||
sound_to_playing_players('sound/effects/ratvar_reveal.ogg')
|
||||
var/mutable_appearance/alert_overlay = mutable_appearance('icons/effects/clockwork_effects.dmi', "ratvar_alert")
|
||||
notify_ghosts("The Justiciar's light calls to you! Reach out to Ratvar in [get_area_name(src)] to be granted a shell to spread his glory!", null, source = src, alert_overlay = alert_overlay)
|
||||
INVOKE_ASYNC(SSshuttle.emergency, /obj/docking_port/mobile/emergency.proc/request, null, 10, null, FALSE, 0)
|
||||
SSpersistence.station_was_destroyed = TRUE
|
||||
INVOKE_ASYNC(src, .proc/purge_the_heresy)
|
||||
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/ratvar/Destroy()
|
||||
GLOB.ratvar_awakens--
|
||||
@@ -151,3 +152,34 @@
|
||||
sound_to_playing_players('sound/machines/clockcult/ratvar_scream.ogg', 80)
|
||||
narsie.clashing = FALSE
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/ratvar/proc/purge_the_heresy()
|
||||
sleep(50)
|
||||
priority_announce("Massive energy surge detected. Closest matching threat: Incoming supernova. All crew are advised to evacuate NAN lightyears away from blast zone","Central Command Higher Dimensional Affairs", 'sound/misc/airraid.ogg')
|
||||
sleep(300)
|
||||
priority_announce("Gravitational anomalies detected on the station. [Gibberish("There is no additional dat", 100)]-BZZZZZT.","Central Command Higher Dimensional Affairs", 'sound/magic/clockwork/ratvar_announce1.ogg')
|
||||
sleep(80)
|
||||
sound_to_playing_players('sound/magic/clockwork/ratvar_announce2.ogg', 70)
|
||||
send_to_playing_players("<span class='heavy_brass'><font size=5>\"COME, ALL THOSE FAITHFUL! WITNESS THE RAYS OF JUSTICE CAST UPON THE HERETICS!\"</font></span>")
|
||||
sleep(50)
|
||||
SSshuttle.registerHostileEnvironment(src)
|
||||
SSshuttle.lockdown = TRUE
|
||||
sleep(250)
|
||||
if(QDELETED(src))
|
||||
priority_announce("Energy signal no longer detected.","Central Command Higher Dimensional Affairs")
|
||||
return
|
||||
sound_to_playing_players('sound/magic/clockwork/ark_activation_sequence.ogg', 80) //if this isn't lessened in volume it peaks for some reason
|
||||
addtimer(CALLBACK(GLOBAL_PROC, /proc/clockcult_ending_helper), 300)
|
||||
|
||||
/proc/clockcult_ending_helper()
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(M.client)
|
||||
SEND_SOUND(M, sound('sound/magic/clockwork/ratvar_attack.ogg'))
|
||||
SEND_SOUND(M, sound('sound/magic/clockwork/ratvarfire.ogg'))
|
||||
if(!is_servant_of_ratvar(M) && isliving(M))
|
||||
var/mob/living/L = M
|
||||
L.fire_stacks = INFINITY
|
||||
L.IgniteMob()
|
||||
sleep(50)
|
||||
SSticker.force_ending = 1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/structure/destructible/clockwork/reflector
|
||||
name = "reflector"
|
||||
desc = "A large lantern-shaped machine made of thin brass. It looks fragile."
|
||||
clockwork_desc = "A lantern-shaped generator that produces power when near starlight."
|
||||
desc = "A large mirror-like structure made of thin brass on one side. It looks fragile."
|
||||
clockwork_desc = "A large mirror-like structure made of thin brass on one side. It can redirect laser fire on one side"
|
||||
icon_state = "reflector"
|
||||
unanchored_icon = "reflector_unwrenched"
|
||||
max_integrity = 40
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
antagpanel_category = "Clockcult"
|
||||
job_rank = ROLE_SERVANT_OF_RATVAR
|
||||
antag_moodlet = /datum/mood_event/cult
|
||||
skill_modifiers = list(/datum/skill_modifier/job/level/wiring)
|
||||
skill_modifiers = list(/datum/skill_modifier/job/level/wiring, /datum/skill_modifier/job/level/dwarfy/blacksmithing)
|
||||
var/datum/action/innate/hierophant/hierophant_network = new
|
||||
threat = 3
|
||||
var/datum/team/clockcult/clock_team
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
if(choice == "Yes" && IsAvailable())
|
||||
var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
||||
if(!C.cult_team)
|
||||
to_chat(owner, "<span class='cult bold'>Do you not alreaady lead yourself?</span>")
|
||||
to_chat(owner, "<span class='cult bold'>Do you not already lead yourself?</span>")
|
||||
return
|
||||
pollCultists(owner,C.cult_team)
|
||||
|
||||
|
||||
@@ -25,9 +25,9 @@
|
||||
to_chat(owner, "<span class='boldannounce'>You are the Heretic!</span><br>\
|
||||
<B>The old ones gave you these tasks to fulfill:</B>")
|
||||
owner.announce_objectives()
|
||||
to_chat(owner, "<span class='cult'>The book whispers, the forbidden knowledge walks once again!<br>\
|
||||
Your book allows you to research abilities, but be careful, you cannot undo what has been done.<br>\
|
||||
You gain charges by either collecting influences or sacrificing people tracked by the living heart<br> \
|
||||
to_chat(owner, "<span class='cult'>The book whispers softly, its forbidden knowledge walks this plane once again!<br>\
|
||||
Your book allows you to research abilities. Read it very carefully, for you cannot undo what has been done!<br>\
|
||||
You gain charges by either collecting influences or sacrificing people tracked by the living heart.<br> \
|
||||
You can find a basic guide at : https://tgstation13.org/wiki/Heresy_101 </span>")
|
||||
|
||||
/datum/antagonist/heretic/on_gain()
|
||||
@@ -39,7 +39,6 @@
|
||||
gain_knowledge(/datum/eldritch_knowledge/spell/basic)
|
||||
gain_knowledge(/datum/eldritch_knowledge/living_heart)
|
||||
gain_knowledge(/datum/eldritch_knowledge/codex_cicatrix)
|
||||
gain_knowledge(/datum/eldritch_knowledge/eldritch_blade)
|
||||
current.log_message("has been converted to the cult of the forgotten ones!", LOG_ATTACK, color="#960000")
|
||||
GLOB.reality_smash_track.AddMind(owner)
|
||||
START_PROCESSING(SSprocessing,src)
|
||||
@@ -59,6 +58,8 @@
|
||||
GLOB.reality_smash_track.RemoveMind(owner)
|
||||
STOP_PROCESSING(SSprocessing,src)
|
||||
|
||||
on_death()
|
||||
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -90,15 +91,25 @@
|
||||
|
||||
/datum/antagonist/heretic/process()
|
||||
|
||||
if(owner.current.stat == DEAD)
|
||||
return
|
||||
|
||||
for(var/X in researched_knowledge)
|
||||
var/datum/eldritch_knowledge/EK = researched_knowledge[X]
|
||||
EK.on_life(owner.current)
|
||||
|
||||
///What happens to the heretic once he dies, used to remove any custom perks
|
||||
/datum/antagonist/heretic/proc/on_death()
|
||||
|
||||
for(var/X in researched_knowledge)
|
||||
var/datum/eldritch_knowledge/EK = researched_knowledge[X]
|
||||
EK.on_death(owner.current)
|
||||
|
||||
/datum/antagonist/heretic/proc/forge_primary_objectives()
|
||||
var/list/assasination = list()
|
||||
var/list/protection = list()
|
||||
for(var/i in 1 to 2)
|
||||
var/pck = pick("assasinate","protect")
|
||||
var/pck = pick("assasinate")
|
||||
switch(pck)
|
||||
if("assasinate")
|
||||
var/datum/objective/assassinate/once/A = new
|
||||
@@ -107,13 +118,6 @@
|
||||
A.find_target(owners,protection)
|
||||
assasination += A.target
|
||||
objectives += A
|
||||
if("protect")
|
||||
var/datum/objective/protect/P = new
|
||||
P.owner = owner
|
||||
var/list/owners = P.get_owners()
|
||||
P.find_target(owners,assasination)
|
||||
protection += P.target
|
||||
objectives += P
|
||||
|
||||
var/datum/objective/sacrifice_ecult/SE = new
|
||||
SE.owner = owner
|
||||
@@ -126,7 +130,7 @@
|
||||
if(mob_override)
|
||||
current = mob_override
|
||||
add_antag_hud(antag_hud_type, antag_hud_name, current)
|
||||
handle_clown_mutation(current, mob_override ? null : "Knowledge described in the book allowed you to overcome your clownish nature, allowing you to use complex items effectively.")
|
||||
handle_clown_mutation(current, mob_override ? null : "Ancient knowledge described in the book allows you to overcome your clownish nature, allowing you to use complex items effectively.")
|
||||
current.faction |= "heretics"
|
||||
|
||||
/datum/antagonist/heretic/remove_innate_effects(mob/living/mob_override)
|
||||
@@ -161,7 +165,7 @@
|
||||
cultiewin = FALSE
|
||||
count++
|
||||
if(ascended)
|
||||
parts += "<span class='greentext big'>HERETIC HAS ASCENDED!</span>"
|
||||
parts += "<span class='greentext big'>THE HERETIC ASCENDED!</span>"
|
||||
else
|
||||
if(cultiewin)
|
||||
parts += "<span class='greentext'>The heretic was successful!</span>"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/item/forbidden_book
|
||||
name = "Codex Cicatrix"
|
||||
desc = "Book describing the secrets of the veil."
|
||||
desc = "This book describes the secrets of the veil between worlds."
|
||||
icon = 'icons/obj/eldritch.dmi'
|
||||
icon_state = "codex"
|
||||
item_state = "codex"
|
||||
@@ -74,8 +74,8 @@
|
||||
last_user = user
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
icon_state = "book_open"
|
||||
flick("book_opening", src)
|
||||
icon_state = "codex_open"
|
||||
flick("codex_opening", src)
|
||||
ui = new(user, src, "ForbiddenLore", name)
|
||||
ui.open()
|
||||
|
||||
@@ -133,13 +133,13 @@
|
||||
if(initial(EK.name) != ekname)
|
||||
continue
|
||||
if(cultie.gain_knowledge(EK))
|
||||
charge -= text2num(params["cost"])
|
||||
charge -= initial(EK.cost)
|
||||
return TRUE
|
||||
|
||||
update_icon() // Not applicable to all objects.
|
||||
|
||||
/obj/item/forbidden_book/ui_close(mob/user)
|
||||
flick("book_closing",src)
|
||||
flick("codex_closing",src)
|
||||
icon_state = initial(icon_state)
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/effect/eldritch
|
||||
name = "Generic rune"
|
||||
desc = "Weird combination of shapes and symbols etched into the floor itself. The indentation is filled with thick black tar-like fluid."
|
||||
desc = "A flowing circle of shapes and runes is etched into the floor, filled with a thick black tar-like fluid."
|
||||
anchored = TRUE
|
||||
icon_state = ""
|
||||
resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||
@@ -14,7 +14,7 @@
|
||||
I.override = TRUE
|
||||
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/silicons, "heretic_rune", I)
|
||||
|
||||
/obj/effect/eldritch/attack_hand(mob/living/user)
|
||||
/obj/effect/eldritch/attack_hand(mob/living/user, list/modifiers)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
@@ -81,7 +81,7 @@
|
||||
continue
|
||||
|
||||
flick("[icon_state]_active",src)
|
||||
playsound(user, 'sound/magic/castsummon.ogg', 75, TRUE)
|
||||
playsound(user, 'sound/magic/castsummon.ogg', 75, TRUE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_exponent = 10)
|
||||
//we are doing this since some on_finished_recipe subtract the atoms from selected_atoms making them invisible permanently.
|
||||
var/list/atoms_to_disappear = selected_atoms.Copy()
|
||||
for(var/to_disappear in atoms_to_disappear)
|
||||
@@ -90,31 +90,31 @@
|
||||
atom_to_disappear.invisibility = INVISIBILITY_ABSTRACT
|
||||
if(current_eldritch_knowledge.on_finished_recipe(user,selected_atoms,loc))
|
||||
current_eldritch_knowledge.cleanup_atoms(selected_atoms)
|
||||
is_in_use = FALSE
|
||||
|
||||
for(var/to_appear in atoms_to_disappear)
|
||||
var/atom/atom_to_appear = to_appear
|
||||
//we need to reappear the item just in case the ritual didnt consume everything... or something.
|
||||
atom_to_appear.invisibility = initial(atom_to_appear.invisibility)
|
||||
|
||||
is_in_use = FALSE
|
||||
return
|
||||
is_in_use = FALSE
|
||||
to_chat(user,"<span class='warning'>Your ritual failed! You used either wrong components or are missing something important!</span>")
|
||||
to_chat(user,"<span class='warning'>Your ritual failed! You either used the wrong components or are missing something important!</span>")
|
||||
|
||||
/obj/effect/eldritch/big
|
||||
name = "transmutation circle"
|
||||
name = "transmutation rune"
|
||||
icon = 'icons/effects/96x96.dmi'
|
||||
icon_state = "eldritch_rune1"
|
||||
pixel_x = -32 //So the big ol' 96x96 sprite shows up right
|
||||
pixel_y = -32
|
||||
|
||||
/**
|
||||
* #Reality smash tracker
|
||||
*
|
||||
* Stupid fucking list holder, DONT create new ones, it will break the game, this is automnatically created whenever eldritch cultists are created.
|
||||
*
|
||||
* Tracks relevant data, generates relevant data, useful tool
|
||||
*/
|
||||
* #Reality smash tracker
|
||||
*
|
||||
* Stupid fucking list holder, DONT create new ones, it will break the game, this is automnatically created whenever eldritch cultists are created.
|
||||
*
|
||||
* Tracks relevant data, generates relevant data, useful tool
|
||||
*/
|
||||
/datum/reality_smash_tracker
|
||||
///list of tracked reality smashes
|
||||
var/list/smashes = list()
|
||||
@@ -127,12 +127,11 @@
|
||||
QDEL_LIST(smashes)
|
||||
targets.Cut()
|
||||
return ..()
|
||||
|
||||
/**
|
||||
* Automatically fixes the target and smash network
|
||||
*
|
||||
* Fixes any bugs that are caused by late Generate() or exchanging clients
|
||||
*/
|
||||
* Automatically fixes the target and smash network
|
||||
*
|
||||
* Fixes any bugs that are caused by late Generate() or exchanging clients
|
||||
*/
|
||||
/datum/reality_smash_tracker/proc/ReworkNetwork()
|
||||
listclearnulls(smashes)
|
||||
for(var/mind in targets)
|
||||
@@ -144,52 +143,51 @@
|
||||
reality_smash.AddMind(mind)
|
||||
|
||||
/**
|
||||
* Generates a set amount of reality smashes based on the N value
|
||||
*
|
||||
* Automatically creates more reality smashes
|
||||
*/
|
||||
/datum/reality_smash_tracker/proc/_Generate()
|
||||
* Generates a set amount of reality smashes based on the N value
|
||||
*
|
||||
* Automatically creates more reality smashes
|
||||
*/
|
||||
/datum/reality_smash_tracker/proc/Generate(mob/caller)
|
||||
if(istype(caller))
|
||||
targets += caller
|
||||
var/targ_len = length(targets)
|
||||
var/smash_len = length(smashes)
|
||||
var/number = targ_len * 6 - smash_len
|
||||
var/number = max(targ_len * (6-(targ_len-1)) - smash_len,1)
|
||||
|
||||
for(var/i in 0 to number)
|
||||
|
||||
var/turf/chosen_location = get_safe_random_station_turf()
|
||||
|
||||
//we also dont want them close to each other, at least 1 tile of seperation
|
||||
var/obj/effect/reality_smash/what_if_i_have_one = locate() in range(1, chosen_location)
|
||||
var/obj/effect/broken_illusion/what_if_i_had_one_but_got_used = locate() in range(1, chosen_location)
|
||||
if(what_if_i_have_one || what_if_i_had_one_but_got_used) //we dont want to spawn
|
||||
continue
|
||||
var/obj/effect/reality_smash/RS = new/obj/effect/reality_smash(chosen_location)
|
||||
smashes += RS
|
||||
new /obj/effect/reality_smash(chosen_location)
|
||||
ReworkNetwork()
|
||||
|
||||
|
||||
/**
|
||||
* Adds a mind to the list of people that can see the reality smashes
|
||||
*
|
||||
* Use this whenever you want to add someone to the list
|
||||
*/
|
||||
/datum/reality_smash_tracker/proc/AddMind(var/datum/mind/M)
|
||||
RegisterSignal(M.current,COMSIG_MOB_CLIENT_LOGIN,.proc/ReworkNetwork)
|
||||
targets |= M
|
||||
_Generate()
|
||||
for(var/X in smashes)
|
||||
var/obj/effect/reality_smash/reality_smash = X
|
||||
reality_smash.AddMind(M)
|
||||
* Adds a mind to the list of people that can see the reality smashes
|
||||
*
|
||||
* Use this whenever you want to add someone to the list
|
||||
*/
|
||||
/datum/reality_smash_tracker/proc/AddMind(datum/mind/e_cultists)
|
||||
RegisterSignal(e_cultists.current,COMSIG_MOB_CLIENT_LOGIN,.proc/ReworkNetwork)
|
||||
targets |= e_cultists
|
||||
Generate()
|
||||
for(var/obj/effect/reality_smash/reality_smash in smashes)
|
||||
reality_smash.AddMind(e_cultists)
|
||||
|
||||
|
||||
/**
|
||||
* Removes a mind from the list of people that can see the reality smashes
|
||||
*
|
||||
* Use this whenever you want to remove someone from the list
|
||||
*/
|
||||
/datum/reality_smash_tracker/proc/RemoveMind(var/datum/mind/M)
|
||||
UnregisterSignal(M.current,COMSIG_MOB_CLIENT_LOGIN)
|
||||
targets -= M
|
||||
for(var/obj/effect/reality_smash/RS in smashes)
|
||||
RS.RemoveMind(M)
|
||||
* Removes a mind from the list of people that can see the reality smashes
|
||||
*
|
||||
* Use this whenever you want to remove someone from the list
|
||||
*/
|
||||
/datum/reality_smash_tracker/proc/RemoveMind(datum/mind/e_cultists)
|
||||
UnregisterSignal(e_cultists.current,COMSIG_MOB_CLIENT_LOGIN)
|
||||
targets -= e_cultists
|
||||
for(var/obj/effect/reality_smash/reality_smash in smashes)
|
||||
reality_smash.RemoveMind(e_cultists)
|
||||
|
||||
/obj/effect/broken_illusion
|
||||
name = "pierced reality"
|
||||
@@ -198,66 +196,67 @@
|
||||
anchored = TRUE
|
||||
resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||
alpha = 0
|
||||
invisibility = INVISIBILITY_OBSERVER
|
||||
|
||||
/obj/effect/broken_illusion/Initialize()
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/show_presence), 15 SECONDS)
|
||||
var/image/I = image(icon = 'icons/effects/eldritch.dmi', icon_state = null, loc = src)
|
||||
addtimer(CALLBACK(src,.proc/show_presence),15 SECONDS)
|
||||
|
||||
var/image/I = image('icons/effects/eldritch.dmi',src,null,OBJ_LAYER)
|
||||
I.override = TRUE
|
||||
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/silicons, "pierced_reality", I)
|
||||
|
||||
///Makes this obj appear out of nothing
|
||||
/obj/effect/broken_illusion/proc/show_presence()
|
||||
invisibility = 0
|
||||
animate(src, alpha = 255, time = 15 SECONDS)
|
||||
animate(src,alpha = 255,time = 15 SECONDS)
|
||||
|
||||
/obj/effect/broken_illusion/attack_hand(mob/living/user)
|
||||
/obj/effect/broken_illusion/attack_hand(mob/living/user, list/modifiers)
|
||||
if(!ishuman(user))
|
||||
return ..()
|
||||
var/mob/living/carbon/human/human_user = user
|
||||
if(IS_HERETIC(human_user))
|
||||
to_chat(human_user,"<span class='boldwarning'>You know better than to tempt forces out of your control.</span>")
|
||||
to_chat(human_user,"<span class='boldwarning'>You know better than to tempt forces out of your control!</span>")
|
||||
else
|
||||
var/obj/item/bodypart/arm = human_user.get_active_hand()
|
||||
if(prob(25))
|
||||
to_chat(human_user,"<span class='userdanger'>An otherwordly presence tears your arm apart into atoms as you try to touch the hole in the very fabric of reality!</span>")
|
||||
to_chat(human_user,"<span class='userdanger'>An otherwordly presence tears and atomizes your arm as you try to touch the hole in the very fabric of reality!</span>")
|
||||
arm.dismember()
|
||||
qdel(arm)
|
||||
else
|
||||
to_chat(human_user,"<span class='danger'>You pull your hand away from the hole as eldritch energy flails out, trying to latch onto existence itself!</span>")
|
||||
to_chat(human_user,"<span class='danger'>You pull your hand away from the hole as the eldritch energy flails trying to latch onto existance itself!</span>")
|
||||
|
||||
|
||||
/obj/effect/broken_illusion/attack_tk(mob/user)
|
||||
if(!ishuman(user))
|
||||
return
|
||||
var/mob/living/carbon/human/human_user = user
|
||||
if(IS_HERETIC(human_user))
|
||||
to_chat(human_user,"<span class='boldwarning'>You know better than to tempt forces out of your control.</span>")
|
||||
to_chat(human_user,"<span class='boldwarning'>You know better than to tempt forces out of your control!</span>")
|
||||
return
|
||||
//a very elaborate way to suicide
|
||||
to_chat(human_user,"<span class='userdanger'>Eldritch energy lashes out, piercing your fragile mind, tearing it to pieces!</span>")
|
||||
human_user.ghostize()
|
||||
var/obj/item/bodypart/head/head = locate() in human_user.bodyparts
|
||||
if(head)
|
||||
head.dismember()
|
||||
qdel(head)
|
||||
else
|
||||
//a very elaborate way to suicide
|
||||
to_chat(human_user,"<span class='userdanger'>Eldritch energy lashes out, piercing your fragile mind, tearing it to pieces!</span>")
|
||||
human_user.ghostize()
|
||||
var/obj/item/bodypart/head/head = locate() in human_user.bodyparts
|
||||
if(head)
|
||||
head.dismember()
|
||||
qdel(head)
|
||||
else
|
||||
human_user.gib()
|
||||
human_user.gib()
|
||||
|
||||
var/datum/effect_system/reagents_explosion/explosion = new()
|
||||
explosion.set_up(1, get_turf(human_user), TRUE, 0)
|
||||
explosion.start()
|
||||
|
||||
var/datum/effect_system/reagents_explosion/explosion = new()
|
||||
explosion.set_up(1, get_turf(human_user), 1, 0)
|
||||
explosion.start()
|
||||
|
||||
/obj/effect/broken_illusion/examine(mob/user)
|
||||
. = ..()
|
||||
if(!IS_HERETIC(user) && ishuman(user))
|
||||
var/mob/living/carbon/human/human_user = user
|
||||
to_chat(human_user,"<span class='userdanger'>Your brain hurts when you look at this!</span>")
|
||||
human_user.adjustOrganLoss(ORGAN_SLOT_BRAIN,20,190)
|
||||
to_chat(human_user,"<span class='warning'>Your mind burns as you stare at the tear!</span>")
|
||||
human_user.adjustOrganLoss(ORGAN_SLOT_BRAIN,10,190)
|
||||
SEND_SIGNAL(human_user, COMSIG_ADD_MOOD_EVENT, "gates_of_mansus", /datum/mood_event/gates_of_mansus)
|
||||
log_game("[key_name(user)] stared at a pierced reality at [AREACOORD(user)]")
|
||||
|
||||
/obj/effect/reality_smash
|
||||
name = "/improper reality smash"
|
||||
name = "reality smash"
|
||||
icon = 'icons/effects/eldritch.dmi'
|
||||
anchored = TRUE
|
||||
resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||
@@ -271,44 +270,41 @@
|
||||
|
||||
/obj/effect/reality_smash/Initialize()
|
||||
. = ..()
|
||||
GLOB.reality_smash_track.smashes += src
|
||||
img = image(icon, src, image_state, OBJ_LAYER)
|
||||
generate_name()
|
||||
|
||||
/obj/effect/reality_smash/Destroy()
|
||||
GLOB.reality_smash_track.smashes -= src
|
||||
on_destroy()
|
||||
return ..()
|
||||
|
||||
///Custom effect that happens on destruction
|
||||
/obj/effect/reality_smash/proc/on_destroy()
|
||||
for(var/cm in minds)
|
||||
var/datum/mind/cultie = cm
|
||||
if(cultie.current?.client)
|
||||
cultie.current.client.images -= img
|
||||
for(var/e_cultists in minds)
|
||||
var/datum/mind/e_cultie = e_cultists
|
||||
if(e_cultie.current?.client)
|
||||
e_cultie.current.client.images -= img
|
||||
//clear the list
|
||||
minds -= cultie
|
||||
GLOB.reality_smash_track.smashes -= src
|
||||
minds -= e_cultie
|
||||
img = null
|
||||
new /obj/effect/broken_illusion(drop_location())
|
||||
var/obj/effect/broken_illusion/illusion = new /obj/effect/broken_illusion(drop_location())
|
||||
illusion.name = pick("Researched","Siphoned","Analyzed","Emptied","Drained") + " " + name
|
||||
|
||||
///Makes the mind able to see this effect
|
||||
/obj/effect/reality_smash/proc/AddMind(var/datum/mind/cultie)
|
||||
minds |= cultie
|
||||
if(cultie.current.client)
|
||||
cultie.current.client.images |= img
|
||||
|
||||
|
||||
/obj/effect/reality_smash/proc/AddMind(datum/mind/e_cultie)
|
||||
minds |= e_cultie
|
||||
if(e_cultie.current.client)
|
||||
e_cultie.current.client.images |= img
|
||||
|
||||
///Makes the mind not able to see this effect
|
||||
/obj/effect/reality_smash/proc/RemoveMind(var/datum/mind/cultie)
|
||||
minds -= cultie
|
||||
if(cultie.current.client)
|
||||
cultie.current.client.images -= img
|
||||
|
||||
|
||||
/obj/effect/reality_smash/proc/RemoveMind(datum/mind/e_cultie)
|
||||
minds -= e_cultie
|
||||
if(e_cultie.current.client)
|
||||
e_cultie.current.client.images -= img
|
||||
|
||||
///Generates random name
|
||||
/obj/effect/reality_smash/proc/generate_name()
|
||||
var/static/list/prefix = list("Omniscient","Thundering","Enlightening","Intrusive","Rejectful","Atomized","Subtle","Rising","Lowering","Fleeting","Towering","Blissful","Arrogant","Threatening","Peaceful","Aggressive")
|
||||
var/static/list/postfix = list("Flaw","Presence","Crack","Heat","Cold","Memory","Reminder","Breeze","Grasp","Sight","Whisper","Flow","Touch","Veil","Thought","Imperfection","Blemish","Blush")
|
||||
|
||||
name = pick(prefix) + " " + pick(postfix)
|
||||
name = "\improper" + pick(prefix) + " " + pick(postfix)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user