Merge remote-tracking branch 'refs/remotes/Citadel-Station-13/master' into crewobjectivesandmiscreants

This commit is contained in:
deathride58
2017-09-27 23:44:22 -04:00
619 changed files with 12516 additions and 11883 deletions
+3
View File
@@ -125,6 +125,9 @@ var/path_type = /obj/item/baseball_bat
var/path_type = "/obj/item/baseball_bat"
```
### Use var/name format when declaring variables
While DM allows other ways of declaring variables, this one should be used for consistency.
### Tabs, not spaces
You must use tabs to indent your code, NOT SPACES.
+2 -2
View File
@@ -1,3 +1,3 @@
[Note]: # (<B>Please enter the `Round ID` from the `Status` panel if you can!</B> If you believe the issue to be caused by a testmerge, please report it in its relative PR thread. State what the issue is from a "whats wrong" prospective. Issue reports should clearly allow maintainers to understand whats wrong and how to test/reproduce if that is not obvious. Avoid ambiguity. Start your issue report below both of these lines (or remove them))
[Directions]: # (Include the Round ID from the Status panel or retrieve it from https://atlantaned.space/newSS13tools/round.php ! If you believe the issue to be caused by a testmerge [OOC tab -> Show Server Revision], report it in the pull request's comment section instead. Explain your issue in detail, including the steps to reproduce it.)
[Admins]: # (If you are reporting a bug that occured AFTER you used varedit/admin buttons to alter an object out of normal operating conditions, please verify that you can re-create the bug without the varedit usage/admin buttons before reporting the issue.)
[For Admins]: # (Oddities induced by var-edits and other admin tools are not necessarily bugs. Verify that your issues occur under regular circumstances before reporting them.)
+2 -3
View File
@@ -1,5 +1,4 @@
[Changelogs]: # (Please make a changelog if you're adding, removing or changing content that'll affect players. This includes, but is not limited to, new features, sprites, sounds; balance changes; map edits and important fixes)
[]: # (See here for how to easily make a changelog: https://github.com/tgstation/tgstation/wiki/Changelogs. An example changelog has been provided below. Please edit or remove)
[Changelogs]: # (Please make a changelog if you're adding, removing or changing content that'll affect players. This includes, but is not limited to, new features, sprites, sounds; balance changes; map edits and important fixes. An example changelog has been provided below for you to edit or remove. If you need help, read https://github.com/tgstation/tgstation/wiki/Changelogs)
:cl: optional name here
@@ -18,4 +17,4 @@ spellcheck: fixed a few typos
experiment: added an experimental thingy
/:cl:
[why]: # (Please add a short description [on the next line] of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding:)
[why]: # (Please add a short description [two lines down] of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding.)
+3 -2
View File
@@ -1,7 +1,5 @@
language: generic
sudo: false
dist: precise
env:
global:
- BYOND_MAJOR="511"
@@ -23,12 +21,15 @@ cache:
addons:
apt:
sources:
- sourceline: 'ppa:ondrej/php'
packages:
- libc6-i386
- libgcc1:i386
- libstdc++6:i386
- python
- python-pip
- php5.6
install:
- tools/travis/install_build_tools.sh
@@ -1,4 +1,4 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/template_noop,
/area/template_noop)
@@ -47,7 +47,7 @@
/area/ruin/powered/animal_hospital)
"al" = (
/obj/structure/table/wood,
/obj/item/toy/carpplushie,
/obj/item/toy/plush/carpplushie,
/turf/open/floor/plasteel/cmo,
/area/ruin/powered/animal_hospital)
"am" = (
@@ -166,7 +166,7 @@
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"aF" = (
/obj/machinery/door/unpowered/shuttle{
/obj/machinery/door/airlock/shuttle{
name = "Restroom"
},
/turf/open/floor/plasteel/bar,
@@ -263,6 +263,9 @@
/area/ruin/powered/animal_hospital)
"aX" = (
/obj/item/stack/cable_coil/random,
/obj/item/stack/sheet/mineral/titanium{
amount = 30
},
/turf/open/floor/plating,
/area/ruin/powered/animal_hospital)
"aY" = (
@@ -335,6 +338,9 @@
/area/ruin/powered/animal_hospital)
"bk" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/item/device/flashlight/glowstick/blue,
/obj/item/device/flashlight/glowstick/blue,
/obj/item/device/flashlight/glowstick/blue,
/turf/open/floor/plating,
/area/ruin/powered/animal_hospital)
"bl" = (
@@ -373,16 +379,15 @@
},
/area/ruin/powered/animal_hospital)
"bn" = (
/obj/structure/bed/dogbed,
/obj/machinery/light/small{
dir = 1
/obj/machinery/sleeper{
dir = 4
},
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"bo" = (
/obj/item/reagent_containers/glass/bowl,
/obj/item/reagent_containers/food/snacks/cheesewedge,
/obj/item/reagent_containers/food/snacks/cheesewedge,
/obj/machinery/light/small{
dir = 1
},
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"bp" = (
@@ -420,10 +425,8 @@
},
/area/ruin/powered/animal_hospital)
"bv" = (
/obj/effect/mob_spawn/mouse{
dir = 4;
flavour_text = "<font size=3><b>Y</b></font><b>ou're a mousey! You're getting pretty old as mice go, and you haven't been feeling well as of late. Your master loves you a lot so he took you to this place so you can get better! You can't wait to see him again!<b>";
mob_name = "Stallman Jr."
/obj/effect/mob_spawn/human/doctor/alive/lavaland{
dir = 4
},
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
@@ -433,8 +436,7 @@
/area/ruin/powered/animal_hospital)
"bx" = (
/obj/machinery/door/airlock/medical{
name = "Patient Room";
req_access_txt = "0"
name = "Rejuvenation Pods"
},
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
@@ -468,12 +470,11 @@
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"bD" = (
/obj/structure/table/glass,
/obj/item/reagent_containers/glass/bottle/cyanide{
desc = "A cocktail of chemotherapy drugs intended to treat bladder cancer.";
name = "MVAC regimen"
/mob/living/simple_animal/bot/medbot{
desc = "A little medical robot. It's programmed to only act in emergencies.";
heal_threshold = 40;
name = "emergency Medibot"
},
/obj/item/reagent_containers/syringe,
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"bE" = (
@@ -553,16 +554,12 @@
},
/area/lavaland/surface/outdoors)
"bP" = (
/obj/structure/chair/office/light{
dir = 4
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/table/glass,
/obj/item/storage/firstaid/fire,
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"bQ" = (
/obj/structure/table/glass,
/obj/item/clothing/neck/petcollar,
/obj/item/pen/blue,
/obj/machinery/light/small,
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"bR" = (
@@ -582,6 +579,8 @@
/obj/item/defibrillator/loaded,
/obj/item/storage/belt/medical,
/obj/item/clothing/glasses/hud/health,
/obj/item/clothing/glasses/hud/health,
/obj/item/clothing/glasses/hud/health,
/turf/open/floor/plasteel/blue/side{
dir = 6
},
@@ -664,46 +663,46 @@
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"cg" = (
/obj/machinery/door/unpowered/shuttle{
/obj/machinery/door/airlock/shuttle{
name = "Break Room"
},
/turf/open/floor/plasteel/cmo,
/area/ruin/powered/animal_hospital)
"ch" = (
/obj/machinery/door/unpowered/shuttle{
name = "Emergency Care"
/obj/machinery/door/airlock/shuttle{
name = "Operating Theatre"
},
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"ci" = (
/obj/machinery/door/unpowered/shuttle{
desc = "There's a note wedged in the seam saying something about directing pizza here.";
/obj/structure/fans/tiny/invisible,
/obj/machinery/door/airlock/shuttle{
desc = "There's a smudged note wedged into it that says something about pizza dropoffs.";
name = "Staff Entrance"
},
/obj/structure/fans/tiny/invisible,
/turf/open/floor/plating,
/area/ruin/powered/animal_hospital)
"cj" = (
/obj/machinery/door/unpowered/shuttle{
/obj/machinery/door/airlock/shuttle{
name = "Morgue"
},
/turf/open/floor/plating,
/area/ruin/powered/animal_hospital)
"ck" = (
/obj/machinery/door/unpowered/shuttle{
/obj/machinery/door/airlock/shuttle{
name = "Medical Supplies"
},
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"cl" = (
/obj/machinery/door/unpowered/shuttle{
/obj/machinery/door/airlock/shuttle{
name = "Safety Supplies"
},
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"cm" = (
/obj/machinery/door/unpowered/shuttle{
name = "Tool Storage"
/obj/machinery/door/airlock/shuttle{
name = "Storage"
},
/turf/open/floor/plating,
/area/ruin/powered/animal_hospital)
@@ -811,6 +810,33 @@
/obj/effect/baseturf_helper/lava_land/surface,
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/ruin/powered/animal_hospital)
"cG" = (
/obj/machinery/door/airlock/shuttle{
desc = "There's a smudged note wedged into it that says something about pizza dropoffs.";
name = "Staff Entrance"
},
/turf/open/floor/plasteel/cmo,
/area/ruin/powered/animal_hospital)
"cH" = (
/mob/living/simple_animal/bot/cleanbot,
/turf/open/floor/plasteel/blue/side{
dir = 0
},
/area/ruin/powered/animal_hospital)
"cI" = (
/obj/structure/table/glass,
/obj/item/storage/firstaid/toxin,
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"cJ" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/machinery/light/small{
dir = 8
},
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
(1,1,1) = {"
aa
@@ -1037,7 +1063,7 @@ cw
ae
aV
ba
bh
cI
aG
aL
br
@@ -1092,7 +1118,7 @@ aj
at
as
ae
ct
aL
aK
ck
ao
@@ -1122,7 +1148,7 @@ ak
as
az
ae
aM
cv
aP
ae
ae
@@ -1152,7 +1178,7 @@ al
au
as
ae
ct
aL
aK
cl
ao
@@ -1181,9 +1207,9 @@ ae
am
cs
as
cg
cG
aK
aP
cH
ae
aW
ao
@@ -1249,12 +1275,12 @@ ae
ae
ae
ae
bh
bv
bv
cJ
bn
bv
bC
ae
bn
bN
bP
ae
cE
@@ -1280,10 +1306,10 @@ be
bk
ae
bo
bw
ao
bD
ae
bK
ao
ao
ao
bQ
ae
@@ -1311,11 +1337,11 @@ ae
ae
af
bx
ae
af
ae
af
bx
ae
af
ae
aa
aa
@@ -76,8 +76,7 @@
/area/ruin/powered/syndicate_lava_base)
"al" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/vault,
/area/ruin/powered/syndicate_lava_base)
@@ -320,8 +319,7 @@
/area/ruin/powered/syndicate_lava_base)
"aS" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/vault{
dir = 5
@@ -413,8 +411,7 @@
/area/ruin/powered/syndicate_lava_base)
"bd" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/machinery/light/small,
/turf/open/floor/plasteel/black,
@@ -702,8 +699,7 @@
/area/ruin/powered/syndicate_lava_base)
"bK" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/vault{
dir = 8
@@ -969,8 +965,7 @@
/area/ruin/powered/syndicate_lava_base)
"cq" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/podhatch{
dir = 5
@@ -48,7 +48,7 @@
/area/ruin/unpowered)
"j" = (
/obj/machinery/abductor/experiment{
team = 100
team_number = 100
},
/turf/open/floor/plating/abductor{
initial_gas_mix = "o2=16;n2=23;TEMP=300"
@@ -61,7 +61,7 @@
/area/ruin/unpowered)
"l" = (
/obj/machinery/abductor/pad{
team = 100
team_number = 100
},
/turf/open/floor/plating/abductor{
initial_gas_mix = "o2=16;n2=23;TEMP=300"
+89 -31
View File
@@ -252,7 +252,9 @@
/turf/open/floor/plating/airless,
/area/template_noop)
"aF" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/obj/structure/window/reinforced,
/turf/open/floor/plating,
/area/ruin/space/derelict/solar_control)
@@ -416,7 +418,9 @@
/turf/open/floor/plasteel,
/area/ruin/space/derelict/solar_control)
"bc" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating,
/area/ruin/space/derelict/solar_control)
"bd" = (
@@ -985,7 +989,9 @@
/turf/open/floor/plating,
/area/ruin/space/derelict/bridge/access)
"cU" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/ruin/space/derelict/bridge/access)
"cV" = (
@@ -1018,11 +1024,15 @@
/turf/open/floor/plasteel,
/area/ruin/space/derelict/bridge/access)
"cY" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 10
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/gravity_generator)
"cZ" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/gravity_generator)
"da" = (
@@ -1033,11 +1043,15 @@
/turf/open/floor/plasteel,
/area/ruin/space/derelict/gravity_generator)
"db" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 1
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/gravity_generator)
"dc" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 5
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/gravity_generator)
"dd" = (
@@ -1488,15 +1502,19 @@
/turf/open/floor/plating/airless,
/area/ruin/unpowered/no_grav)
"ev" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side,
/obj/effect/spawner/structure/window/hollow/reinforced/directional,
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"ew" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 6
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"ex" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/east,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 4
},
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
dir = 8
@@ -1663,7 +1681,9 @@
/turf/template_noop,
/area/template_noop)
"eW" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 9
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"eX" = (
@@ -1697,11 +1717,15 @@
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"fc" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 1
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"fd" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 5
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"fe" = (
@@ -1783,7 +1807,9 @@
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/bridge)
"fq" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/west,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 8
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"fr" = (
@@ -1807,7 +1833,9 @@
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"ft" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/east,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 4
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"fu" = (
@@ -1890,7 +1918,9 @@
},
/area/ruin/space/derelict/singularity_engine)
"fI" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 10
},
/turf/open/floor/plasteel/airless{
icon_state = "damaged2"
},
@@ -2128,7 +2158,9 @@
},
/area/ruin/space/derelict/singularity_engine)
"gt" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 9
},
/obj/item/shard{
icon_state = "medium"
},
@@ -2146,7 +2178,9 @@
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"gw" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"gx" = (
@@ -2194,7 +2228,9 @@
},
/area/ruin/unpowered/no_grav)
"gE" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"gF" = (
@@ -2292,7 +2328,9 @@
/turf/closed/wall,
/area/ruin/space/derelict/singularity_engine)
"gZ" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 10
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
"ha" = (
@@ -2408,7 +2446,9 @@
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/medical)
"hx" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 1
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/medical)
"hy" = (
@@ -2691,7 +2731,9 @@
/turf/template_noop,
/area/template_noop)
"iu" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 6
},
/turf/template_noop,
/area/template_noop)
"iv" = (
@@ -3129,7 +3171,9 @@
/turf/open/floor/plating,
/area/ruin/space/derelict/arrival)
"jK" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/ruin/space/derelict/arrival)
"jL" = (
@@ -3548,11 +3592,15 @@
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/hallway/primary)
"kP" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/hallway/primary)
"kQ" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/hallway/primary)
"kR" = (
@@ -3772,7 +3820,9 @@
/turf/open/floor/plasteel/airless,
/area/ruin/unpowered/no_grav)
"lD" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating/airless,
/area/ruin/unpowered/no_grav)
"lE" = (
@@ -3850,7 +3900,9 @@
/turf/open/floor/plasteel/airless,
/area/ruin/unpowered/no_grav)
"lR" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating/airless,
/area/ruin/unpowered/no_grav)
"lS" = (
@@ -4062,7 +4114,9 @@
/turf/open/floor/plasteel/airless,
/area/ruin/space/derelict/hallway/secondary)
"mD" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/hallway/secondary)
"mE" = (
@@ -4174,7 +4228,9 @@
/turf/open/floor/plasteel/airless,
/area/ruin/space/derelict/hallway/secondary)
"mY" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/hallway/secondary)
"mZ" = (
@@ -4366,7 +4422,7 @@
/turf/template_noop,
/area/ruin/space/derelict/hallway/secondary)
"ny" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side,
/obj/effect/spawner/structure/window/hollow/reinforced/directional,
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/hallway/secondary)
"nz" = (
@@ -4417,7 +4473,9 @@
/turf/open/floor/plasteel/airless,
/area/ruin/space/derelict/hallway/secondary)
"nH" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 1
},
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/hallway/secondary)
"nI" = (
@@ -36,11 +36,15 @@
/turf/open/floor/plating/airless,
/area/ruin/space/abandoned_tele)
"j" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating/airless,
/area/ruin/space/abandoned_tele)
"k" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating/airless,
/area/ruin/space/abandoned_tele)
"l" = (
@@ -78,7 +82,9 @@
/turf/open/floor/plating/airless,
/area/ruin/space/abandoned_tele)
"t" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating/airless,
/area/ruin/space/abandoned_tele)
"u" = (
@@ -743,10 +743,7 @@
/turf/open/floor/plasteel/darkgreen,
/area/ruin/space/has_grav/abandonedzoo)
"bN" = (
/obj/structure/grille{
density = 0;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/obj/item/shard{
icon_state = "small"
},
@@ -799,10 +796,7 @@
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav/abandonedzoo)
"bU" = (
/obj/structure/grille{
density = 0;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav/abandonedzoo)
"bV" = (
@@ -590,9 +590,9 @@
"bW" = (
/obj/structure/closet/crate/secure/gear,
/obj/item/ammo_box/c10mm,
/obj/item/ammo_casing/shotgun/meteorshot,
/obj/item/ammo_casing/shotgun/meteorshot,
/obj/item/ammo_casing/shotgun/meteorshot,
/obj/item/ammo_casing/shotgun/meteorslug,
/obj/item/ammo_casing/shotgun/meteorslug,
/obj/item/ammo_casing/shotgun/meteorslug,
/turf/open/floor/mineral/titanium/yellow/airless,
/area/ruin/unpowered)
"bX" = (
+39 -13
View File
@@ -17,7 +17,9 @@
/turf/closed/wall/mineral/titanium/overspace,
/area/awaymission/BMPship/Aft)
"af" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/engine,
/area/awaymission/BMPship/Aft)
"ag" = (
@@ -38,7 +40,9 @@
/turf/open/floor/plating,
/area/awaymission/BMPship/Aft)
"aj" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/engine,
/area/awaymission/BMPship/Aft)
"ak" = (
@@ -54,7 +58,9 @@
/area/template_noop)
"an" = (
/obj/structure/window/reinforced,
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/engine,
/area/awaymission/BMPship/Aft)
"ao" = (
@@ -224,7 +230,9 @@
/turf/open/floor/plating,
/area/awaymission/BMPship/Aft)
"aQ" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating/airless,
/area/awaymission/BMPship/Fore)
"aR" = (
@@ -350,7 +358,9 @@
/turf/open/floor/plating,
/area/awaymission/BMPship/Aft)
"bl" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating/airless,
/area/awaymission/BMPship/Fore)
"bm" = (
@@ -394,7 +404,9 @@
/area/awaymission/BMPship/Aft)
"bt" = (
/obj/structure/window/reinforced,
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating/airless,
/area/awaymission/BMPship/Fore)
"bu" = (
@@ -1165,7 +1177,9 @@
/turf/open/floor/plasteel,
/area/awaymission/BMPship/Aft)
"dG" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating,
/area/awaymission/BMPship/Fore)
"dH" = (
@@ -1372,7 +1386,9 @@
/turf/open/floor/plasteel,
/area/awaymission/BMPship/Aft)
"ed" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/BMPship/Fore)
"ee" = (
@@ -1592,7 +1608,9 @@
/obj/structure/window/reinforced{
dir = 8
},
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 6
},
/turf/open/floor/plating,
/area/awaymission/BMPship/Fore)
"eI" = (
@@ -2115,7 +2133,9 @@
/turf/open/floor/plasteel,
/area/awaymission/BMPship/Aft)
"gk" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating/airless,
/area/awaymission/BMPship/Fore)
"gl" = (
@@ -2247,7 +2267,9 @@
/turf/open/floor/plating/asteroid/airless,
/area/awaymission/BMPship)
"gF" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/east,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 4
},
/obj/item/shard{
icon_state = "small"
},
@@ -2308,7 +2330,9 @@
/turf/open/floor/plating/asteroid/airless,
/area/awaymission/BMPship)
"gR" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 6
},
/turf/open/floor/plating/airless,
/area/awaymission/BMPship/Fore)
"gS" = (
@@ -2448,7 +2472,9 @@
/turf/open/floor/plating/asteroid/airless,
/area/awaymission/BMPship)
"ho" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/engine,
/area/awaymission/BMPship/Aft)
"hp" = (
+27 -9
View File
@@ -451,11 +451,15 @@
/turf/open/floor/plasteel/airless/black,
/area/tcommsat/chamber)
"bA" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating/airless,
/area/tcommsat/chamber)
"bB" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 1
},
/turf/open/floor/plating/airless,
/area/tcommsat/chamber)
"bC" = (
@@ -463,7 +467,9 @@
/turf/open/floor/plating/airless,
/area/tcommsat/chamber)
"bD" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating/airless,
/area/tcommsat/chamber)
"bE" = (
@@ -512,7 +518,9 @@
/turf/open/floor/plasteel/airless/black,
/area/tcommsat/chamber)
"bK" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 9
},
/turf/open/floor/plating,
/area/tcommsat/chamber)
"bL" = (
@@ -520,7 +528,9 @@
/turf/open/floor/plating,
/area/tcommsat/chamber)
"bM" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/tcommsat/chamber)
"bN" = (
@@ -540,7 +550,9 @@
/turf/open/floor/plasteel/airless/black,
/area/tcommsat/chamber)
"bP" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating,
/area/tcommsat/chamber)
"bQ" = (
@@ -553,7 +565,9 @@
/turf/open/floor/plasteel/airless/black,
/area/tcommsat/chamber)
"bS" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/obj/structure/window/reinforced,
/turf/open/floor/plating,
/area/tcommsat/chamber)
@@ -609,7 +623,9 @@
/turf/open/floor/plasteel/airless/black,
/area/tcommsat/chamber)
"cc" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating,
/area/tcommsat/chamber)
"cd" = (
@@ -632,7 +648,9 @@
/turf/open/floor/plasteel/airless/black,
/area/tcommsat/chamber)
"ch" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 10
},
/turf/open/floor/plating,
/area/tcommsat/chamber)
"ci" = (
+65 -23
View File
@@ -53,7 +53,9 @@
/turf/closed/wall/rust,
/area/ruin/space/has_grav/ancientstation/comm)
"al" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/obj/machinery/door/poddoor{
id = "ancient"
},
@@ -67,7 +69,9 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/comm)
"an" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/obj/machinery/door/poddoor{
id = "ancient"
},
@@ -483,11 +487,15 @@
/turf/closed/wall/rust,
/area/ruin/space/has_grav/ancientstation/comm)
"bz" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/comm)
"bA" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/comm)
"bB" = (
@@ -900,7 +908,9 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/deltacorridor)
"cK" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating/airless,
/area/template_noop)
"cL" = (
@@ -946,7 +956,9 @@
/turf/closed/wall/rust,
/area/ruin/space/has_grav/ancientstation/hydroponics)
"cR" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/hydroponics)
"cS" = (
@@ -954,7 +966,9 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/hydroponics)
"cT" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/hydroponics)
"cU" = (
@@ -1794,7 +1808,9 @@
/turf/open/floor/plating/airless,
/area/template_noop)
"fb" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/engi)
"fc" = (
@@ -1978,7 +1994,9 @@
/turf/open/floor/plating/airless,
/area/template_noop)
"fB" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/engi)
"fC" = (
@@ -1986,7 +2004,9 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/engi)
"fD" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 6
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/engi)
"fE" = (
@@ -2805,7 +2825,9 @@
/turf/open/floor/plasteel/airless/floorgrime,
/area/template_noop)
"gV" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 5
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/engi)
"gW" = (
@@ -2869,7 +2891,9 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/deltacorridor)
"hf" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/rnd)
@@ -2879,7 +2903,9 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/rnd)
"hh" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/rnd)
@@ -3736,7 +3762,9 @@
/turf/closed/wall/rust,
/area/ruin/space/has_grav/ancientstation/engi)
"iY" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/kitchen)
"iZ" = (
@@ -3744,7 +3772,9 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/kitchen)
"ja" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/kitchen)
"jb" = (
@@ -4069,11 +4099,15 @@
/turf/open/floor/plating/airless,
/area/template_noop)
"jS" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation)
"jT" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation)
"jU" = (
@@ -4227,7 +4261,9 @@
/turf/open/floor/engine/airless,
/area/ruin/space/has_grav/ancientstation/atmo)
"ko" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating/airless,
/area/template_noop)
"kp" = (
@@ -4238,7 +4274,7 @@
dir = 6
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/showcase/oldpod,
/obj/structure/showcase/machinery/oldpod,
/turf/open/floor/plasteel/floorgrime,
/area/ruin/space/has_grav/ancientstation)
"kq" = (
@@ -4250,7 +4286,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/showcase/oldpod,
/obj/structure/showcase/machinery/oldpod,
/turf/open/floor/plasteel/floorgrime,
/area/ruin/space/has_grav/ancientstation)
"kr" = (
@@ -4329,7 +4365,9 @@
/turf/open/floor/engine/airless,
/area/ruin/space/has_grav/ancientstation/atmo)
"kB" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating/airless,
/area/template_noop)
"kC" = (
@@ -4583,11 +4621,15 @@
/turf/closed/mineral/plasma,
/area/ruin/unpowered)
"li" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/proto)
"lj" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation/proto)
"lk" = (
+1 -4
View File
@@ -1225,10 +1225,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/onehalf/bridge)
"dc" = (
/obj/structure/grille{
density = 0;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/obj/structure/cable{
d1 = 1;
d2 = 2;
+114 -38
View File
@@ -9,7 +9,9 @@
/turf/closed/wall/r_wall,
/area/awaymission/centcomAway/cafe)
"ad" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/cafe)
"ae" = (
@@ -17,7 +19,9 @@
/turf/open/floor/plating,
/area/awaymission/centcomAway/cafe)
"af" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/cafe)
"ag" = (
@@ -101,7 +105,9 @@
},
/area/awaymission/centcomAway/cafe)
"at" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/cafe)
"au" = (
@@ -136,7 +142,9 @@
},
/area/awaymission/centcomAway/cafe)
"aB" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/cafe)
"aC" = (
@@ -223,7 +231,9 @@
},
/area/awaymission/centcomAway/maint)
"aS" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/closed/wall/r_wall,
/area/awaymission/centcomAway/maint)
"aT" = (
@@ -231,7 +241,9 @@
/turf/closed/wall/r_wall,
/area/awaymission/centcomAway/maint)
"aU" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/closed/wall/r_wall,
/area/awaymission/centcomAway/maint)
"aV" = (
@@ -582,7 +594,9 @@
/turf/open/floor/plasteel/hydrofloor,
/area/awaymission/centcomAway/cafe)
"ci" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/maint)
"cj" = (
@@ -632,7 +646,9 @@
/turf/open/floor/plasteel/hydrofloor,
/area/awaymission/centcomAway/cafe)
"cu" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/maint)
"cv" = (
@@ -1016,11 +1032,15 @@
/turf/closed/wall/mineral/titanium,
/area/awaymission/centcomAway/hangar)
"dS" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/cafe)
"dT" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/cafe)
"dU" = (
@@ -1178,7 +1198,9 @@
/turf/open/floor/plating,
/area/awaymission/centcomAway/maint)
"ey" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/east,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/maint)
"ez" = (
@@ -1387,7 +1409,9 @@
/turf/open/floor/plasteel/black,
/area/awaymission/centcomAway/courtroom)
"fn" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/hangar)
"fo" = (
@@ -1395,7 +1419,9 @@
/turf/open/floor/plating,
/area/awaymission/centcomAway/hangar)
"fp" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/hangar)
"fq" = (
@@ -1415,7 +1441,9 @@
/turf/closed/wall/r_wall,
/area/awaymission/centcomAway/general)
"fu" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"fv" = (
@@ -1423,11 +1451,15 @@
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"fw" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"fx" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"fy" = (
@@ -1618,11 +1650,15 @@
},
/area/awaymission/centcomAway/general)
"gd" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 9
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"ge" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"gf" = (
@@ -1637,7 +1673,9 @@
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"gh" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 5
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"gi" = (
@@ -1808,7 +1846,9 @@
/turf/open/floor/plasteel/black,
/area/awaymission/centcomAway/general)
"gM" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"gN" = (
@@ -1868,7 +1908,9 @@
},
/area/awaymission/centcomAway/general)
"gX" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"gY" = (
@@ -1973,11 +2015,15 @@
},
/area/awaymission/centcomAway/general)
"hq" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/closed/wall/r_wall,
/area/awaymission/centcomAway/courtroom)
"hr" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/courtroom)
"hs" = (
@@ -1985,7 +2031,9 @@
/turf/open/floor/carpet,
/area/awaymission/centcomAway/courtroom)
"ht" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/courtroom)
"hu" = (
@@ -2049,7 +2097,9 @@
/turf/open/floor/plasteel/black,
/area/awaymission/centcomAway/courtroom)
"hF" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/courtroom)
"hG" = (
@@ -2279,7 +2329,9 @@
/turf/closed/wall/r_wall,
/area/awaymission/centcomAway/courtroom)
"ix" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/closed/wall/r_wall,
/area/awaymission/centcomAway/courtroom)
"iy" = (
@@ -2309,7 +2361,9 @@
},
/area/awaymission/centcomAway/hangar)
"iC" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"iD" = (
@@ -2658,7 +2712,9 @@
},
/area/awaymission/centcomAway/general)
"jH" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plasteel{
name = "plating"
},
@@ -2670,13 +2726,17 @@
},
/area/awaymission/centcomAway/general)
"jJ" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plasteel{
name = "plating"
},
/area/awaymission/centcomAway/general)
"jK" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/obj/structure/window/reinforced,
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
@@ -2736,7 +2796,9 @@
/turf/open/floor/plasteel,
/area/awaymission/centcomAway/general)
"jT" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"jU" = (
@@ -2785,7 +2847,9 @@
/turf/open/floor/plating,
/area/awaymission/centcomAway/hangar)
"kb" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"kc" = (
@@ -2846,12 +2910,16 @@
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"kl" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/obj/structure/window/reinforced,
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"km" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"kn" = (
@@ -2904,7 +2972,9 @@
},
/area/awaymission/centcomAway/general)
"kv" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 10
},
/obj/structure/window/reinforced{
dir = 4
},
@@ -3015,7 +3085,9 @@
},
/area/awaymission/centcomAway/general)
"kM" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/general)
"kN" = (
@@ -3218,7 +3290,9 @@
/turf/open/floor/plasteel/black,
/area/awaymission/centcomAway/thunderdome)
"lw" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/thunderdome)
"lx" = (
@@ -3226,7 +3300,9 @@
/turf/open/floor/plating,
/area/awaymission/centcomAway/thunderdome)
"ly" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/centcomAway/thunderdome)
"lz" = (
+18 -6
View File
@@ -248,11 +248,15 @@
/turf/open/floor/plating/airless,
/area/awaymission/challenge/main)
"aY" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 8
},
/turf/open/floor/plating/airless,
/area/awaymission/challenge/main)
"aZ" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating/airless,
/area/awaymission/challenge/main)
"ba" = (
@@ -874,7 +878,9 @@
/turf/open/space,
/area/space)
"cM" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 9
},
/turf/open/floor/plating,
/area/awaymission/challenge/end)
"cN" = (
@@ -882,11 +888,15 @@
/turf/open/floor/plating,
/area/awaymission/challenge/end)
"cO" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 5
},
/turf/open/floor/plating,
/area/awaymission/challenge/end)
"cP" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/challenge/end)
"cQ" = (
@@ -1044,7 +1054,9 @@
/turf/open/floor/plasteel/black,
/area/awaymission/challenge/end)
"dl" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating,
/area/awaymission/challenge/end)
"dm" = (
+8 -42
View File
@@ -1922,11 +1922,7 @@
name = "Syndicate Outpost"
})
"cG" = (
/obj/structure/grille{
density = 0;
broken = 1;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/obj/item/stack/rods,
/obj/item/stack/rods,
/obj/item/shard,
@@ -4885,11 +4881,7 @@
name = "MO19 Research"
})
"gE" = (
/obj/structure/grille{
density = 0;
broken = 1;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/obj/item/stack/rods,
/obj/item/stack/rods,
/obj/item/shard,
@@ -5523,11 +5515,7 @@
name = "MO19 Research"
})
"hx" = (
/obj/structure/grille{
density = 0;
broken = 1;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/obj/item/stack/rods,
/obj/item/stack/rods,
/obj/item/shard{
@@ -6778,7 +6766,6 @@
"jq" = (
/obj/item/twohanded/required/kirbyplants{
desc = "A plastic potted plant.";
layer = 4.1;
pixel_y = 3
},
/turf/open/floor/plasteel{
@@ -7787,11 +7774,7 @@
})
"kP" = (
/obj/item/stack/rods,
/obj/structure/grille{
density = 0;
broken = 1;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/obj/item/stack/rods,
/obj/item/shard{
icon_state = "medium"
@@ -7805,11 +7788,7 @@
name = "MO19 Arrivals"
})
"kQ" = (
/obj/structure/grille{
density = 0;
broken = 1;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/obj/item/stack/rods,
/turf/open/floor/plating{
broken = 1;
@@ -9320,11 +9299,7 @@
name = "MO19 Arrivals"
})
"ns" = (
/obj/structure/grille{
density = 0;
broken = 1;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/obj/item/stack/rods,
/turf/open/floor/plating{
heat_capacity = 1e+006
@@ -9470,11 +9445,7 @@
poweralm = 0
})
"nD" = (
/obj/structure/grille{
density = 0;
broken = 1;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/obj/item/stack/rods,
/obj/item/shard,
/obj/effect/decal/cleanable/blood/tracks{
@@ -9809,7 +9780,6 @@
"ob" = (
/obj/item/twohanded/required/kirbyplants{
desc = "A plastic potted plant.";
layer = 4.1;
pixel_y = 3
},
/turf/open/floor/plasteel/neutral/side{
@@ -9933,11 +9903,7 @@
poweralm = 0
})
"oj" = (
/obj/structure/grille{
density = 0;
broken = 1;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/turf/open/floor/mineral/titanium,
/area/awaycontent/a3{
always_unpowered = 1;
+6 -14
View File
@@ -119,7 +119,6 @@
"ax" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-20";
layer = 4.1;
pixel_y = 3
},
/turf/open/floor/plasteel/whiteyellow/corner{
@@ -1317,8 +1316,7 @@
/area/awaymission/research/interior/secure)
"dN" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-16";
layer = 4.1
icon_state = "plant-16"
},
/turf/open/floor/plasteel/darkpurple,
/area/awaymission/research/interior/genetics)
@@ -2824,8 +2822,7 @@
/area/awaymission/research/interior/genetics)
"hV" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10";
layer = 4.1
icon_state = "plant-10"
},
/turf/open/floor/plasteel/darkpurple,
/area/awaymission/research/interior/genetics)
@@ -3306,8 +3303,7 @@
/area/awaymission/research/interior/dorm)
"jm" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-14";
layer = 4.1
icon_state = "plant-14"
},
/turf/open/floor/plasteel/yellowsiding{
dir = 9
@@ -4053,8 +4049,7 @@
/area/awaymission/research/interior/medbay)
"ly" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-16";
layer = 4.1
icon_state = "plant-16"
},
/turf/open/floor/plasteel/yellowsiding{
dir = 10
@@ -4459,9 +4454,7 @@
},
/area/awaymission/research/interior/escapepods)
"mJ" = (
/obj/item/twohanded/required/kirbyplants{
layer = 4.1
},
/obj/item/twohanded/required/kirbyplants,
/turf/open/floor/plasteel/whitegreen/side{
dir = 8
},
@@ -4495,8 +4488,7 @@
/area/awaymission/research/interior/escapepods)
"mN" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "applebush";
layer = 4.1
icon_state = "applebush"
},
/turf/open/floor/plasteel/whitegreen/side{
dir = 4
+3 -16
View File
@@ -633,12 +633,7 @@
},
/area/awaymission/snowdin/base)
"bC" = (
/obj/structure/showcase{
desc = "A strange machine thats supposedly used to help pick up and decrypt wave signals. ";
icon = 'icons/obj/machines/telecomms.dmi';
icon_state = "processor";
name = "subsystem signal decrypter"
},
/obj/structure/showcase/machinery/signal_decrypter,
/turf/open/floor/plating{
baseturf = /turf/open/floor/plating/asteroid/snow
},
@@ -2498,12 +2493,7 @@
/area/awaymission/snowdin/post)
"gL" = (
/obj/machinery/light/small,
/obj/structure/showcase{
desc = "A strange machine thats supposedly used to help pick up and decrypt wave signals. ";
icon = 'icons/obj/machines/telecomms.dmi';
icon_state = "processor";
name = "subsystem signal decrypter"
},
/obj/structure/showcase/machinery/signal_decrypter,
/turf/open/floor/plating{
baseturf = /turf/open/floor/plating/asteroid/snow
},
@@ -3909,10 +3899,7 @@
},
/area/awaymission/snowdin)
"kA" = (
/obj/structure/grille{
density = 0;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/turf/open/floor/plating{
baseturf = /turf/open/floor/plating/asteroid/snow;
icon = 'icons/turf/snow.dmi';
+49 -17
View File
@@ -842,7 +842,9 @@
/turf/open/floor/plasteel,
/area/awaymission/spacebattle/cruiser)
"cY" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating,
/area/awaymission/spacebattle/cruiser)
"cZ" = (
@@ -865,7 +867,9 @@
/turf/open/floor/mineral/plastitanium,
/area/awaymission/spacebattle/cruiser)
"dd" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/obj/structure/window/reinforced,
/turf/open/floor/plating,
/area/awaymission/spacebattle/cruiser)
@@ -1002,7 +1006,9 @@
/turf/open/floor/plating/airless,
/area/awaymission/spacebattle/cruiser)
"dE" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 9
},
/turf/open/floor/engine,
/area/awaymission/spacebattle/cruiser)
"dF" = (
@@ -1010,11 +1016,15 @@
/turf/open/floor/engine,
/area/awaymission/spacebattle/cruiser)
"dG" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 1
},
/turf/open/floor/engine,
/area/awaymission/spacebattle/cruiser)
"dH" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 5
},
/turf/open/floor/engine,
/area/awaymission/spacebattle/cruiser)
"dI" = (
@@ -1109,7 +1119,9 @@
/turf/open/floor/plating/airless,
/area/awaymission/spacebattle/cruiser)
"dY" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/engine,
/area/awaymission/spacebattle/cruiser)
"dZ" = (
@@ -1130,7 +1142,9 @@
},
/area/awaymission/spacebattle/cruiser)
"eb" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/spacebattle/cruiser)
"ec" = (
@@ -1296,7 +1310,9 @@
/turf/open/floor/plasteel/blue,
/area/awaymission/spacebattle/cruiser)
"eF" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating,
/area/awaymission/spacebattle/cruiser)
"eG" = (
@@ -1345,7 +1361,9 @@
/turf/open/floor/plasteel/blue,
/area/awaymission/spacebattle/cruiser)
"eQ" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/spacebattle/cruiser)
"eR" = (
@@ -2063,7 +2081,9 @@
/turf/open/floor/plating/airless,
/area/awaymission/spacebattle/cruiser)
"hi" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/plating,
/area/awaymission/spacebattle/syndicate7)
"hj" = (
@@ -2122,7 +2142,9 @@
/turf/closed/wall/r_wall,
/area/awaymission/spacebattle/cruiser)
"hu" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/plating,
/area/awaymission/spacebattle/syndicate7)
"hv" = (
@@ -2912,7 +2934,9 @@
/turf/open/floor/plasteel/white,
/area/awaymission/spacebattle/cruiser)
"ki" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/engine/vacuum,
/area/awaymission/spacebattle/cruiser)
"kj" = (
@@ -2941,7 +2965,9 @@
/turf/open/floor/plating,
/area/awaymission/spacebattle/cruiser)
"ko" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/turf/open/floor/engine/vacuum,
/area/awaymission/spacebattle/cruiser)
"kp" = (
@@ -2958,7 +2984,9 @@
/turf/open/floor/engine/vacuum,
/area/awaymission/spacebattle/cruiser)
"kr" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
dir = 4
},
/turf/open/floor/engine/vacuum,
/area/awaymission/spacebattle/cruiser)
"ks" = (
@@ -2983,11 +3011,13 @@
/turf/open/floor/engine/vacuum,
/area/awaymission/spacebattle/cruiser)
"kw" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 10
},
/turf/open/floor/engine/vacuum,
/area/awaymission/spacebattle/cruiser)
"kx" = (
/obj/effect/spawner/structure/window/hollow/reinforced/one_side,
/obj/effect/spawner/structure/window/hollow/reinforced/directional,
/turf/open/floor/engine/vacuum,
/area/awaymission/spacebattle/cruiser)
"ky" = (
@@ -2995,7 +3025,9 @@
/turf/open/floor/engine/vacuum,
/area/awaymission/spacebattle/cruiser)
"kz" = (
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 6
},
/turf/open/floor/engine/vacuum,
/area/awaymission/spacebattle/cruiser)
"kA" = (
+3 -9
View File
@@ -14188,8 +14188,7 @@
/obj/machinery/atmospherics/components/trinary/filter{
dir = 4;
filter_type = "n2";
on = 1;
req_access = null
on = 1
},
/turf/open/floor/plasteel/red/side{
dir = 10;
@@ -14238,8 +14237,7 @@
/obj/machinery/atmospherics/components/trinary/filter{
dir = 4;
filter_type = "o2";
on = 1;
req_access = null
on = 1
},
/turf/open/floor/plasteel/blue/side{
dir = 10;
@@ -17520,11 +17518,7 @@
poweralm = 0
})
"yN" = (
/obj/structure/grille{
density = 0;
broken = 1;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/turf/open/floor/mineral/titanium/blue,
/area/awaycontent/a7{
always_unpowered = 1;
+13 -5
View File
@@ -447,7 +447,9 @@
/obj/structure/window/reinforced{
icon_state = "fwindow"
},
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/west,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 8
},
/turf/open/floor/plating/ironsand{
icon_state = "ironsand1"
},
@@ -549,7 +551,9 @@
icon_state = "fwindow";
dir = 8
},
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 1
},
/turf/open/floor/plating/ironsand{
icon_state = "ironsand1"
},
@@ -870,7 +874,9 @@
icon_state = "fwindow";
dir = 4
},
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 1
},
/turf/open/floor/plating/ironsand{
icon_state = "ironsand1"
},
@@ -1696,7 +1702,7 @@
icon_state = "fwindow";
dir = 4
},
/obj/effect/spawner/structure/window/hollow/reinforced/one_side,
/obj/effect/spawner/structure/window/hollow/reinforced/directional,
/turf/open/floor/plasteel,
/area/awaymission/wwrefine)
"fB" = (
@@ -2141,7 +2147,9 @@
/turf/open/floor/mineral/titanium/yellow,
/area/awaymission/wwrefine)
"gX" = (
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/obj/structure/window/reinforced{
icon_state = "fwindow"
},
+17 -89
View File
@@ -2422,8 +2422,6 @@
dir = 4
},
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_y = 32
},
/turf/open/floor/mineral/titanium/blue,
@@ -3244,9 +3242,7 @@
/obj/structure/window/reinforced{
dir = 4
},
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/obj/item/reagent_containers/blood/empty,
/turf/open/floor/plasteel/whitered/side{
dir = 5
@@ -8057,8 +8053,6 @@
/area/lawoffice)
"asa" = (
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = 32
},
/turf/open/floor/plasteel/red/corner{
@@ -13340,6 +13334,7 @@
id = "chapelgun";
name = "Chapel Launcher Door"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/chapel/main)
"aEo" = (
@@ -14799,8 +14794,6 @@
/area/shuttle/arrival)
"aHu" = (
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = 32
},
/turf/open/floor/plasteel/white/corner{
@@ -17310,8 +17303,6 @@
dir = 4
},
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = 32
},
/turf/open/floor/plasteel/bar,
@@ -18091,10 +18082,7 @@
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
"aPE" = (
/obj/machinery/status_display{
density = 0;
layer = 4
},
/obj/machinery/status_display,
/turf/closed/wall,
/area/crew_quarters/locker)
"aPF" = (
@@ -18206,10 +18194,7 @@
d2 = 8;
icon_state = "0-8"
},
/obj/machinery/status_display{
density = 0;
layer = 4
},
/obj/machinery/status_display,
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
id = "bridge blast";
@@ -18248,10 +18233,7 @@
icon_state = "0-4";
d2 = 4
},
/obj/machinery/status_display{
density = 0;
layer = 4
},
/obj/machinery/status_display,
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
id = "bridge blast";
@@ -19445,8 +19427,6 @@
"aTr" = (
/obj/machinery/door/firedoor,
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = 32
},
/turf/open/floor/plasteel,
@@ -23450,8 +23430,6 @@
},
/obj/structure/disposalpipe/segment,
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = -32
},
/turf/open/floor/plasteel/blue/corner{
@@ -24399,10 +24377,7 @@
/turf/closed/wall/r_wall,
/area/ai_monitored/turret_protected/ai_upload)
"bfw" = (
/obj/machinery/status_display{
density = 0;
layer = 4
},
/obj/machinery/status_display,
/turf/closed/wall/r_wall,
/area/ai_monitored/turret_protected/ai_upload)
"bfx" = (
@@ -26461,8 +26436,6 @@
dir = 4
},
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = 32
},
/obj/machinery/aug_manipulator,
@@ -26546,7 +26519,6 @@
/area/quartermaster/office)
"bkx" = (
/obj/machinery/status_display{
density = 0;
pixel_y = 2;
supply_display = 1
},
@@ -27431,8 +27403,6 @@
},
/obj/machinery/door/firedoor,
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = -32
},
/turf/open/floor/plasteel/brown/corner{
@@ -27933,6 +27903,7 @@
id = "trash";
name = "disposal bay door"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/maintenance/disposal)
"bnw" = (
@@ -30353,8 +30324,6 @@
/area/medical/medbay/central)
"bsz" = (
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = -32
},
/turf/open/floor/plasteel/white/side{
@@ -31908,7 +31877,6 @@
},
/obj/machinery/light,
/obj/machinery/status_display{
density = 0;
pixel_y = -30;
supply_display = 1
},
@@ -34176,7 +34144,6 @@
pixel_y = -35
},
/obj/machinery/status_display{
density = 0;
pixel_x = -32;
supply_display = 1
},
@@ -37437,8 +37404,6 @@
"bIe" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = -32
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -39079,6 +39044,7 @@
id = "toxinsdriver";
name = "toxins launcher bay door"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/science/mixing)
"bLm" = (
@@ -40580,7 +40546,6 @@
"bOP" = (
/obj/structure/table/glass,
/obj/structure/reagent_dispensers/virusfood{
density = 0;
pixel_x = -30
},
/obj/item/book/manual/wiki/infections{
@@ -41444,8 +41409,7 @@
/area/science/misc_lab)
"bQV" = (
/obj/machinery/atmospherics/components/trinary/filter{
dir = 4;
req_access = null
dir = 4
},
/turf/open/floor/engine,
/area/science/misc_lab)
@@ -52694,8 +52658,6 @@
dir = 8
},
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_y = 32
},
/turf/open/floor/mineral/titanium/blue,
@@ -54591,13 +54553,8 @@
/turf/open/floor/plating,
/area/ai_monitored/turret_protected/aisat/atmos)
"cup" = (
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 8;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = 9;
pixel_y = 2
},
@@ -54622,13 +54579,8 @@
},
/area/ai_monitored/turret_protected/aisat/atmos)
"cur" = (
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 4;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = -9;
pixel_y = 2
},
@@ -54637,13 +54589,8 @@
},
/area/ai_monitored/turret_protected/aisat_interior)
"cus" = (
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 8;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = 9;
pixel_y = 2
},
@@ -54680,13 +54627,8 @@
/turf/open/floor/plasteel/black,
/area/ai_monitored/turret_protected/aisat_interior)
"cuv" = (
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 4;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = -9;
pixel_y = 2
},
@@ -56052,8 +55994,6 @@
dir = 8
},
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_y = 32
},
/turf/open/floor/mineral/titanium/blue,
@@ -56982,8 +56922,6 @@
dir = 4
},
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_y = 32
},
/turf/open/floor/mineral/titanium/blue,
@@ -57581,13 +57519,8 @@
d2 = 2;
icon_state = "1-2"
},
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 8;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = 9;
pixel_y = 2
},
@@ -57597,13 +57530,8 @@
/turf/open/floor/plasteel/black,
/area/ai_monitored/turret_protected/ai)
"cAW" = (
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 4;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = -9;
pixel_y = 2
},
@@ -83901,7 +83829,7 @@ bHE
bYu
bZk
bCq
cTG
cTF
bCq
bCq
bCq
@@ -85197,7 +85125,7 @@ bCq
bCq
bCq
bCq
cTH
cTF
bCq
bLv
bLv
+108 -160
View File
@@ -186,8 +186,6 @@
dir = 1
},
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = 32
},
/obj/machinery/computer/shuttle/pod{
@@ -208,8 +206,6 @@
dir = 1
},
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = 32
},
/obj/machinery/computer/shuttle/pod{
@@ -3514,6 +3510,8 @@
"ahP" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable/white{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -5120,7 +5118,7 @@
/area/maintenance/starboard/fore)
"alA" = (
/obj/structure/table/wood,
/obj/item/toy/carpplushie,
/obj/item/toy/plush/carpplushie,
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/plasteel/vault{
dir = 8
@@ -6351,6 +6349,8 @@
req_access_txt = "12"
},
/obj/structure/cable/white{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -9542,7 +9542,6 @@
/area/quartermaster/storage)
"aut" = (
/obj/machinery/status_display{
density = 0;
name = "cargo display";
supply_display = 1
},
@@ -18930,7 +18929,6 @@
/area/quartermaster/storage)
"aNe" = (
/obj/machinery/status_display{
density = 0;
name = "cargo display";
supply_display = 1
},
@@ -19935,12 +19933,9 @@
},
/area/security/prison)
"aOV" = (
/obj/machinery/door/poddoor{
density = 0;
icon_state = "open";
/obj/machinery/door/poddoor/preopen{
id = "permacell3";
name = "Cell Shutters";
opacity = 0
name = "Cell Shutters"
},
/obj/machinery/door/airlock/glass{
id_tag = "permabolt3";
@@ -19956,12 +19951,9 @@
/turf/open/floor/plasteel,
/area/security/prison)
"aOW" = (
/obj/machinery/door/poddoor{
density = 0;
icon_state = "open";
/obj/machinery/door/poddoor/preopen{
id = "permacell2";
name = "Cell Shutters";
opacity = 0
name = "Cell Shutters"
},
/obj/machinery/door/airlock/glass{
id_tag = "permabolt2";
@@ -19981,12 +19973,9 @@
/turf/open/floor/plasteel,
/area/security/prison)
"aOX" = (
/obj/machinery/door/poddoor{
density = 0;
icon_state = "open";
/obj/machinery/door/poddoor/preopen{
id = "permacell1";
name = "Cell Shutters";
opacity = 0
name = "Cell Shutters"
},
/obj/machinery/door/airlock/glass{
id_tag = "permabolt1";
@@ -24309,8 +24298,7 @@
/area/quartermaster/office)
"aWW" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-18";
layer = 4.1
icon_state = "plant-18"
},
/turf/open/floor/plasteel/brown,
/area/quartermaster/office)
@@ -24726,8 +24714,6 @@
dir = 4
},
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_y = 32
},
/obj/machinery/computer/shuttle/pod{
@@ -24804,8 +24790,7 @@
icon_state = "pipe-c"
},
/obj/structure/fireaxecabinet{
pixel_x = -32;
pixel_y = 0
pixel_x = -32
},
/turf/open/floor/plasteel/caution{
dir = 8
@@ -30338,8 +30323,8 @@
/obj/item/stack/sheet/metal{
amount = 50
},
/obj/item/grenade/chem_grenade/metalfoam,
/obj/item/grenade/chem_grenade/metalfoam,
/obj/item/grenade/chem_grenade/smart_metal_foam,
/obj/item/grenade/chem_grenade/smart_metal_foam,
/obj/machinery/newscaster{
pixel_y = -32
},
@@ -46594,8 +46579,7 @@
/turf/open/floor/wood,
/area/crew_quarters/heads/captain)
"bMJ" = (
/obj/structure/sign/goldenplaque{
name = "The Most Robust Captain Award for Robustness";
/obj/structure/sign/goldenplaque/captain{
pixel_x = 32
},
/turf/open/floor/wood,
@@ -46749,9 +46733,6 @@
/turf/open/floor/carpet,
/area/security/detectives_office)
"bMX" = (
/obj/machinery/computer/security/wooden_tv{
density = 0
},
/obj/structure/table/wood,
/obj/machinery/button/door{
id = "detectivewindows";
@@ -46765,15 +46746,16 @@
pixel_y = -26
},
/obj/structure/disposalpipe/segment,
/obj/item/device/flashlight/lamp,
/obj/item/reagent_containers/food/drinks/flask/det,
/turf/open/floor/carpet,
/area/security/detectives_office)
"bMY" = (
/obj/structure/table/wood,
/obj/item/device/flashlight/lamp,
/obj/item/storage/secure/safe{
pixel_x = 32
},
/obj/item/reagent_containers/food/drinks/flask/det,
/obj/machinery/computer/security/wooden_tv,
/turf/open/floor/carpet,
/area/security/detectives_office)
"bMZ" = (
@@ -47907,13 +47889,8 @@
},
/area/aisat)
"bPb" = (
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 4;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = -9;
pixel_y = 2
},
@@ -47968,13 +47945,8 @@
/turf/open/floor/plating,
/area/ai_monitored/turret_protected/aisat_interior)
"bPg" = (
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 4;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = -9;
pixel_y = 2
},
@@ -48018,13 +47990,8 @@
/turf/open/floor/plasteel/grimy,
/area/ai_monitored/turret_protected/aisat_interior)
"bPm" = (
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 8;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = 9;
pixel_y = 2
},
@@ -48078,13 +48045,8 @@
/turf/open/floor/plasteel/vault,
/area/ai_monitored/turret_protected/aisat_interior)
"bPr" = (
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 8;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = 9;
pixel_y = 2
},
@@ -50681,13 +50643,8 @@
/turf/closed/wall/r_wall,
/area/ai_monitored/turret_protected/aisat_interior)
"bTA" = (
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 4;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = -9;
pixel_y = 2
},
@@ -50737,13 +50694,8 @@
/turf/closed/wall/r_wall,
/area/ai_monitored/turret_protected/aisat_interior)
"bTF" = (
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 4;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = -9;
pixel_y = 2
},
@@ -50792,13 +50744,8 @@
/turf/open/floor/plasteel/grimy,
/area/ai_monitored/turret_protected/aisat_interior)
"bTL" = (
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 8;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_x = 9;
pixel_y = 2
},
@@ -54955,9 +54902,7 @@
dir = 8
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/structure/sign/kiddieplaque{
desc = "A long list of rules to be followed when in the library, extolling the virtues of being quiet at all times and threatening those who would dare eat hot food inside.";
name = "Library Rules Sign";
/obj/structure/sign/kiddieplaque/library{
pixel_x = -32
},
/turf/open/floor/wood,
@@ -54995,9 +54940,7 @@
},
/area/library)
"cbD" = (
/obj/structure/sign/kiddieplaque{
desc = "A long list of rules to be followed when in the library, extolling the virtues of being quiet at all times and threatening those who would dare eat hot food inside.";
name = "Library Rules Sign";
/obj/structure/sign/kiddieplaque/library{
pixel_x = -32
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -58758,9 +58701,7 @@
icon_state = "1-2"
},
/obj/structure/table/reinforced,
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-07";
name = "Photosynthetic Potted plant";
/obj/item/twohanded/required/kirbyplants/photosynthetic{
pixel_y = 10
},
/turf/open/floor/plasteel/vault{
@@ -64260,8 +64201,6 @@
dir = 1
},
/obj/machinery/status_display{
density = 0;
layer = 4;
pixel_y = 32
},
/obj/effect/decal/cleanable/dirt,
@@ -64745,9 +64684,7 @@
dir = 8
},
/obj/machinery/disposal/bin,
/obj/structure/sign/kiddieplaque{
desc = "A long list of rules to be followed when in the library, extolling the virtues of being quiet at all times and threatening those who would dare eat hot food inside.";
name = "Library Rules Sign";
/obj/structure/sign/kiddieplaque/library{
pixel_x = -32
},
/obj/structure/disposalpipe/trunk{
@@ -65551,12 +65488,7 @@
/obj/structure/window/reinforced{
dir = 4
},
/obj/structure/showcase{
desc = "A stand with an empty old Nanotrasen Corporation combat mech bolted to it. It is described as the premier unit used to defend corporate interests and employees.";
icon = 'icons/mecha/mecha.dmi';
icon_state = "marauder";
name = "combat mech exhibit"
},
/obj/structure/showcase/mecha/marauder,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/grimy,
/area/bridge/showroom/corporate)
@@ -65623,12 +65555,8 @@
/obj/structure/window/reinforced{
dir = 8
},
/obj/structure/showcase{
desc = "A flimsy model of a standard Nanotrasen automated loyalty implant machine. With secure positioning harnesses and a robotic surgical injector, brain damage and other serious medical anomalies are now up to 60% less likely!";
icon = 'icons/obj/machines/implantchair.dmi';
icon_state = "implantchair";
/obj/structure/showcase/machinery/implanter{
layer = 2.7;
name = "Nanotrasen automated loyalty implanter exhibit";
pixel_y = 4
},
/turf/open/floor/plasteel/grimy,
@@ -67328,7 +67256,7 @@
pixel_x = -26
},
/obj/structure/table/reinforced,
/obj/item/grenade/chem_grenade/metalfoam,
/obj/item/grenade/chem_grenade/smart_metal_foam,
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -68491,8 +68419,7 @@
/area/crew_quarters/locker)
"cCc" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-18";
layer = 4.1
icon_state = "plant-18"
},
/turf/open/floor/plasteel/vault{
dir = 5
@@ -70025,6 +69952,8 @@
/area/maintenance/port)
"cEW" = (
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -71405,9 +71334,7 @@
"cHm" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/turf/open/floor/plasteel/blue/corner{
dir = 4
},
@@ -78510,9 +78437,7 @@
},
/area/medical/chemistry)
"cVO" = (
/obj/machinery/chem_master{
density = 0
},
/obj/machinery/chem_master,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
@@ -78904,6 +78829,8 @@
dir = 8
},
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/turf/open/floor/plating,
@@ -79637,9 +79564,7 @@
/area/medical/abandoned)
"cYb" = (
/obj/structure/bed/roller,
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/medical/abandoned)
@@ -79660,9 +79585,7 @@
/area/medical/abandoned)
"cYd" = (
/obj/structure/bed/roller,
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/whiteblue/corner{
dir = 4
@@ -81004,6 +80927,8 @@
/area/maintenance/port)
"daZ" = (
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -81027,6 +80952,8 @@
"dbb" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -81048,6 +80975,8 @@
"dbd" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -81611,9 +81540,7 @@
/turf/open/floor/plating,
/area/medical/abandoned)
"dcm" = (
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/medical/abandoned)
@@ -83187,7 +83114,9 @@
d2 = 2;
icon_state = "0-2"
},
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 1
},
/obj/structure/cable/white{
d2 = 4;
icon_state = "0-4"
@@ -83216,7 +83145,9 @@
d2 = 4;
icon_state = "0-4"
},
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 9
},
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
@@ -83233,7 +83164,9 @@
d2 = 8;
icon_state = "0-8"
},
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 1
},
/turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den)
"dfJ" = (
@@ -83246,7 +83179,9 @@
icon_state = "0-8"
},
/obj/structure/cable/white,
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 5
},
/turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den)
"dfK" = (
@@ -83369,9 +83304,7 @@
/area/science/explab)
"dfZ" = (
/obj/machinery/atmospherics/components/trinary/filter{
density = 0;
dir = 8;
req_access = "0"
dir = 8
},
/turf/open/floor/plasteel/whitepurple/corner{
dir = 1
@@ -83758,7 +83691,9 @@
d2 = 2;
icon_state = "0-2"
},
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/west,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 8
},
/turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den)
"dgT" = (
@@ -83779,7 +83714,9 @@
d2 = 2;
icon_state = "0-2"
},
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/east,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 4
},
/turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den)
"dgW" = (
@@ -86356,7 +86293,9 @@
d2 = 2;
icon_state = "0-2"
},
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 6
},
/turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den)
"dma" = (
@@ -87555,7 +87494,9 @@
d2 = 4;
icon_state = "0-4"
},
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
dir = 10
},
/turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den)
"doH" = (
@@ -87567,7 +87508,7 @@
d2 = 8;
icon_state = "0-8"
},
/obj/effect/spawner/structure/window/hollow/reinforced/one_side,
/obj/effect/spawner/structure/window/hollow/reinforced/directional,
/turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den)
"doI" = (
@@ -87576,7 +87517,9 @@
d2 = 8;
icon_state = "0-8"
},
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
/obj/effect/spawner/structure/window/hollow/reinforced/end{
dir = 4
},
/turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den)
"doJ" = (
@@ -94047,9 +93990,7 @@
/area/science/mixing)
"dBf" = (
/obj/machinery/atmospherics/components/trinary/filter{
density = 0;
dir = 8;
req_access = "0"
dir = 8
},
/turf/open/floor/plasteel/neutral/side{
dir = 1
@@ -98141,6 +98082,7 @@
/area/security/checkpoint/customs)
"dJd" = (
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
},
/obj/effect/spawner/structure/window/reinforced,
@@ -98725,6 +98667,7 @@
/area/medical/virology)
"dKq" = (
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
},
/obj/effect/spawner/structure/window/reinforced,
@@ -98807,9 +98750,7 @@
/area/maintenance/port/aft)
"dKD" = (
/obj/machinery/atmospherics/components/trinary/filter{
density = 0;
dir = 8;
req_access = "0"
dir = 8
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/neutral,
@@ -100724,10 +100665,7 @@
/obj/machinery/light{
dir = 1
},
/obj/structure/sign/atmosplaque{
desc = "A plaque commemorating the fallen, may they rest in peace, forever asleep amongst the stars. Someone has drawn a picture of a crying badger at the bottom.";
icon_state = "kiddieplaque";
name = "Remembrance Plaque";
/obj/structure/sign/kiddieplaque/badger{
pixel_y = 32
},
/turf/open/floor/plasteel/vault{
@@ -105600,10 +105538,7 @@
/area/shuttle/escape)
"dYc" = (
/obj/structure/lattice,
/obj/structure/grille{
density = 0;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/turf/open/space,
/area/space)
"dYd" = (
@@ -105932,6 +105867,7 @@
/area/security/checkpoint/checkpoint2)
"dYE" = (
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
},
/obj/effect/spawner/structure/window/reinforced,
@@ -108434,8 +108370,8 @@
amount = 50
},
/obj/item/crowbar,
/obj/item/grenade/chem_grenade/metalfoam,
/obj/item/grenade/chem_grenade/metalfoam,
/obj/item/grenade/chem_grenade/smart_metal_foam,
/obj/item/grenade/chem_grenade/smart_metal_foam,
/obj/effect/turf_decal/bot,
/obj/structure/sign/poster/official/report_crimes{
pixel_y = 32
@@ -109672,24 +109608,32 @@
/area/hallway/primary/aft)
"eiL" = (
/obj/structure/cable/white{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/open/floor/plasteel/neutral,
/area/hallway/primary/aft)
"eiM" = (
/obj/structure/cable/white{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/open/floor/plasteel/neutral,
/area/hallway/primary/aft)
"eiN" = (
/obj/structure/cable/white{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/open/floor/plasteel/neutral,
/area/hallway/primary/aft)
"eiO" = (
/obj/structure/cable/white{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/open/floor/plasteel/neutral,
@@ -109795,6 +109739,8 @@
/area/crew_quarters/dorms)
"ejb" = (
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
@@ -109818,6 +109764,8 @@
/area/crew_quarters/dorms)
"ejd" = (
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -136748,7 +136696,7 @@ aae
aae
aae
aaf
dYc
aBW
aae
aae
aaa
@@ -136999,7 +136947,7 @@ aaa
aaa
aae
aaf
dYc
aBW
aae
aae
aaa
@@ -137525,7 +137473,7 @@ dZB
eab
ear
aaa
dYc
aBW
aaa
aaa
aaa
@@ -139581,7 +139529,7 @@ dZB
eaf
ear
aaa
dYc
aBW
aae
aae
aae
@@ -140595,7 +140543,7 @@ dVy
dUl
aaf
aaf
dYc
aBW
aaa
dZB
eag
@@ -140609,7 +140557,7 @@ dZB
eag
ear
aaa
dYc
aBW
aaa
aaa
aaa
@@ -141112,14 +141060,14 @@ aaf
aae
aae
aae
dYc
aBW
aae
aaa
aaa
aaf
aaa
aaa
dYc
aBW
aae
aae
aaf
@@ -141376,7 +141324,7 @@ aae
aaf
aae
aae
dYc
aBW
aaa
aaa
aaa
File diff suppressed because it is too large Load Diff
-2
View File
@@ -358,8 +358,6 @@
/area/mine/laborcamp)
"bj" = (
/obj/machinery/status_display{
density = 0;
layer = 4;
pixel_y = 32
},
/turf/open/floor/plasteel,
File diff suppressed because it is too large Load Diff
+76 -227
View File
@@ -2168,9 +2168,7 @@
/turf/open/floor/plasteel/black,
/area/ai_monitored/turret_protected/aisat_interior)
"afe" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-09";
name = "Photosynthetic Potted plant";
/obj/item/twohanded/required/kirbyplants/photosynthetic{
pixel_y = 10
},
/obj/structure/cable/yellow{
@@ -2198,9 +2196,7 @@
},
/area/ai_monitored/turret_protected/aisat_interior)
"afg" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-09";
name = "Photosynthetic Potted plant";
/obj/item/twohanded/required/kirbyplants/photosynthetic{
pixel_y = 10
},
/obj/structure/cable/yellow{
@@ -3033,13 +3029,8 @@
/area/security/main)
"ahh" = (
/obj/structure/lattice/catwalk,
/obj/structure/showcase{
density = 0;
desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
/obj/structure/showcase/cyborg/old{
dir = 2;
icon = 'icons/mob/robots.dmi';
icon_state = "robot_old";
name = "Cyborg Statue";
pixel_y = 20
},
/turf/open/space,
@@ -4074,8 +4065,6 @@
"ajo" = (
/obj/machinery/vending/coffee,
/obj/machinery/status_display{
density = 0;
layer = 4;
pixel_y = 32
},
/turf/open/floor/plasteel/red/side{
@@ -4413,8 +4402,6 @@
/obj/structure/table/wood,
/obj/machinery/recharger,
/obj/machinery/status_display{
density = 0;
layer = 4;
pixel_y = 32
},
/obj/machinery/light{
@@ -4715,9 +4702,7 @@
/obj/structure/window/reinforced{
dir = 4
},
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/turf/open/floor/plasteel/whitered/side{
dir = 5
},
@@ -6582,8 +6567,6 @@
dir = 4
},
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = -32
},
/turf/open/floor/mineral/titanium/blue,
@@ -6596,8 +6579,6 @@
dir = 8
},
/obj/machinery/status_display{
density = 0;
layer = 3;
pixel_x = 32
},
/turf/open/floor/mineral/titanium/blue,
@@ -7483,12 +7464,9 @@
d2 = 8;
icon_state = "0-8"
},
/obj/machinery/door/poddoor{
density = 0;
icon_state = "open";
/obj/machinery/door/poddoor/preopen{
id = "bridgespace";
name = "bridge external shutters";
opacity = 0
name = "bridge external shutters"
},
/turf/open/floor/plating,
/area/bridge)
@@ -7947,8 +7925,6 @@
/area/bridge)
"arK" = (
/obj/machinery/status_display{
density = 0;
layer = 4;
pixel_y = 32
},
/obj/item/folder/yellow{
@@ -9402,22 +9378,16 @@
/turf/open/floor/plating,
/area/maintenance/fore)
"auK" = (
/obj/machinery/door/poddoor{
density = 0;
icon_state = "open";
/obj/machinery/door/poddoor/preopen{
id = "bridgespace";
name = "bridge external shutters";
opacity = 0
name = "bridge external shutters"
},
/turf/open/floor/plasteel/black,
/area/bridge)
"auL" = (
/obj/machinery/door/poddoor{
density = 0;
icon_state = "open";
/obj/machinery/door/poddoor/preopen{
id = "bridgespace";
name = "bridge external shutters";
opacity = 0
name = "bridge external shutters"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/black,
@@ -10202,8 +10172,6 @@
dir = 4
},
/obj/machinery/status_display{
density = 0;
layer = 4;
pixel_y = 32
},
/turf/open/floor/plasteel/arrival{
@@ -10237,8 +10205,7 @@
/area/crew_quarters/fitness/recreation)
"awC" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-05";
layer = 4.1
icon_state = "plant-05"
},
/obj/machinery/power/apc{
dir = 1;
@@ -10560,12 +10527,9 @@
/area/bridge)
"axf" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/poddoor{
density = 0;
icon_state = "open";
/obj/machinery/door/poddoor/preopen{
id = "bridgespace";
name = "bridge external shutters";
opacity = 0
name = "bridge external shutters"
},
/turf/open/floor/plasteel/vault{
dir = 8
@@ -10725,8 +10689,7 @@
/area/security/brig)
"axF" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10";
layer = 4.1
icon_state = "plant-10"
},
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
@@ -10921,12 +10884,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/machinery/door/poddoor{
density = 0;
icon_state = "open";
/obj/machinery/door/poddoor/preopen{
id = "bridgespace";
name = "bridge external shutters";
opacity = 0
name = "bridge external shutters"
},
/turf/open/floor/plasteel/vault{
dir = 8
@@ -11951,8 +11911,7 @@
/area/hallway/primary/fore)
"aAo" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-14";
layer = 4.1
icon_state = "plant-14"
},
/turf/open/floor/plasteel/red/side{
dir = 4
@@ -12292,7 +12251,6 @@
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-20";
layer = 4.1;
pixel_y = 3
},
/turf/open/floor/plasteel/black,
@@ -12484,8 +12442,6 @@
/area/crew_quarters/heads/hop)
"aBF" = (
/obj/machinery/status_display{
density = 0;
layer = 4;
pixel_y = 32
},
/obj/structure/bed/dogbed/ian,
@@ -12632,8 +12588,7 @@
/area/crew_quarters/fitness/recreation)
"aBY" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-05";
layer = 4.1
icon_state = "plant-05"
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
@@ -12744,7 +12699,6 @@
/obj/structure/table/wood,
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-18";
layer = 4.1;
pixel_y = 12
},
/turf/open/floor/plasteel/grimy,
@@ -13835,9 +13789,7 @@
pixel_x = -1;
pixel_y = 9
},
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{
pixel_y = 0
},
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass,
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{
pixel_x = 7;
pixel_y = 2
@@ -14057,8 +14009,7 @@
/area/crew_quarters/heads/hop)
"aEM" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-24";
layer = 4.1
icon_state = "plant-24"
},
/obj/structure/cable{
d1 = 1;
@@ -14382,13 +14333,10 @@
name = "Reception Window";
req_access_txt = "0"
},
/obj/machinery/door/poddoor{
density = 0;
icon_state = "open";
/obj/machinery/door/poddoor/preopen{
id = "hop";
layer = 3.1;
name = "privacy shutters";
opacity = 0
name = "privacy shutters"
},
/turf/open/floor/plasteel,
/area/crew_quarters/heads/hop)
@@ -14693,13 +14641,8 @@
},
/area/crew_quarters/heads/captain)
"aGn" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-09";
layer = 3.1;
light_color = "#2cb2e8";
light_range = 3;
name = "Photosynthetic Potted plant";
pixel_y = 0
/obj/item/twohanded/required/kirbyplants/photosynthetic{
layer = 3.1
},
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
@@ -14979,7 +14922,6 @@
"aHa" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_y = 3
},
/turf/open/floor/plasteel/vault{
@@ -15715,8 +15657,6 @@
"aID" = (
/obj/structure/chair,
/obj/machinery/status_display{
density = 0;
layer = 4;
pixel_y = 30
},
/turf/open/floor/plasteel/red/side{
@@ -16589,8 +16529,7 @@
/area/hallway/primary/central)
"aKg" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-04";
layer = 4.1
icon_state = "plant-04"
},
/turf/open/floor/plasteel/white/corner{
tag = "icon-whitecorner (EAST)";
@@ -16963,6 +16902,7 @@
id = "trash";
name = "disposal bay door"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/maintenance/disposal)
"aLo" = (
@@ -17246,8 +17186,7 @@
pixel_y = 22
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-14";
layer = 4.1
icon_state = "plant-14"
},
/turf/open/floor/plasteel,
/area/teleporter)
@@ -17382,8 +17321,6 @@
},
/obj/effect/spawner/lootdrop/maintenance,
/obj/machinery/status_display{
density = 0;
layer = 4;
pixel_y = 30;
supply_display = 1
},
@@ -17426,9 +17363,7 @@
dir = 4;
id = "packageSort2"
},
/obj/structure/plasticflaps{
opacity = 0
},
/obj/structure/plasticflaps,
/obj/machinery/light/small{
dir = 1
},
@@ -17647,8 +17582,7 @@
/area/shuttle/escape)
"aMK" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10";
layer = 4.1
icon_state = "plant-10"
},
/turf/open/floor/plasteel/escape{
dir = 9
@@ -17689,7 +17623,6 @@
"aMP" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_y = 3
},
/obj/structure/extinguisher_cabinet{
@@ -18368,8 +18301,7 @@
/area/hallway/secondary/exit/departure_lounge)
"aOr" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-16";
layer = 4.1
icon_state = "plant-16"
},
/obj/machinery/firealarm{
dir = 1;
@@ -20657,8 +20589,6 @@
id = "QMLoad"
},
/obj/machinery/status_display{
density = 0;
layer = 4;
pixel_y = 30;
supply_display = 1
},
@@ -21659,7 +21589,6 @@
id = "barshutters";
name = "Bar Lockdown";
pixel_x = 28;
pixel_y = 0;
req_access_txt = "28"
},
/obj/item/device/radio/intercom{
@@ -22363,8 +22292,7 @@
/area/hallway/secondary/exit/departure_lounge)
"aWL" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-14";
layer = 4.1
icon_state = "plant-14"
},
/turf/open/floor/plasteel/escape{
dir = 6
@@ -22766,7 +22694,6 @@
"aXD" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_y = 3
},
/turf/open/floor/plasteel/escape{
@@ -22782,8 +22709,7 @@
/area/hallway/secondary/exit/departure_lounge)
"aXF" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10";
layer = 4.1
icon_state = "plant-10"
},
/obj/structure/extinguisher_cabinet{
pixel_x = 27
@@ -22814,13 +22740,10 @@
name = "Security Checkpoint";
req_access_txt = "1"
},
/obj/machinery/door/poddoor{
density = 0;
icon_state = "open";
/obj/machinery/door/poddoor/preopen{
id = "papersplease";
layer = 3.1;
name = "privacy shutters";
opacity = 0
name = "privacy shutters"
},
/obj/item/folder/red,
/obj/item/pen,
@@ -22986,7 +22909,6 @@
/obj/structure/table/reinforced,
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-18";
layer = 4.1;
pixel_y = 10
},
/turf/open/floor/plasteel/darkred/side{
@@ -23020,7 +22942,6 @@
/obj/structure/disposalpipe/segment,
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-18";
layer = 4.1;
pixel_y = 10
},
/turf/open/floor/plasteel/darkred/side{
@@ -23380,8 +23301,7 @@
/area/crew_quarters/kitchen)
"aYY" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-05";
layer = 4.1
icon_state = "plant-05"
},
/turf/open/floor/plasteel/black,
/area/crew_quarters/bar)
@@ -24369,8 +24289,7 @@
/area/hydroponics)
"bbd" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10";
layer = 4.1
icon_state = "plant-10"
},
/turf/open/floor/plasteel/green/corner,
/area/hydroponics)
@@ -24699,13 +24618,10 @@
req_access_txt = "1"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/door/poddoor{
density = 0;
icon_state = "open";
/obj/machinery/door/poddoor/preopen{
id = "papersplease";
layer = 3.1;
name = "privacy shutters";
opacity = 0
name = "privacy shutters"
},
/obj/item/crowbar,
/obj/effect/turf_decal/delivery,
@@ -26186,8 +26102,7 @@
/area/hallway/primary/central)
"bfp" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/machinery/button/door{
id = "kitchenwindowshutters";
@@ -26270,8 +26185,6 @@
d2 = 2
},
/obj/machinery/status_display{
density = 0;
layer = 4;
pixel_y = 30
},
/turf/open/floor/plasteel/black,
@@ -26688,8 +26601,7 @@
/area/crew_quarters/bar)
"bgv" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-14";
layer = 4.1
icon_state = "plant-14"
},
/turf/open/floor/plasteel/neutral/corner{
dir = 4
@@ -27873,8 +27785,7 @@
/area/hallway/primary/central)
"biQ" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-05";
layer = 4.1
icon_state = "plant-05"
},
/turf/open/floor/plasteel/blue/side,
/area/hallway/primary/central)
@@ -27885,8 +27796,7 @@
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-05";
layer = 4.1
icon_state = "plant-05"
},
/turf/open/floor/plasteel/blue/corner{
dir = 8
@@ -27979,8 +27889,7 @@
/area/medical/medbay/central)
"bji" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10";
layer = 4.1
icon_state = "plant-10"
},
/turf/open/floor/plasteel/blue/side,
/area/hallway/primary/central)
@@ -28004,8 +27913,7 @@
/area/hallway/primary/central)
"bjn" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10";
layer = 4.1
icon_state = "plant-10"
},
/turf/open/floor/plasteel/purple/side,
/area/hallway/primary/central)
@@ -28994,7 +28902,6 @@
"blM" = (
/obj/machinery/r_n_d/server/core,
/obj/structure/sign/poster/random{
pixel_x = 0;
pixel_y = 32
},
/turf/open/floor/circuit/telecomms/server,
@@ -29005,7 +28912,6 @@
light_color = "#c1caff"
},
/obj/structure/sign/poster/random{
pixel_x = 0;
pixel_y = 32
},
/turf/open/floor/plasteel/black/telecomms/server/walkway,
@@ -29013,7 +28919,6 @@
"blO" = (
/obj/machinery/r_n_d/server/robotics,
/obj/structure/sign/poster/random{
pixel_x = 0;
pixel_y = 32
},
/turf/open/floor/circuit/telecomms/server,
@@ -29070,10 +28975,7 @@
/turf/open/floor/engine,
/area/science/explab)
"blV" = (
/obj/structure/sign/atmosplaque{
desc = "A guide to the drone shell dispenser, detailing the constructive and destructive applications of modern repair drones, as well as the development of the incorruptible cyborg servants of tomorrow, available today.";
icon_state = "kiddieplaque";
name = "\improper 'Perfect Drone' sign";
/obj/structure/sign/kiddieplaque/perfect_drone{
pixel_y = 32
},
/turf/open/floor/engine,
@@ -29339,8 +29241,7 @@
/area/security/checkpoint/medical)
"bmw" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-05";
layer = 4.1
icon_state = "plant-05"
},
/turf/open/floor/plasteel/whiteblue/corner{
dir = 8
@@ -29739,8 +29640,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
dir = 8;
pixel_x = 28;
pixel_y = 0
pixel_x = 28
},
/obj/structure/table,
/obj/item/storage/box/gloves{
@@ -29992,8 +29892,7 @@
/obj/item/device/radio/intercom{
dir = 0;
name = "Station Intercom (General)";
pixel_x = -28;
pixel_y = 0
pixel_x = -28
},
/turf/open/floor/plasteel/whitepurple/side{
dir = 1
@@ -30313,8 +30212,7 @@
},
/obj/machinery/light,
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10";
layer = 4.1
icon_state = "plant-10"
},
/turf/open/floor/plasteel/vault{
dir = 8
@@ -30569,8 +30467,7 @@
frequency = 1485;
listening = 1;
name = "Station Intercom (Medbay)";
pixel_x = -30;
pixel_y = 0
pixel_x = -30
},
/turf/open/floor/plasteel/blue,
/area/medical/genetics)
@@ -30845,8 +30742,7 @@
"bqa" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/sign/directions/engineering{
pixel_x = 32;
pixel_y = 0
pixel_x = 32
},
/turf/open/floor/plasteel/yellow/corner{
dir = 4
@@ -31515,10 +31411,7 @@
},
/area/medical/medbay/central)
"brj" = (
/obj/machinery/chem_master{
layer = 2.7;
pixel_x = -2
},
/obj/machinery/chem_master,
/turf/open/floor/plasteel/whiteyellow/side{
dir = 9
},
@@ -31544,10 +31437,7 @@
},
/area/medical/chemistry)
"brm" = (
/obj/machinery/chem_master{
layer = 2.7;
pixel_x = -2
},
/obj/machinery/chem_master,
/obj/machinery/button/door{
id = "chemistry_shutters";
name = "Shutters Control";
@@ -33080,9 +32970,7 @@
/area/science/robotics/lab)
"buw" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-07";
name = "Photosynthetic Potted plant";
/obj/item/twohanded/required/kirbyplants/photosynthetic{
pixel_y = 10
},
/turf/open/floor/plasteel/darkpurple/side{
@@ -33099,9 +32987,7 @@
/turf/open/floor/plasteel/black,
/area/science/server)
"buy" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-07";
name = "Photosynthetic Potted plant";
/obj/item/twohanded/required/kirbyplants/photosynthetic{
pixel_y = 10
},
/turf/open/floor/plasteel/darkpurple/side{
@@ -33144,8 +33030,7 @@
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-14";
layer = 4.1
icon_state = "plant-14"
},
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
@@ -33817,7 +33702,6 @@
dir = 1
},
/obj/structure/extinguisher_cabinet{
pixel_x = 0;
pixel_y = 30
},
/turf/open/floor/plasteel/darkpurple/side{
@@ -33860,8 +33744,7 @@
/area/science/research)
"bvU" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-18";
layer = 4.1
icon_state = "plant-18"
},
/turf/open/floor/plasteel/darkpurple/side{
dir = 1
@@ -34303,9 +34186,7 @@
dir = 4
},
/obj/structure/bed/roller,
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/turf/open/floor/plasteel/whiteblue/corner,
/area/medical/medbay/central)
"bwQ" = (
@@ -35497,9 +35378,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-09";
name = "Photosynthetic Potted plant";
/obj/item/twohanded/required/kirbyplants/photosynthetic{
pixel_y = 4
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -35875,8 +35754,7 @@
dir = 8;
name = "Monastery Monitor";
network = list("Monastery");
pixel_x = 28;
pixel_y = 0
pixel_x = 28
},
/turf/open/floor/plasteel/black,
/area/hallway/secondary/entry)
@@ -35973,8 +35851,7 @@
dir = 5
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10";
layer = 4.1
icon_state = "plant-10"
},
/turf/open/floor/plasteel/whitegreen/side,
/area/medical/medbay/zone3)
@@ -36120,8 +35997,7 @@
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk,
/obj/machinery/keycard_auth{
pixel_x = 26;
pixel_y = 0
pixel_x = 26
},
/turf/open/floor/plasteel/cmo,
/area/crew_quarters/heads/cmo)
@@ -36774,7 +36650,6 @@
"bBB" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-20";
layer = 4.1;
pixel_y = 3
},
/turf/open/floor/plasteel/vault{
@@ -38209,8 +38084,7 @@
/area/crew_quarters/heads/cmo)
"bEH" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-16";
layer = 4.1
icon_state = "plant-16"
},
/turf/open/floor/plasteel/cmo,
/area/crew_quarters/heads/cmo)
@@ -38329,8 +38203,7 @@
/area/hallway/primary/aft)
"bEQ" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-03";
layer = 4.1
icon_state = "plant-03"
},
/turf/open/floor/plasteel/vault{
dir = 8
@@ -38374,7 +38247,6 @@
/obj/item/pen,
/obj/item/stamp/rd,
/obj/machinery/status_display{
density = 0;
pixel_y = -30;
supply_display = 0
},
@@ -39403,8 +39275,6 @@
"bHc" = (
/obj/machinery/computer/med_data,
/obj/machinery/status_display{
density = 0;
layer = 4;
pixel_y = 32
},
/turf/open/floor/plasteel/freezer,
@@ -39616,7 +39486,6 @@
/obj/machinery/button/door{
id = "toxvent";
name = "Aft Vent Control";
pixel_x = 0;
pixel_y = -24;
req_access_txt = "0";
req_one_access_txt = "8;24"
@@ -39814,7 +39683,6 @@
frequency = 1485;
listening = 1;
name = "Station Intercom (Medbay)";
pixel_x = 0;
pixel_y = 28
},
/turf/open/floor/plasteel/whitegreen/side{
@@ -40613,7 +40481,6 @@
},
/obj/machinery/space_heater,
/obj/structure/sign/poster/random{
pixel_x = 0;
pixel_y = -32
},
/turf/open/floor/plasteel/green/side,
@@ -40634,7 +40501,6 @@
pixel_x = 32
},
/obj/structure/sign/poster/random{
pixel_x = 0;
pixel_y = -32
},
/turf/open/floor/plasteel/green/side{
@@ -40984,9 +40850,7 @@
/area/medical/medbay/central)
"bKB" = (
/obj/structure/bed/roller,
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/turf/open/floor/plasteel/freezer,
/area/medical/surgery)
"bKC" = (
@@ -41563,8 +41427,7 @@
/area/hallway/primary/aft)
"bLT" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "applebush";
layer = 4.1
icon_state = "applebush"
},
/obj/machinery/airalarm{
pixel_y = 22
@@ -41781,6 +41644,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/science/mineral_storeroom)
"bMr" = (
@@ -41912,7 +41776,6 @@
},
/obj/item/storage/box/syringes,
/obj/structure/reagent_dispensers/virusfood{
density = 0;
pixel_x = 32
},
/obj/item/reagent_containers/spray/cleaner,
@@ -45906,7 +45769,7 @@
/area/storage/tech)
"bVL" = (
/obj/structure/table,
/obj/item/storage/box/metalfoam{
/obj/item/storage/box/smart_metal_foam{
pixel_x = 4;
pixel_y = 7
},
@@ -46907,7 +46770,6 @@
dir = 1;
name = "Auxillary Base Monitor";
network = list("AuxBase");
pixel_x = 0;
pixel_y = -28
},
/obj/machinery/computer/shuttle/mining,
@@ -48297,8 +48159,7 @@
dir = 4;
name = "turbine vent monitor";
network = list("Turbine");
pixel_x = -29;
pixel_y = 0
pixel_x = -29
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 1
@@ -48786,7 +48647,6 @@
/obj/structure/table/wood,
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-18";
layer = 4.1;
pixel_y = 8
},
/obj/machinery/camera{
@@ -49475,7 +49335,6 @@
icon_state = "space";
layer = 4;
name = "EXTERNAL AIRLOCK";
pixel_x = 0;
pixel_y = 32
},
/turf/open/floor/plating,
@@ -49582,8 +49441,7 @@
/area/chapel/main/monastery)
"cdz" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-08";
layer = 4.1
icon_state = "plant-08"
},
/turf/open/floor/plasteel/chapel{
dir = 4
@@ -50097,8 +49955,7 @@
/area/chapel/main/monastery)
"ceK" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-08";
layer = 4.1
icon_state = "plant-08"
},
/turf/open/floor/plasteel/black,
/area/chapel/main/monastery)
@@ -54128,7 +53985,6 @@
/obj/machinery/button/door{
id = "barshutters";
name = "Bar Lockdown";
pixel_x = 0;
pixel_y = 26;
req_access_txt = "28"
},
@@ -55121,7 +54977,6 @@
/obj/structure/table/wood,
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-18";
layer = 4.1;
pixel_y = 8
},
/turf/open/floor/carpet,
@@ -55696,8 +55551,7 @@
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10";
layer = 4.1
icon_state = "plant-10"
},
/turf/open/floor/plasteel/black,
/area/chapel/main/monastery)
@@ -55762,8 +55616,7 @@
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/black,
/area/chapel/main/monastery)
@@ -56455,8 +56308,7 @@
},
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/black,
/area/chapel/main/monastery)
@@ -56562,8 +56414,7 @@
/area/chapel/main/monastery)
"cvM" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10";
layer = 4.1
icon_state = "plant-10"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9
@@ -57889,7 +57740,6 @@
/obj/structure/table/wood,
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-05";
layer = 4.1;
pixel_y = 10
},
/turf/open/floor/plasteel/vault{
@@ -57934,7 +57784,6 @@
/obj/structure/table/wood,
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-05";
layer = 4.1;
pixel_y = 10
},
/turf/open/floor/plasteel/vault{
@@ -103988,8 +103837,8 @@ aaa
aaa
aaa
aLn
aLn
aNT
aQo
aPg
aQl
aRu
+132 -143
View File
@@ -66,7 +66,6 @@
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-05";
layer = 4.1;
pixel_y = 4
},
/turf/open/floor/holofloor{
@@ -292,7 +291,6 @@
/obj/structure/table/wood,
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-05";
layer = 4.1;
pixel_y = 10
},
/turf/open/floor/holofloor{
@@ -415,14 +413,14 @@
/obj/structure/table/glass,
/obj/item/surgicaldrill,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"br" = (
/obj/structure/table/glass,
/obj/item/hemostat,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"bs" = (
@@ -432,14 +430,14 @@
},
/obj/item/circular_saw,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"bt" = (
/obj/structure/table/glass,
/obj/item/retractor,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"bu" = (
@@ -447,7 +445,7 @@
/obj/item/stack/medical/gauze,
/obj/item/cautery,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"bv" = (
@@ -528,7 +526,7 @@
/obj/item/surgical_drapes,
/obj/item/razor,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"bJ" = (
@@ -538,7 +536,7 @@
/area/holodeck/rec_center/medical)
"bK" = (
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"bL" = (
@@ -604,19 +602,19 @@
/area/holodeck/rec_center/pet_lounge)
"bX" = (
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"bZ" = (
/obj/structure/table/optable,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"ca" = (
/obj/machinery/computer/operating,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cb" = (
@@ -625,7 +623,7 @@
/obj/item/clothing/suit/apron/surgical,
/obj/item/clothing/mask/surgical,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cc" = (
@@ -668,7 +666,7 @@
dir = 1
},
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cj" = (
@@ -680,12 +678,12 @@
/obj/structure/table/glass,
/obj/machinery/reagentgrinder,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cl" = (
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cm" = (
@@ -696,13 +694,13 @@
},
/obj/item/storage/box/beakers,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cn" = (
/obj/machinery/washing_machine,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"co" = (
@@ -776,25 +774,25 @@
"cy" = (
/obj/machinery/chem_master,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cz" = (
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cA" = (
/obj/structure/table/glass,
/obj/item/device/healthanalyzer,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cB" = (
/obj/structure/closet/wardrobe/white,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cC" = (
@@ -910,7 +908,7 @@
dir = 1
},
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cW" = (
@@ -923,7 +921,7 @@
dir = 1
},
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cX" = (
@@ -932,7 +930,7 @@
},
/obj/machinery/computer/pandemic,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"cY" = (
@@ -964,7 +962,7 @@
/area/holodeck/rec_center/pet_lounge)
"de" = (
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"df" = (
@@ -976,12 +974,12 @@
"dg" = (
/obj/machinery/door/window/westleft,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"dh" = (
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"di" = (
@@ -990,11 +988,9 @@
"dj" = (
/obj/structure/bed,
/obj/item/bedsheet/medical,
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"dk" = (
@@ -1003,11 +999,9 @@
},
/obj/structure/bed,
/obj/item/bedsheet/medical,
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"dl" = (
@@ -1018,15 +1012,13 @@
dir = 1
},
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"dm" = (
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"dn" = (
@@ -1034,7 +1026,7 @@
dir = 1
},
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/medical)
"do" = (
@@ -1228,7 +1220,7 @@
dir = 8
},
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/firingrange)
"dR" = (
@@ -1236,7 +1228,7 @@
dir = 1
},
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/firingrange)
"dS" = (
@@ -1247,7 +1239,7 @@
dir = 4
},
/turf/open/floor/holofloor{
icon_state = "white";
icon_state = "white"
},
/area/holodeck/rec_center/firingrange)
"dT" = (
@@ -2923,7 +2915,6 @@
/area/centcom/control)
"iQ" = (
/obj/machinery/status_display{
density = 0;
name = "cargo display";
supply_display = 1
},
@@ -3508,8 +3499,7 @@
/area/centcom/control)
"kh" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/vault{
dir = 8
@@ -3664,8 +3654,7 @@
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/grimy,
/area/centcom/control)
@@ -3716,8 +3705,7 @@
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/grimy,
/area/centcom/control)
@@ -4067,8 +4055,7 @@
/area/centcom/control)
"ly" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/machinery/firealarm{
dir = 1;
@@ -4208,7 +4195,6 @@
"lS" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
@@ -4877,7 +4863,6 @@
"nz" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
@@ -5121,8 +5106,7 @@
/area/centcom/ferry)
"oe" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/machinery/light{
dir = 4
@@ -5440,8 +5424,7 @@
/area/centcom/ferry)
"oM" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/wood,
/area/centcom/ferry)
@@ -5499,8 +5482,7 @@
/area/centcom/ferry)
"oU" = (
/obj/structure/dresser,
/obj/structure/sign/goldenplaque{
name = "The Most Robust Captain Award for Robustness";
/obj/structure/sign/goldenplaque/captain{
pixel_x = 32
},
/turf/open/floor/plasteel/vault{
@@ -5883,8 +5865,7 @@
/area/centcom/ferry)
"pQ" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/machinery/light{
dir = 1
@@ -5924,6 +5905,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable/white{
d2 = 4;
icon_state = "0-4"
},
/obj/effect/turf_decal/stripes/line,
@@ -5961,6 +5943,7 @@
icon_state = "0-2"
},
/obj/structure/cable/white{
d2 = 8;
icon_state = "0-8"
},
/obj/effect/turf_decal/stripes/line,
@@ -6025,8 +6008,7 @@
/area/centcom/control)
"qd" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/structure/extinguisher_cabinet{
pixel_x = -24
@@ -6229,6 +6211,8 @@
dir = 4
},
/obj/structure/cable/white{
d1 = 2;
d2 = 4;
icon_state = "2-4"
},
/turf/open/floor/wood,
@@ -6241,6 +6225,8 @@
dir = 4
},
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/turf/open/floor/plasteel/vault{
@@ -6253,6 +6239,8 @@
},
/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/turf/open/floor/plasteel/grimy,
@@ -6262,6 +6250,8 @@
dir = 4
},
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/turf/open/floor/plasteel/grimy,
@@ -6275,6 +6265,8 @@
dir = 4
},
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/effect/turf_decal/stripes/line{
@@ -6288,9 +6280,13 @@
},
/obj/machinery/meter,
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/structure/cable/white{
d1 = 2;
d2 = 8;
icon_state = "2-8"
},
/turf/open/floor/plasteel/vault{
@@ -6305,9 +6301,11 @@
dir = 1
},
/obj/structure/cable/white{
d2 = 8;
icon_state = "0-8"
},
/obj/structure/cable/white{
d2 = 4;
icon_state = "0-4"
},
/obj/structure/cable/white{
@@ -6324,12 +6322,18 @@
},
/obj/machinery/meter,
/obj/structure/cable/white{
d1 = 1;
d2 = 8;
icon_state = "1-8"
},
/obj/structure/cable/white{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/obj/structure/cable/white{
d1 = 2;
d2 = 8;
icon_state = "2-8"
},
/turf/open/floor/plasteel/vault{
@@ -6419,7 +6423,7 @@
"qX" = (
/obj/structure/table,
/obj/item/toy/katana,
/obj/item/toy/carpplushie,
/obj/item/toy/plush/carpplushie,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
@@ -6616,6 +6620,8 @@
dir = 4
},
/obj/structure/cable/white{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/open/floor/wood,
@@ -6663,6 +6669,8 @@
/obj/effect/decal/cleanable/dirt,
/obj/machinery/portable_atmospherics/canister/air,
/obj/structure/cable/white{
d1 = 1;
d2 = 4;
icon_state = "1-4"
},
/obj/effect/turf_decal/stripes/line{
@@ -6677,9 +6685,13 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable/white{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/structure/cable/white{
d1 = 1;
d2 = 8;
icon_state = "1-8"
},
/obj/effect/turf_decal/stripes/line{
@@ -6697,6 +6709,8 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable/white{
d1 = 1;
d2 = 8;
icon_state = "1-8"
},
/obj/effect/turf_decal/stripes/line{
@@ -6784,8 +6798,7 @@
/area/centcom/control)
"rQ" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/green/corner{
dir = 4
@@ -6805,8 +6818,7 @@
/area/centcom/control)
"rT" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -6970,6 +6982,8 @@
/area/centcom/ferry)
"sn" = (
/obj/structure/cable/white{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/open/floor/wood,
@@ -7164,8 +7178,7 @@
/area/centcom/ferry)
"sN" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/vault{
dir = 10
@@ -7895,8 +7908,7 @@
/area/centcom/ferry)
"uG" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
@@ -7934,8 +7946,7 @@
/area/centcom/control)
"uN" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/green/side{
dir = 8
@@ -7943,8 +7954,7 @@
/area/centcom/control)
"uO" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/green/side{
dir = 4
@@ -8344,8 +8354,7 @@
/area/centcom/ferry)
"vU" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/vault{
dir = 8
@@ -8590,7 +8599,7 @@
/area/wizard_station)
"wA" = (
/obj/structure/destructible/cult/talisman{
desc = "A altar dedicated to the Wizard's Federation"
desc = "An altar dedicated to the Wizards' Federation"
},
/obj/item/kitchen/knife/ritual,
/turf/open/floor/engine/cult,
@@ -8696,8 +8705,7 @@
/area/centcom/ferry)
"wP" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/red/corner{
dir = 8
@@ -8871,8 +8879,7 @@
/area/centcom/evac)
"xt" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
@@ -9269,8 +9276,7 @@
/area/centcom/ferry)
"ym" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/structure/extinguisher_cabinet{
pixel_y = -32
@@ -9517,8 +9523,7 @@
/area/centcom/evac)
"yL" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/structure/extinguisher_cabinet{
pixel_x = -24
@@ -9778,8 +9783,7 @@
/area/centcom/control)
"zq" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/green/corner{
dir = 8
@@ -10260,8 +10264,7 @@
/area/tdome/tdomeobserve)
"AK" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/green/corner,
/area/tdome/tdomeobserve)
@@ -10338,8 +10341,7 @@
/area/tdome/tdomeobserve)
"AW" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/red/corner,
/area/tdome/tdomeobserve)
@@ -10391,8 +10393,7 @@
/area/tdome/tdomeobserve)
"Bg" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/green/corner{
dir = 8
@@ -10416,7 +10417,7 @@
/area/tdome/tdomeobserve)
"Bj" = (
/obj/structure/destructible/cult/forge{
desc = "A engine used in powering the wizards ship";
desc = "An engine used in powering the wizard's ship";
name = "magma engine"
},
/turf/open/floor/engine/cult,
@@ -10503,8 +10504,7 @@
/area/tdome/tdomeobserve)
"Bw" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/red/corner{
dir = 1
@@ -10512,8 +10512,7 @@
/area/tdome/tdomeobserve)
"Bx" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/red/side{
dir = 10
@@ -10543,8 +10542,7 @@
/area/tdome/tdomeobserve)
"BD" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/green/side{
dir = 6
@@ -10552,8 +10550,7 @@
/area/tdome/tdomeobserve)
"BE" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/green/corner{
dir = 4
@@ -10987,9 +10984,7 @@
/area/tdome/tdomeobserve)
"CE" = (
/obj/structure/table/wood,
/obj/structure/sign/atmosplaque{
desc = "This plaque commemorates those who have fallen in glorious combat. For all the charred, dizzy, and beaten men who have died in its hands.";
name = "Thunderdome Plaque";
/obj/structure/sign/atmosplaque/thunderdome{
pixel_y = -32
},
/obj/item/clothing/accessory/medal/gold{
@@ -11007,9 +11002,7 @@
/area/tdome/tdomeobserve)
"CG" = (
/obj/structure/table/wood,
/obj/structure/sign/atmosplaque{
desc = "This plaque commemorates those who have fallen in glorious combat. For all the charred, dizzy, and beaten men who have died in its hands.";
name = "Thunderdome Plaque";
/obj/structure/sign/atmosplaque/thunderdome{
pixel_y = -32
},
/obj/item/clothing/accessory/medal{
@@ -11264,8 +11257,7 @@
/area/tdome/tdomeobserve)
"Dl" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/neutral/corner,
/area/tdome/tdomeobserve)
@@ -11318,8 +11310,7 @@
/area/tdome/tdomeobserve)
"Ds" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/neutral/corner{
dir = 8;
@@ -11937,8 +11928,7 @@
/area/tdome/tdomeadmin)
"Fd" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/machinery/firealarm{
dir = 8;
@@ -11958,8 +11948,7 @@
/area/tdome/tdomeadmin)
"Fg" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/vault{
dir = 8
@@ -12329,19 +12318,19 @@
/area/abductor_ship)
"Gh" = (
/obj/machinery/abductor/experiment{
team = 1
team_number = 1
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"Gi" = (
/obj/machinery/abductor/console{
team = 1
team_number = 1
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"Gj" = (
/obj/machinery/abductor/pad{
team = 1
team_number = 1
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
@@ -12357,19 +12346,19 @@
/area/abductor_ship)
"Gm" = (
/obj/machinery/abductor/experiment{
team = 4
team_number = 4
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"Gn" = (
/obj/machinery/abductor/console{
team = 4
team_number = 4
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"Go" = (
/obj/machinery/abductor/pad{
team = 4
team_number = 4
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
@@ -12411,7 +12400,7 @@
/area/abductor_ship)
"Gw" = (
/obj/machinery/computer/camera_advanced/abductor{
team = 1
team_number = 1
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
@@ -12429,7 +12418,7 @@
/area/abductor_ship)
"GA" = (
/obj/machinery/computer/camera_advanced/abductor{
team = 4
team_number = 4
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
@@ -12490,13 +12479,13 @@
/area/abductor_ship)
"GM" = (
/obj/effect/landmark/abductor/scientist{
team = 4
team_number = 4
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"GN" = (
/obj/effect/landmark/abductor/agent{
team = 4
team_number = 4
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
@@ -12640,49 +12629,49 @@
/area/space)
"Hn" = (
/obj/machinery/abductor/experiment{
team = 2
team_number = 2
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"Ho" = (
/obj/machinery/abductor/console{
team = 2
team_number = 2
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"Hp" = (
/obj/machinery/abductor/pad{
team = 2
team_number = 2
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"Hq" = (
/obj/machinery/abductor/experiment{
team = 3
team_number = 3
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"Hr" = (
/obj/machinery/abductor/console{
team = 3
team_number = 3
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"Hs" = (
/obj/machinery/abductor/pad{
team = 3
team_number = 3
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"Ht" = (
/obj/machinery/computer/camera_advanced/abductor{
team = 2
team_number = 2
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"Hu" = (
/obj/machinery/computer/camera_advanced/abductor{
team = 3
team_number = 3
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
@@ -12704,25 +12693,25 @@
/area/centcom/evac)
"Hy" = (
/obj/effect/landmark/abductor/scientist{
team = 2
team_number = 2
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"Hz" = (
/obj/effect/landmark/abductor/agent{
team = 2
team_number = 2
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"HA" = (
/obj/effect/landmark/abductor/scientist{
team = 3
team_number = 3
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
"HB" = (
/obj/effect/landmark/abductor/agent{
team = 3
team_number = 3
},
/turf/open/floor/plating/abductor,
/area/abductor_ship)
-3
View File
@@ -148,7 +148,6 @@
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
@@ -307,7 +306,6 @@
"bc" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
@@ -480,7 +478,6 @@
"bG" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
+1 -2
View File
@@ -144,8 +144,7 @@
/area/shuttle/escape)
"aB" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
+2 -4
View File
@@ -680,8 +680,7 @@
/area/shuttle/escape)
"ca" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
@@ -703,8 +702,7 @@
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
+2 -9
View File
@@ -153,7 +153,6 @@
"an" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
@@ -168,7 +167,6 @@
"ap" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
@@ -689,8 +687,7 @@
/area/shuttle/escape)
"bz" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/obj/machinery/button/flasher{
id = "shuttleflash";
@@ -703,8 +700,7 @@
/area/shuttle/escape)
"bA" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1
icon_state = "plant-21"
},
/turf/open/floor/plasteel/neutral/corner{
dir = 4
@@ -883,7 +879,6 @@
"cb" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
@@ -1050,7 +1045,6 @@
"cA" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
@@ -1083,7 +1077,6 @@
"cE" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
-3
View File
@@ -304,7 +304,6 @@
"bg" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
@@ -359,7 +358,6 @@
"bp" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
@@ -369,7 +367,6 @@
"bq" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
pixel_x = -3;
pixel_y = 3
},
+2 -2
View File
@@ -288,7 +288,7 @@
/area/shuttle/escape)
"ba" = (
/obj/structure/destructible/cult/forge{
desc = "A engine used in powering the shuttle.";
desc = "An engine used in powering the shuttle.";
name = "magma engine"
},
/turf/open/floor/plasteel/yellow,
@@ -307,7 +307,7 @@
/area/shuttle/escape)
"bd" = (
/obj/structure/destructible/cult/forge{
desc = "A engine used in powering the shuttle.";
desc = "An engine used in powering the shuttle.";
name = "magma engine"
},
/turf/open/floor/plasteel/whitered,
+2 -8
View File
@@ -46,10 +46,7 @@
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/transport)
"am" = (
/obj/structure/grille{
density = 0;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/turf/open/floor/plating/airless,
/area/shuttle/transport)
"an" = (
@@ -114,10 +111,7 @@
/turf/closed/wall/mineral/titanium,
/area/shuttle/transport)
"aB" = (
/obj/structure/grille{
density = 0;
icon_state = "brokengrille"
},
/obj/structure/grille/broken,
/obj/structure/window/fulltile,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/transport)
+1 -3
View File
@@ -1478,9 +1478,7 @@
req_access_txt = "0";
use_power = 0
},
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/obj/effect/decal/cleanable/dirt{
desc = "A thin layer of dust coating the floor.";
name = "dust"
+3 -2
View File
@@ -132,5 +132,6 @@
#define NOLIVER 29
#define NOSTOMACH 30
//citadel code
#define NOAROUSAL 29//Stops all arousal effects
#define NOGENITALS 30//Cannot create, use, or otherwise have genitals
#define NOAROUSAL 29 //Stops all arousal effects
#define NOGENITALS 30 //Cannot create, use, or otherwise have genitals
#define NO_DNA_COPY 31
+4
View File
@@ -18,3 +18,7 @@
#define ANTAG_DATUM_IAA_HUMAN_CUSTOM /datum/antagonist/traitor/human/internal_affairs/custom
#define ANTAG_DATUM_IAA_AI_CUSTOM /datum/antagonist/traitor/AI/internal_affairs/custom
#define ANTAG_DATUM_IAA_AI /datum/antagonist/traitor/AI/internal_affairs
#define ANTAG_DATUM_BROTHER /datum/antagonist/brother
#define ANTAG_DATUM_ABDUCTOR /datum/antagonist/abductor
#define ANTAG_DATUM_ABDUCTOR_SCIENTIST /datum/antagonist/abductor/scientist
#define ANTAG_DATUM_ABDUCTOR_AGENT /datum/antagonist/abductor/agent
+1
View File
@@ -41,6 +41,7 @@
#define ANTAG_HUD_SOULLESS 17
#define ANTAG_HUD_CLOCKWORK 18
#define ANTAG_HUD_BORER 19
#define ANTAG_HUD_BROTHER 20
// Notification action types
#define NOTIFY_JUMP "jump"
+50 -8
View File
@@ -11,14 +11,56 @@
// All signals. Format:
// When the signal is called: (signal arguments)
#define COMSIG_COMPONENT_ADDED "component_added" //when a component is added to a datum: (datum/component)
#define COMSIG_COMPONENT_REMOVING "component_removing" //before a component is removed from a datum because of RemoveComponent: (datum/component)
// /datum signals
#define COMSIG_COMPONENT_ADDED "component_added" //when a component is added to a datum: (/datum/component)
#define COMSIG_COMPONENT_REMOVING "component_removing" //before a component is removed from a datum because of RemoveComponent: (/datum/component)
#define COMSIG_PARENT_QDELETED "parent_qdeleted" //before a datum's Destroy() is called: ()
#define COMSIG_ATOM_ENTERED "atom_entered" //from base of atom/Entered(): (atom/movable, atom)
#define COMSIG_MOVABLE_CROSSED "movable_crossed" //from base of atom/movable/Crossed(): (atom/movable)
#define COMSIG_PARENT_ATTACKBY "atom_attackby" //from the base of atom/attackby: (obj/item, mob/living, params)
#define COMSIG_PARENT_EXAMINE "atom_examine" //from the base of atom/examine: (mob)
#define COMSIG_ATOM_ENTERED "atom_entered" //from base of atom/Entered(): (atom/movable, atom)
// /atom signals
#define COMSIG_PARENT_ATTACKBY "atom_attackby" //from base of atom/attackby(): (/obj/item, /mob/living, params)
#define COMSIG_ATOM_HULK_ATTACK "hulk_attack" //from base of atom/attack_hulk(): (/mob/living/carbon/human)
#define COMSIG_PARENT_EXAMINE "atom_examine" //from base of atom/examine(): (/mob)
#define COMSIG_ATOM_ENTERED "atom_entered" //from base of atom/Entered(): (/atom/movable, /atom)
#define COMSIG_ATOM_EX_ACT "atom_ex_act" //from base of atom/ex_act(): (severity, target)
#define COMSIG_ATOM_EMP_ACT "atom_emp_act" //from base of atom/emp_act(): (severity)
#define COMSIG_ATOM_FIRE_ACT "atom_fire_act" //from base of atom/fire_act(): (exposed_temperature, exposed_volume)
#define COMSIG_ATOM_BULLET_ACT "atom_bullet_act" //from base of atom/bullet_act(): (/obj/item/projectile, def_zone)
#define COMSIG_ATOM_BLOB_ACT "atom_blob_act" //from base of atom/blob_act(): (/obj/structure/blob)
#define COMSIG_ATOM_ACID_ACT "atom_acid_act" //from base of atom/acid_act(): (acidpwr, acid_volume)
#define COMSIG_ATOM_EMAG_ACT "atom_emag_act" //from base of atom/emag_act(): ()
#define COMSIG_ATOM_NARSIE_ACT "atom_narsie_act" //from base of atom/narsie_act(): ()
#define COMSIG_ATOM_RATVAR_ACT "atom_ratvar_act" //from base of atom/ratvar_act(): ()
#define COMSIG_ATOM_RCD_ACT "atom_rcd_act" //from base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode)
#define COMSIG_ATOM_SING_PULL "atom_sing_pull" //from base of atom/singularity_pull(): (S, current_size)
#define COMSIG_MOVABLE_CROSSED "movable_crossed" //from base of atom/movable/Crossed(): (atom/movable)
#define COMSIG_CLICK "atom_click" //from base of atom/Click(): (location, control, params)
#define COMSIG_CLICK_SHIFT "shift_click" //from base of atom/ShiftClick(): (/mob)
#define COMSIG_CLICK_CTRL "ctrl_click" //from base of atom/CtrlClickOn(): (/mob)
#define COMSIG_CLICK_ALT "alt_click" //from base of atom/AltClick(): (/mob)
#define COMSIG_CLICK_CTRL_SHIFT "ctrl_shift_click" //from base of atom/CtrlShiftClick(/mob)
// /atom/movable signals
#define COMSIG_MOVABLE_MOVED "movable_moved" //from base of atom/movable/Moved(): (/atom, dir)
#define COMSIG_MOVABLE_CROSSED "movable_crossed" //from base of atom/movable/Crossed(): (/atom/movable)
#define COMSIG_MOVABLE_COLLIDE "movable_collide" //from base of atom/movable/Collide(): (/atom)
#define COMSIG_MOVABLE_IMPACT "movable_impact" //from base of atom/movable/throw_impact(): (/atom, throwingdatum)
// /obj/item signals
#define COMSIG_ITEM_ATTACK "item_attack" //from base of obj/item/attack(): (/mob/living/target, /mob/living/user)
#define COMSIG_ITEM_ATTACK_SELF "item_attack_self" //from base of obj/item/attack_self(): (/mob)
#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj" //from base of obj/item/attack_obj(): (/obj, /mob)
// /obj/item/clothing signals
#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): ()
// /obj/item signals
#define COMSIG_ITEM_ATTACK "item_attack" //from base of obj/item/attack(): (mob/living/target, mob/living/user)
#define COMSIG_ITEM_ATTACK_SELF "item_attack_self" //from base of obj/item/attack_self(): (mob)
#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj" //from base of obj/item/attack_obj(): (obj, mob)
// /obj/item/clothing signals
#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): ()
// /obj/machinery signals
#define COMSIG_MACHINE_PROCESS "machine_process" //from machinery subsystem fire(): ()
#define COMSIG_MACHINE_PROCESS_ATMOS "machine_process_atmos" //from air subsystem process_atmos_machinery(): ()
+8
View File
@@ -162,3 +162,11 @@ GLOBAL_LIST_INIT(pointed_types, typecacheof(list(
#define issignaler(O) (istype(O, /obj/item/device/assembly/signaler))
#define istimer(O) (istype(O, /obj/item/device/assembly/timer))
GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list(
/obj/item/stack/sheet/glass,
/obj/item/stack/sheet/rglass,
/obj/item/stack/sheet/plasmaglass,
/obj/item/stack/sheet/plasmarglass)))
#define is_glass_sheet(O) (is_type_in_typecache(O, GLOB.glass_sheet_types))
+4
View File
@@ -456,3 +456,7 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE
#define SECURITY_SAFE 1
#define SECURITY_ULTRASAFE 2
#define SECURITY_TRUSTED 3
//Dummy mob reserve slots
#define DUMMY_HUMAN_SLOT_PREFERENCES "dummy_preference_preview"
#define DUMMY_HUMAN_SLOT_MANIFEST "dummy_manifest_generation"
+2 -1
View File
@@ -12,6 +12,7 @@ Construction breaks otherwise
#define PIPE_HE_MANIFOLD /obj/machinery/atmospherics/pipe/heat_exchanging/manifold
#define PIPE_HE_4WAYMANIFOLD /obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w
#define PIPE_JUNCTION /obj/machinery/atmospherics/pipe/heat_exchanging/junction
#define PIPE_BLUESPACE /obj/machinery/atmospherics/pipe/bluespace
//Unary
#define PIPE_CONNECTOR /obj/machinery/atmospherics/components/unary/portables_connector
#define PIPE_UVENT /obj/machinery/atmospherics/components/unary/vent_pump
@@ -56,4 +57,4 @@ Construction breaks otherwise
#define STATION_TUBE_OPEN 0
#define STATION_TUBE_OPENING 1
#define STATION_TUBE_CLOSED 2
#define STATION_TUBE_CLOSING 3
#define STATION_TUBE_CLOSING 3
+3 -1
View File
@@ -23,12 +23,14 @@
#define ROLE_DEVIL "devil"
#define ROLE_SERVANT_OF_RATVAR "servant of Ratvar"
#define ROLE_BORER "borer"
#define ROLE_BROTHER "blood brother"
//Missing assignment means it's not a gamemode specific role, IT'S NOT A BUG OR ERROR.
//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_TRAITOR = /datum/game_mode/traitor,
ROLE_BROTHER = /datum/game_mode/traitor/bros,
ROLE_OPERATIVE = /datum/game_mode/nuclear,
ROLE_CHANGELING = /datum/game_mode/changeling,
ROLE_WIZARD = /datum/game_mode/wizard,
@@ -50,4 +52,4 @@ GLOBAL_LIST_INIT(special_roles, list(
//Job defines for what happens when you fail to qualify for any job during job selection
#define BEASSISTANT 1
#define BERANDOMJOB 2
#define RETURNTOLOBBY 3
#define RETURNTOLOBBY 3
+1
View File
@@ -3,6 +3,7 @@
#define DM_DIGEST "Digest"
#define DM_HEAL "Heal"
#define DM_NOISY "Noisy"
#define DM_DRAGON "Dragon"
#define VORE_STRUGGLE_EMOTE_CHANCE 40
+1 -1
View File
@@ -85,7 +85,7 @@
/proc/log_pda(text)
if (config.log_pda)
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]PDA: [text]")
WRITE_FILE(GLOB.world_pda_log, "\[[time_stamp()]]PDA: [text]")
/proc/log_comment(text)
if (config.log_pda)
+1 -1
View File
@@ -43,7 +43,7 @@
/client/proc/file_spam_check()
var/time_to_wait = GLOB.fileaccess_timer - world.time
if(time_to_wait > 0)
to_chat(src, "<font color='red'>Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds.</font>")
to_chat(src, "<font color='red'>Error: file_spam_check(): Spam. Please wait [DisplayTimeText(time_to_wait)].</font>")
return 1
GLOB.fileaccess_timer = world.time + FTPDELAY
return 0
+1 -1
View File
@@ -421,7 +421,7 @@
SEND_SOUND(M, 'sound/misc/notice2.ogg') //Alerting them to their consideration
if(flashwindow)
window_flash(M.client)
switch(ignore_category ? askuser(M,Question,"Please answer in [poll_time/10] seconds!","Yes","No","Never for this round", StealFocus=0, Timeout=poll_time) : askuser(M,Question,"Please answer in [poll_time/10] seconds!","Yes","No", StealFocus=0, Timeout=poll_time))
switch(ignore_category ? askuser(M,Question,"Please answer in [DisplayTimeText(poll_time)]!","Yes","No","Never for this round", StealFocus=0, Timeout=poll_time) : askuser(M,Question,"Please answer in [DisplayTimeText(poll_time)]!","Yes","No", StealFocus=0, Timeout=poll_time))
if(1)
to_chat(M, "<span class='notice'>Choice registered: Yes.</span>")
if(time_passed + poll_time <= world.time)
+3 -5
View File
@@ -926,10 +926,10 @@ GLOBAL_LIST_EMPTY(friendly_animal_types)
return 0
//For creating consistent icons for human looking simple animals
/proc/get_flat_human_icon(icon_id, datum/job/J, datum/preferences/prefs)
/proc/get_flat_human_icon(icon_id, datum/job/J, datum/preferences/prefs, dummy_key)
var/static/list/humanoid_icon_cache = list()
if(!icon_id || !humanoid_icon_cache[icon_id])
var/mob/living/carbon/human/dummy/body = new()
var/mob/living/carbon/human/dummy/body = generate_or_wait_for_human_dummy(dummy_key)
if(prefs)
prefs.copy_to(body)
@@ -956,14 +956,12 @@ GLOBAL_LIST_EMPTY(friendly_animal_types)
partial = getFlatIcon(body)
out_icon.Insert(partial,dir=EAST)
qdel(body)
humanoid_icon_cache[icon_id] = out_icon
dummy_key? unset_busy_human_dummy(dummy_key) : qdel(body)
return out_icon
else
return humanoid_icon_cache[icon_id]
//Hook, override to run code on- wait this is images
//Images have dir without being an atom, so they get their own definition.
//Lame.
+5 -1
View File
@@ -155,7 +155,6 @@ GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4,
var/size_factor = ((-cos(inputToDegrees) +1) /2) //returns a value from 0 to 1
return size_factor + scaling_modifier //scale mod of 0 results in a number from 0 to 1. A scale modifier of +0.5 returns 0.5 to 1.5
//to_chat(world, "Transform multiplier of [src] is [size_factor + scaling_modifer]")
//converts a uniform distributed random number into a normal distributed one
//since this method produces two random numbers, one is saved for subsequent calls
@@ -220,3 +219,8 @@ GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4,
new_x = Clamp(new_x, 0, world.maxx)
new_y = Clamp(new_y, 0, world.maxy)
return locate(new_x, new_y, starting.z)
/proc/round_down(num)
if(round(num) != num)
return round(num--)
else return num
+7 -3
View File
@@ -465,13 +465,17 @@ Proc for attack log creation, because really why not
if(H.dna && istype(H.dna.species, species_datum))
. = TRUE
/proc/spawn_atom_to_turf(spawn_type, target, amount, admin_spawn=FALSE)
/proc/spawn_atom_to_turf(spawn_type, target, amount, admin_spawn=FALSE, list/extra_args)
var/turf/T = get_turf(target)
if(!T)
CRASH("attempt to spawn atom type: [spawn_type] in nullspace")
for(var/j in 1 to amount)
var/atom/X = new spawn_type(T)
var/list/new_args = list(T)
if(extra_args)
new_args += extra_args
for(var/j in 1 to amount)
var/atom/X = new spawn_type(arglist(new_args))
X.admin_spawned = admin_spawn
/proc/spawn_and_random_walk(spawn_type, target, amount, walk_chance=100, max_walk=3, always_max_walk=FALSE, admin_spawn=FALSE)
+148 -52
View File
@@ -1,52 +1,148 @@
//Returns the world time in english
/proc/worldtime2text()
return gameTimestamp("hh:mm:ss", world.time)
/proc/time_stamp(format = "hh:mm:ss", show_ds)
var/time_string = time2text(world.timeofday, format)
return show_ds ? "[time_string]:[world.timeofday % 10]" : time_string
/proc/gameTimestamp(format = "hh:mm:ss", wtime=null)
if(!wtime)
wtime = world.time
return time2text(wtime - GLOB.timezoneOffset + SSticker.gametime_offset - SSticker.round_start_time, format)
/* Returns 1 if it is the selected month and day */
/proc/isDay(month, day)
if(isnum(month) && isnum(day))
var/MM = text2num(time2text(world.timeofday, "MM")) // get the current month
var/DD = text2num(time2text(world.timeofday, "DD")) // get the current day
if(month == MM && day == DD)
return 1
// Uncomment this out when debugging!
//else
//return 1
//returns timestamp in a sql and ISO 8601 friendly format
/proc/SQLtime(timevar)
if(!timevar)
timevar = world.realtime
return time2text(timevar, "YYYY-MM-DD hh:mm:ss")
GLOBAL_VAR_INIT(midnight_rollovers, 0)
GLOBAL_VAR_INIT(rollovercheck_last_timeofday, 0)
/proc/update_midnight_rollover()
if (world.timeofday < GLOB.rollovercheck_last_timeofday) //TIME IS GOING BACKWARDS!
return GLOB.midnight_rollovers++
return GLOB.midnight_rollovers
/proc/weekdayofthemonth()
var/DD = text2num(time2text(world.timeofday, "DD")) // get the current day
switch(DD)
if(8 to 13)
return 2
if(14 to 20)
return 3
if(21 to 27)
return 4
if(28 to INFINITY)
return 5
else
return 1
//Returns the world time in english
/proc/worldtime2text()
return gameTimestamp("hh:mm:ss", world.time)
/proc/time_stamp(format = "hh:mm:ss", show_ds)
var/time_string = time2text(world.timeofday, format)
return show_ds ? "[time_string]:[world.timeofday % 10]" : time_string
/proc/gameTimestamp(format = "hh:mm:ss", wtime=null)
if(!wtime)
wtime = world.time
return time2text(wtime - GLOB.timezoneOffset + SSticker.gametime_offset - SSticker.round_start_time, format)
/* Returns 1 if it is the selected month and day */
/proc/isDay(month, day)
if(isnum(month) && isnum(day))
var/MM = text2num(time2text(world.timeofday, "MM")) // get the current month
var/DD = text2num(time2text(world.timeofday, "DD")) // get the current day
if(month == MM && day == DD)
return 1
// Uncomment this out when debugging!
//else
//return 1
//returns timestamp in a sql and ISO 8601 friendly format
/proc/SQLtime(timevar)
if(!timevar)
timevar = world.realtime
return time2text(timevar, "YYYY-MM-DD hh:mm:ss")
GLOBAL_VAR_INIT(midnight_rollovers, 0)
GLOBAL_VAR_INIT(rollovercheck_last_timeofday, 0)
/proc/update_midnight_rollover()
if (world.timeofday < GLOB.rollovercheck_last_timeofday) //TIME IS GOING BACKWARDS!
return GLOB.midnight_rollovers++
return GLOB.midnight_rollovers
/proc/weekdayofthemonth()
var/DD = text2num(time2text(world.timeofday, "DD")) // get the current day
switch(DD)
if(8 to 13)
return 2
if(14 to 20)
return 3
if(21 to 27)
return 4
if(28 to INFINITY)
return 5
else
return 1
//Takes a value of time in deciseconds.
//Returns a text value of that number in hours, minutes, or seconds.
/proc/DisplayTimeText(time_value)
var/second = time_value*0.1
var/second_adjusted = null
var/second_rounded = FALSE
var/minute = null
var/hour = null
var/day = null
if(!second)
return "0 seconds"
if(second >= 60)
minute = round_down(second/60)
second = round(second - (minute*60), 0.1)
second_rounded = TRUE
if(second) //check if we still have seconds remaining to format, or if everything went into minute.
second_adjusted = round(second) //used to prevent '1 seconds' being shown
if(day || hour || minute)
if(second_adjusted == 1 && second >= 1)
second = " and 1 second"
else if(second > 1)
second = " and [second_adjusted] seconds"
else //shows a fraction if seconds is < 1
if(second_rounded) //no sense rounding again if it's already done
second = " and [second] seconds"
else
second = " and [round(second, 0.1)] seconds"
else
if(second_adjusted == 1 && second >= 1)
second = "1 second"
else if(second > 1)
second = "[second_adjusted] seconds"
else
if(second_rounded)
second = "[second] seconds"
else
second = "[round(second, 0.1)] seconds"
else
second = null
if(!minute)
return "[second]"
if(minute >= 60)
hour = round_down(minute/60,1)
minute = (minute - (hour*60))
if(minute) //alot simpler from here since you don't have to worry about fractions
if(minute != 1)
if((day || hour) && second)
minute = ", [minute] minutes"
else if((day || hour) && !second)
minute = " and [minute] minutes"
else
minute = "[minute] minutes"
else
if((day || hour) && second)
minute = ", 1 minute"
else if((day || hour) && !second)
minute = " and 1 minute"
else
minute = "1 minute"
else
minute = null
if(!hour)
return "[minute][second]"
if(hour >= 24)
day = round_down(hour/24,1)
hour = (hour - (day*24))
if(hour)
if(hour != 1)
if(day && (minute || second))
hour = ", [hour] hours"
else if(day && (!minute || !second))
hour = " and [hour] hours"
else
hour = "[hour] hours"
else
if(day && (minute || second))
hour = ", 1 hour"
else if(day && (!minute || !second))
hour = " and 1 hour"
else
hour = "1 hour"
else
hour = null
if(!day)
return "[hour][minute][second]"
if(day > 1)
day = "[day] days"
else
day = "1 day"
return "[day][hour][minute][second]"
+1 -1
View File
@@ -812,7 +812,7 @@ GLOBAL_LIST_INIT(can_embed_types, typecacheof(list(
/*
Checks if that loc and dir has a item on the wall
Checks if that loc and dir has an item on the wall
*/
GLOBAL_LIST_INIT(WALLITEMS, typecacheof(list(
/obj/machinery/power/apc, /obj/machinery/airalarm, /obj/item/device/radio/intercom,
-11
View File
@@ -1,11 +0,0 @@
diff a/code/_compile_options.dm b/code/_compile_options.dm (rejected hunks)
@@ -69,7 +69,7 @@
#error You need version 511 or higher
#endif
-//Update this whenever the db schema changes
+//Update this whenever the db schema changes
//make sure you add an update to the schema_version stable in the db changelog
#define DB_MAJOR_VERSION 3
-#define DB_MINOR_VERSION 2
+#define DB_MINOR_VERSION 3
+1
View File
@@ -20,6 +20,7 @@ GLOBAL_LIST_EMPTY(ai_list)
GLOBAL_LIST_EMPTY(pai_list)
GLOBAL_LIST_EMPTY(available_ai_shells)
GLOBAL_LIST_EMPTY(simple_animals)
GLOBAL_LIST_EMPTY(spidermobs) //all sentient spider mobs
GLOBAL_LIST_EMPTY(language_datum_instances)
GLOBAL_LIST_EMPTY(all_languages)
+2
View File
@@ -16,6 +16,8 @@ GLOBAL_VAR(config_error_log)
GLOBAL_PROTECT(config_error_log)
GLOBAL_VAR(sql_error_log)
GLOBAL_PROTECT(sql_error_log)
GLOBAL_VAR(world_pda_log)
GLOBAL_PROTECT(world_pda_log)
GLOBAL_LIST_EMPTY(bombers)
GLOBAL_PROTECT(bombers)
+3 -2
View File
@@ -14,7 +14,8 @@
if(call(client.click_intercept, "InterceptClickOn")(src, params, A))
return
if(control_disabled || stat) return
if(control_disabled || incapacitated())
return
if(ismob(A))
ai_actual_track(A)
@@ -31,7 +32,7 @@
if(call(client.click_intercept, "InterceptClickOn")(src, params, A))
return
if(control_disabled || stat)
if(control_disabled || incapacitated())
return
var/turf/pixel_turf = get_turf_pixel(A)
+5
View File
@@ -32,6 +32,7 @@
*/
/atom/Click(location,control,params)
if(initialized)
SendSignal(COMSIG_CLICK, location, control, params)
usr.ClickOn(src, params)
/atom/DblClick(location,control,params)
@@ -305,6 +306,7 @@
A.ShiftClick(src)
return
/atom/proc/ShiftClick(mob/user)
SendSignal(COMSIG_CLICK_SHIFT, user)
if(user.client && user.client.eye == user || user.client.eye == user.loc)
user.examinate(src)
return
@@ -319,6 +321,7 @@
return
/atom/proc/CtrlClick(mob/user)
SendSignal(COMSIG_CLICK_CTRL, user)
var/mob/living/ML = user
if(istype(ML))
ML.pulled(src)
@@ -348,6 +351,7 @@
..()
/atom/proc/AltClick(mob/user)
SendSignal(COMSIG_CLICK_ALT, user)
var/turf/T = get_turf(src)
if(T && user.TurfAdjacent(T))
if(user.listed_turf == T)
@@ -373,6 +377,7 @@
return
/atom/proc/CtrlShiftClick(mob/user)
SendSignal(COMSIG_CLICK_CTRL_SHIFT)
return
/*
+1 -1
View File
@@ -78,7 +78,7 @@
/obj/screen/movable/action_button/hide_toggle/proc/InitialiseIcon(datum/hud/owner_hud)
var settings = owner_hud.get_action_buttons_icons()
var/settings = owner_hud.get_action_buttons_icons()
icon = settings["bg_icon"]
icon_state = settings["bg_state"]
hide_icon = settings["toggle_icon"]
+8 -2
View File
@@ -2,8 +2,8 @@
icon = 'icons/mob/screen_ai.dmi'
/obj/screen/ai/Click()
if(isobserver(usr))
return 1
if(isobserver(usr) || usr.incapacitated())
return TRUE
/obj/screen/ai/aicore
name = "AI core"
@@ -20,6 +20,8 @@
icon_state = "camera"
/obj/screen/ai/camera_list/Click()
if(..())
return
var/mob/living/silicon/ai/AI = usr
var/camera = input(AI, "Choose which camera you want to view", "Cameras") as null|anything in AI.get_camera_list()
AI.ai_camera_list(camera)
@@ -130,6 +132,8 @@
icon_state = "take_picture"
/obj/screen/ai/image_take/Click()
if(..())
return
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.aicamera.toggle_camera_mode()
@@ -142,6 +146,8 @@
icon_state = "view_images"
/obj/screen/ai/image_view/Click()
if(..())
return
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.aicamera.viewpictures()
+20 -6
View File
@@ -242,9 +242,12 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
icon_state = "fire"
/obj/screen/alert/fire/Click()
if(isliving(usr))
var/mob/living/L = usr
return L.resist()
var/mob/living/L = usr
if(!L.can_resist())
return
L.changeNext_move(CLICK_CD_RESIST)
if(L.canmove)
return L.resist_fire() //I just want to start a flame in your hearrrrrrtttttt.
//ALIENS
@@ -644,9 +647,20 @@ so as to remain in compliance with the most up-to-date laws."
desc = "You're legcuffed, which slows you down considerably. Click the alert to free yourself."
/obj/screen/alert/restrained/Click()
if(isliving(usr))
var/mob/living/L = usr
return L.resist()
var/mob/living/L = usr
if(!L.can_resist())
return
L.changeNext_move(CLICK_CD_RESIST)
if((L.canmove) && (L.last_special <= world.time))
return L.resist_restraints()
/obj/screen/alert/restrained/buckled/Click()
var/mob/living/L = usr
if(!L.can_resist())
return
L.changeNext_move(CLICK_CD_RESIST)
if(L.last_special <= world.time)
return L.resist_buckle()
// PRIVATE = only edit, use, or override these if you're editing the system as a whole
+1 -1
View File
@@ -26,7 +26,7 @@
/obj/screen/swarmer/Replicate
icon_state = "ui_replicate"
name = "Replicate (Costs 50 Resources)"
desc = "Creates a another of our kind."
desc = "Creates another of our kind."
/obj/screen/swarmer/Replicate/Click()
if(isswarmer(usr))
+6 -3
View File
@@ -9,17 +9,18 @@
// Called when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown.
/obj/item/proc/attack_self(mob/user)
return
SendSignal(COMSIG_ITEM_ATTACK_SELF, user)
interact(user)
/obj/item/proc/pre_attackby(atom/A, mob/living/user, params) //do stuff before attackby!
return TRUE //return FALSE to avoid calling attackby after this proc does stuff
// No comment
/atom/proc/attackby(obj/item/W, mob/user, params)
return
return SendSignal(COMSIG_PARENT_ATTACKBY, W, user, params)
/obj/attackby(obj/item/I, mob/living/user, params)
return I.attack_obj(src, user)
return ..() || I.attack_obj(src, user)
/mob/living/attackby(obj/item/I, mob/living/user, params)
user.changeNext_move(CLICK_CD_MELEE)
@@ -35,6 +36,7 @@
/obj/item/proc/attack(mob/living/M, mob/living/user)
SendSignal(COMSIG_ITEM_ATTACK, M, user)
if(flags_1 & NOBLUDGEON_1)
return
if(!force)
@@ -54,6 +56,7 @@
//the equivalent of the standard version of attack() but for object targets.
/obj/item/proc/attack_obj(obj/O, mob/living/user)
SendSignal(COMSIG_ITEM_ATTACK_OBJ, O, user)
if(flags_1 & NOBLUDGEON_1)
return
user.changeNext_move(CLICK_CD_MELEE)
+313 -1
View File
@@ -26,4 +26,316 @@
build_type = PROTOLATHE
materials = list(MAT_GOLD = 2500, MAT_METAL = 5000, MAT_GLASS = 5000)
build_path = /obj/item/gun/energy/laser/carbine/nopin
category = list("Weapons")
category = list("Weapons")
////////////Anti Tank Pistol////////////
/obj/item/gun/ballistic/automatic/pistol/antitank
name = "Anti Tank Pistol"
desc = "A massively impractical and silly monstrosity of a pistol that fires .50 calliber rounds. The recoil is likely to dislocate your wrist."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "atp"
item_state = "pistol"
recoil = 6
mag_type = /obj/item/ammo_box/magazine/sniper_rounds
fire_delay = 50
burst_size = 1
origin_tech = "combat=7"
can_suppress = 0
w_class = WEIGHT_CLASS_NORMAL
actions_types = list()
fire_sound = 'sound/weapons/blastcannon.ogg'
spread = 30 //damn thing has no rifling.
/obj/item/gun/ballistic/automatic/pistol/antitank/update_icon()
..()
if(magazine)
cut_overlays()
add_overlay("atp-mag")
else
cut_overlays()
icon_state = "[initial(icon_state)][chambered ? "" : "-e"]"
/obj/item/gun/ballistic/automatic/pistol/antitank/syndicate
name = "Syndicate Anti Tank Pistol"
desc = "A massively impractical and silly monstrosity of a pistol that fires .50 calliber rounds. The recoil is likely to dislocate a variety of joints without proper bracing."
pin = /obj/item/device/firing_pin/implant/pindicate
origin_tech = "combat=7;syndicate=6"
/////////////spinfusor stuff////////////////
/obj/item/projectile/bullet/spinfusor
name ="spinfusor disk"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state= "spinner"
damage = 30
dismemberment = 25
/obj/item/projectile/bullet/spinfusor/on_hit(atom/target, blocked = FALSE) //explosion to emulate the spinfusor's AOE
..()
explosion(target, -1, -1, 2, 0, -1)
return 1
/obj/item/ammo_casing/caseless/spinfusor
name = "spinfusor disk"
desc = "A magnetic disk designed specifically for the Stormhammer magnetic cannon. Warning: extremely volatile!"
projectile_type = /obj/item/projectile/bullet/spinfusor
caliber = "spinfusor"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "disk"
throwforce = 15 //still deadly when thrown
throw_speed = 3
/obj/item/ammo_casing/caseless/spinfusor/throw_impact(atom/target) //disks detonate when thrown
if(!..()) // not caught in mid-air
visible_message("<span class='notice'>[src] detonates!</span>")
playsound(src.loc, "sparks", 50, 1)
explosion(target, -1, -1, 1, 1, -1)
qdel(src)
return 1
/obj/item/ammo_box/magazine/internal/spinfusor
name = "spinfusor internal magazine"
ammo_type = /obj/item/ammo_casing/caseless/spinfusor
caliber = "spinfusor"
max_ammo = 1
/obj/item/gun/ballistic/automatic/spinfusor
name = "Stormhammer Magnetic Cannon"
desc = "An innovative weapon utilizing mag-lev technology to spin up a magnetic fusor and launch it at extreme velocities."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "spinfusor"
item_state = "spinfusor"
mag_type = /obj/item/ammo_box/magazine/internal/spinfusor
fire_sound = 'sound/weapons/rocketlaunch.ogg'
w_class = WEIGHT_CLASS_BULKY
can_suppress = 0
burst_size = 1
fire_delay = 20
select = 0
actions_types = list()
casing_ejector = 0
origin_tech = "combat=6;magnets=6"
/obj/item/gun/ballistic/automatic/spinfusor/attackby(obj/item/A, mob/user, params)
var/num_loaded = magazine.attackby(A, user, params, 1)
if(num_loaded)
to_chat(user, "<span class='notice'>You load [num_loaded] disk\s into \the [src].</span>")
update_icon()
chamber_round()
/obj/item/gun/ballistic/automatic/spinfusor/attack_self(mob/living/user)
return //caseless rounds are too glitchy to unload properly. Best to make it so that you cannot remove disks from the spinfusor
/obj/item/gun/ballistic/automatic/spinfusor/update_icon()
..()
icon_state = "spinfusor[magazine ? "-[get_ammo(1)]" : ""]"
/obj/item/ammo_box/aspinfusor
name = "ammo box (spinfusor disks)"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "spinfusorbox"
ammo_type = /obj/item/ammo_casing/caseless/spinfusor
max_ammo = 8
/datum/supply_pack/security/armory/spinfusor
name = "Stormhammer Spinfusor Crate"
cost = 7000
contains = list(/obj/item/gun/ballistic/automatic/spinfusor,
/obj/item/gun/ballistic/automatic/spinfusor)
crate_name = "spinfusor crate"
/datum/supply_pack/security/armory/spinfusorammo
name = "Spinfusor Disk Crate"
cost = 4000
contains = list(/obj/item/ammo_box/aspinfusor,
/obj/item/ammo_box/aspinfusor,
/obj/item/ammo_box/aspinfusor,
/obj/item/ammo_box/aspinfusor)
crate_name = "spinfusor disk crate"
///////XCOM X9 AR///////
/obj/item/gun/ballistic/automatic/x9 //will be adminspawn only so ERT or something can use them
name = "\improper X9 Assault Rifle"
desc = "A rather old design of a cheap, reliable assault rifle made for combat against unknown enemies. Uses 5.56mm ammo."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "x9"
item_state = "arg"
slot_flags = 0
origin_tech = "combat=7;engineering=7"
mag_type = /obj/item/ammo_box/magazine/m556 //Uses the m90gl's magazine, just like the NT-ARG
fire_sound = 'sound/weapons/gunshot_smg.ogg'
can_suppress = 0
burst_size = 6 //in line with XCOMEU stats. This can fire 5 bursts from a full magazine.
fire_delay = 1
spread = 30 //should be 40 for XCOM memes, but since its adminspawn only, might as well make it useable
recoil = 1
////////XCOM2 Magpistol/////////
//////projectiles//////
/obj/item/projectile/bullet/mags
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magjectile"
damage = 25
armour_penetration = 10
light_range = 2
light_color = LIGHT_COLOR_RED
/obj/item/projectile/bullet/nlmags //non-lethal boolets
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magjectile-nl"
damage = 2
knockdown = 15
stamina = 50
armour_penetration = -10
light_range = 2
light_color = LIGHT_COLOR_BLUE
/////actual ammo/////
/obj/item/ammo_casing/caseless/amags
desc = "A ferromagnetic slug intended to be launched out of a compatible weapon."
caliber = "mags"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "mag-casing-live"
projectile_type = /obj/item/projectile/bullet/mags
/obj/item/ammo_casing/caseless/anlmags
desc = "A specialized ferromagnetic slug designed with a less-than-lethal payload."
caliber = "mags"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "mag-casing-live"
projectile_type = /obj/item/projectile/bullet/nlmags
//////magazines/////
/obj/item/ammo_box/magazine/mmags
name = "magpistol magazine (non-lethal disabler)"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "nlmagmag"
origin_tech = "magnets=5"
ammo_type = /obj/item/ammo_casing/caseless/anlmags
caliber = "mags"
max_ammo = 7
multiple_sprites = 2
/obj/item/ammo_box/magazine/mmags/lethal
name = "magpistol magazine (lethal)"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "smallmagmag"
origin_tech = "combat=5"
ammo_type = /obj/item/ammo_casing/caseless/amags
//////the gun itself//////
/obj/item/gun/ballistic/automatic/pistol/mag
name = "magpistol"
desc = "A handgun utilizing maglev technologies to propel a ferromagnetic slug to extreme velocities."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magpistol"
force = 10
fire_sound = 'sound/weapons/magpistol.ogg'
mag_type = /obj/item/ammo_box/magazine/mmags
can_suppress = 0
casing_ejector = 0
fire_delay = 5
origin_tech = "combat=4;magnets=4"
/obj/item/gun/ballistic/automatic/pistol/mag/update_icon()
..()
if(magazine)
cut_overlays()
add_overlay("magpistol-magazine")
else
cut_overlays()
icon_state = "[initial(icon_state)][chambered ? "" : "-e"]"
///research memes///
/obj/item/gun/ballistic/automatic/pistol/mag/nopin
pin = null
/datum/design/magpistol
name = "Magpistol"
desc = "A weapon which fires ferromagnetic slugs."
id = "magpisol"
req_tech = list("combat" = 5, "magnets" = 6, "powerstorage" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 7500, MAT_GLASS = 1000, MAT_URANIUM = 1000, MAT_TITANIUM = 5000, MAT_SILVER = 2000)
build_path = /obj/item/gun/ballistic/automatic/pistol/mag/nopin
category = list("Weapons")
/datum/design/mag_magpistol
name = "Magpistol Magazine"
desc = "A 7 round magazine for the Magpistol."
id = "mag_magpistol"
req_tech = list("combat" = 5, "magnets" = 6, "materials" = 5, "syndicate" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 4000, MAT_SILVER = 500)
build_path = /obj/item/ammo_box/magazine/mmags/lethal
category = list("Ammo")
/datum/design/mag_magpistol/nl
name = "Magpistol Magazine (Non-Lethal)"
desc = "A 7 round non-lethal magazine for the Magpistol."
id = "mag_magpistol_nl"
req_tech = list("combat" = 5, "magnets" = 6, "materials" = 5)
materials = list(MAT_METAL = 3000, MAT_SILVER = 250, MAT_TITANIUM = 250)
build_path = /obj/item/ammo_box/magazine/mmags
//////toy memes/////
/obj/item/projectile/bullet/reusable/foam_dart/mag
name = "magfoam dart"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magjectile-toy"
ammo_type = /obj/item/ammo_casing/caseless/foam_dart/mag
light_range = 2
light_color = LIGHT_COLOR_YELLOW
/obj/item/ammo_casing/caseless/foam_dart/mag
name = "magfoam dart"
desc = "A foam dart with fun light-up projectiles powered by magnets!"
projectile_type = /obj/item/projectile/bullet/reusable/foam_dart/mag
/obj/item/ammo_box/magazine/internal/shot/toy/mag
ammo_type = /obj/item/ammo_casing/caseless/foam_dart/mag
max_ammo = 7
/obj/item/gun/ballistic/shotgun/toy/mag
name = "foam force magpistol"
desc = "A fancy toy sold alongside light-up foam force darts. Ages 8 and up."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "toymag"
item_state = "gun"
mag_type = /obj/item/ammo_box/magazine/internal/shot/toy/mag
fire_sound = 'sound/weapons/magpistol.ogg'
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
/obj/item/ammo_box/foambox/mag
name = "ammo box (Magnetic Foam Darts)"
icon = 'icons/obj/guns/toy.dmi'
icon_state = "foambox"
ammo_type = /obj/item/ammo_casing/caseless/foam_dart/mag
max_ammo = 42
/datum/design/magfoam_dart
name = "Box of MagFoam Darts"
id = "magfoam_dart"
build_type = AUTOLATHE
materials = list(MAT_METAL = 300, MAT_GLASS = 200)
build_path = /obj/item/ammo_box/foambox/mag
category = list("initial", "Misc")
/datum/design/foam_magpistol
name = "Foam Force Magpistol"
id = "magfoam_launcher"
build_type = AUTOLATHE
materials = list(MAT_METAL = 7500, MAT_GLASS = 1000)
build_path = /obj/item/gun/ballistic/shotgun/toy/mag
category = list("hacked", "Misc")
+51 -1
View File
@@ -67,4 +67,54 @@
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("slapped")
resistance_flags = FLAMMABLE
var/bitesound = 'sound/items/bikehorn.ogg'
squeak_override = list('sound/items/bikehorn.ogg'= 1)
/obj/item/clothing/neck/cloak/carrot
name = "carrot cloak"
desc = "A cloak in the shape and color of a carrot!"
icon = 'icons/obj/clothing/cloaks.dmi'
icon_override = 'icons/mob/citadel/suit.dmi'
icon_state = "carrotcloak"
item_state = "carrotcloak"
w_class = WEIGHT_CLASS_SMALL
body_parts_covered = CHEST|GROIN|LEGS|ARMS
/*Zigfie*/
/obj/item/clothing/mask/luchador/zigfie
name = "Alboroto Rosa mask"
icon = 'icons/mob/mask.dmi'
icon_state = "lucharzigfie"
item_state = "lucharzigfie"
/*PLACEHOLDER*/
/obj/item/clothing/head/hardhat/reindeer/fluff
name = "novelty reindeer hat"
desc = "Some fake antlers and a very fake red nose - Sponsored by PWR Game(tm)"
icon_state = "hardhat0_reindeer"
item_state = "hardhat0_reindeer"
item_color = "reindeer"
flags_inv = 0
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0)
brightness_on = 0 //luminosity when on
dynamic_hair_suffix = ""
/obj/item/clothing/head/santa/fluff
name = "santa's hat"
desc = "On the first day of christmas my employer gave to me! - From Vlad with Salad"
icon_state = "santahatnorm"
item_state = "that"
dog_fashion = /datum/dog_fashion/head/santa
/*Brian*/
/obj/item/clothing/suit/trenchcoat/green
name = "Reece's Great Coat"
desc = "You would swear this was in your nightmares after eating too many veggies."
icon_state = "hos-g"
item_state = "hos-g"
body_parts_covered = CHEST|GROIN|ARMS|LEGS
+32 -9
View File
@@ -136,7 +136,7 @@ GLOBAL_PROTECT(config_dir)
var/list/probabilities = list() // relative probability of each mode
var/list/min_pop = list() // overrides for acceptible player counts in a mode
var/list/max_pop = list()
var/list/repeated_mode_adjust = list() // weight adjustments for recent modes
var/humans_need_surnames = 0
var/allow_ai = 0 // allow ai job
var/forbid_secborg = 0 // disallow secborg module to be chosen.
@@ -147,11 +147,13 @@ GLOBAL_PROTECT(config_dir)
var/irc_first_connection_alert = 0 // do we notify the irc channel when somebody is connecting for the first time?
var/traitor_scaling_coeff = 6 //how much does the amount of players get divided by to determine traitors
var/brother_scaling_coeff = 25 //how many players per brother team
var/changeling_scaling_coeff = 6 //how much does the amount of players get divided by to determine changelings
var/security_scaling_coeff = 8 //how much does the amount of players get divided by to determine open security officer positions
var/abductor_scaling_coeff = 15 //how many players per abductor team
var/traitor_objectives_amount = 2
var/brother_objectives_amount = 2
var/protect_roles_from_antagonist = 0 //If security and such can be traitor/cult/other
var/protect_assistant_from_antagonist = 0 //If assistants can be traitor/cult/other
var/enforce_human_authority = 0 //If non-human species are barred from joining as a head of staff
@@ -276,6 +278,7 @@ GLOBAL_PROTECT(config_dir)
var/error_msg_delay = 50 // How long to wait between messaging admins about occurrences of a unique error
var/arrivals_shuttle_dock_window = 55 //Time from when a player late joins on the arrivals shuttle to when the shuttle docks on the station
var/arrivals_shuttle_require_undocked = FALSE //Require the arrivals shuttle to be undocked before latejoiners can join
var/arrivals_shuttle_require_safe_latejoin = FALSE //Require the arrivals shuttle to be operational in order for latejoiners to join
var/mice_roundstart = 10 // how many wire chewing rodents spawn at roundstart.
@@ -698,6 +701,8 @@ GLOBAL_PROTECT(config_dir)
ghost_interaction = 1
if("traitor_scaling_coeff")
traitor_scaling_coeff = text2num(value)
if("brother_scaling_coeff")
brother_scaling_coeff = text2num(value)
if("changeling_scaling_coeff")
changeling_scaling_coeff = text2num(value)
if("security_scaling_coeff")
@@ -706,6 +711,8 @@ GLOBAL_PROTECT(config_dir)
abductor_scaling_coeff = text2num(value)
if("traitor_objectives_amount")
traitor_objectives_amount = text2num(value)
if("brother_objectives_amount")
brother_objectives_amount = text2num(value)
if("probability")
var/prob_pos = findtext(value, " ")
var/prob_name = null
@@ -720,7 +727,14 @@ GLOBAL_PROTECT(config_dir)
WRITE_FILE(GLOB.config_error_log, "Unknown game mode probability configuration definition: [prob_name].")
else
WRITE_FILE(GLOB.config_error_log, "Incorrect probability configuration definition: [prob_name] [prob_value].")
if("repeated_mode_adjust")
if(value)
repeated_mode_adjust.Cut()
var/values = splittext(value," ")
for(var/v in values)
repeated_mode_adjust += text2num(v)
else
WRITE_FILE(GLOB.config_error_log, "Incorrect round weight adjustment configuration definition for [value].")
if("protect_roles_from_antagonist")
protect_roles_from_antagonist = 1
if("protect_assistant_from_antagonist")
@@ -816,6 +830,8 @@ GLOBAL_PROTECT(config_dir)
GLOB.MAX_EX_FLAME_RANGE = BombCap
if("arrivals_shuttle_dock_window")
arrivals_shuttle_dock_window = max(PARALLAX_LOOP_TIME, text2num(value))
if("arrivals_shuttle_require_undocked")
arrivals_shuttle_require_undocked = TRUE
if("arrivals_shuttle_require_safe_latejoin")
arrivals_shuttle_require_safe_latejoin = TRUE
if("mice_roundstart")
@@ -954,18 +970,18 @@ GLOBAL_PROTECT(config_dir)
/datum/configuration/proc/pick_mode(mode_name)
// I wish I didn't have to instance the game modes in order to look up
// their information, but it is the only way (at least that I know of).
// ^ This guy didn't try hard enough
for(var/T in gamemode_cache)
var/datum/game_mode/M = new T()
if(M.config_tag && M.config_tag == mode_name)
return M
qdel(M)
var/datum/game_mode/M = T
var/ct = initial(M.config_tag)
if(ct && ct == mode_name)
return new T
return new /datum/game_mode/extended()
/datum/configuration/proc/get_runnable_modes()
var/list/datum/game_mode/runnable_modes = new
for(var/T in gamemode_cache)
var/datum/game_mode/M = new T()
//to_chat(world, "DEBUG: [T], tag=[M.config_tag], prob=[probabilities[M.config_tag]]")
if(!(M.config_tag in modes))
qdel(M)
continue
@@ -977,8 +993,15 @@ GLOBAL_PROTECT(config_dir)
if(max_pop[M.config_tag])
M.maximum_players = max_pop[M.config_tag]
if(M.can_start())
runnable_modes[M] = probabilities[M.config_tag]
//to_chat(world, "DEBUG: runnable_mode\[[runnable_modes.len]\] = [M.config_tag]")
var/final_weight = probabilities[M.config_tag]
if(SSpersistence.saved_modes.len == 3 && repeated_mode_adjust.len == 3)
var/recent_round = min(SSpersistence.saved_modes.Find(M.config_tag),3)
var/adjustment = 0
while(recent_round)
adjustment += repeated_mode_adjust[recent_round]
recent_round = SSpersistence.saved_modes.Find(M.config_tag,recent_round+1,0)
final_weight *= ((100-adjustment)/100)
runnable_modes[M] = final_weight
return runnable_modes
/datum/configuration/proc/get_runnable_midround_modes(crew)
-24
View File
@@ -1,24 +0,0 @@
diff a/code/controllers/configuration.dm b/code/controllers/configuration.dm (rejected hunks)
@@ -337,17 +337,17 @@
if("use_account_age_for_jobs")
use_account_age_for_jobs = 1
if("use_exp_tracking")
- use_exp_tracking = 1
+ use_exp_tracking = TRUE
if("use_exp_restrictions_heads")
- use_exp_restrictions_heads = 1
+ use_exp_restrictions_heads = TRUE
if("use_exp_restrictions_heads_hours")
use_exp_restrictions_heads_hours = text2num(value)
if("use_exp_restrictions_heads_department")
- use_exp_restrictions_heads_department = 1
+ use_exp_restrictions_heads_department = TRUE
if("use_exp_restrictions_other")
- use_exp_restrictions_other = 1
+ use_exp_restrictions_other = TRUE
if("use_exp_restrictions_admin_bypass")
- use_exp_restrictions_admin_bypass = 1
+ use_exp_restrictions_admin_bypass = TRUE
if("lobby_countdown")
lobby_countdown = text2num(value)
if("round_end_countdown")
+1 -1
View File
@@ -422,7 +422,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
// in those cases, so we just let them run)
if (queue_node_flags & SS_NO_TICK_CHECK)
if (queue_node.tick_usage > TICK_LIMIT_RUNNING - TICK_USAGE && ran_non_ticker)
queue_node.queued_priority += queue_priority_count * 0.10
queue_node.queued_priority += queue_priority_count * 0.1
queue_priority_count -= queue_node_priority
queue_priority_count += queue_node.queued_priority
current_tick_budget -= queue_node_priority
+3 -2
View File
@@ -164,6 +164,7 @@ SUBSYSTEM_DEF(air)
currentrun.len--
if(!M || (M.process_atmos(seconds) == PROCESS_KILL))
atmos_machinery.Remove(M)
M.SendSignal(COMSIG_MACHINE_PROCESS_ATMOS)
if(MC_TICK_CHECK)
return
@@ -321,7 +322,7 @@ SUBSYSTEM_DEF(air)
EG.dismantle()
CHECK_TICK
var/msg = "HEY! LISTEN! [(world.timeofday - timer)/10] Seconds were wasted processing [starting_ats] turf(s) (connected to [ending_ats] other turfs) with atmos differences at round start."
var/msg = "HEY! LISTEN! [DisplayTimeText(world.timeofday - timer)] were wasted processing [starting_ats] turf(s) (connected to [ending_ats] other turfs) with atmos differences at round start."
to_chat(world, "<span class='boldannounce'>[msg]</span>")
warning(msg)
@@ -382,4 +383,4 @@ SUBSYSTEM_DEF(air)
#undef SSAIR_EXCITEDGROUPS
#undef SSAIR_HIGHPRESSURE
#undef SSAIR_HOTSPOT
#undef SSAIR_SUPERCONDUCTIVITY
#undef SSAIR_SUPERCONDUCTIVITY
+3
View File
@@ -14,6 +14,9 @@ SUBSYSTEM_DEF(augury)
/datum/controller/subsystem/augury/proc/register_doom(atom/A, severity)
doombringers[A] = severity
/datum/controller/subsystem/augury/proc/unregister_doom(atom/A)
doombringers -= A
/datum/controller/subsystem/augury/fire()
var/biggest_doom = null
var/biggest_threat = null
+2 -3
View File
@@ -185,8 +185,7 @@ SUBSYSTEM_DEF(blackbox)
return
if(!L || !L.key || !L.mind)
return
var/turf/T = get_turf(L)
var/area/placeofdeath = get_area(T.loc)
var/area/placeofdeath = get_area(L)
var/sqlname = sanitizeSQL(L.real_name)
var/sqlkey = sanitizeSQL(L.ckey)
var/sqljob = sanitizeSQL(L.mind.assigned_role)
@@ -275,7 +274,7 @@ SUBSYSTEM_DEF(blackbox)
details += "\"[deets]\""
/datum/feedback_variable/proc/get_details()
return details.Join(" | ")
return details ? details.Join(" | ") : null
/datum/feedback_variable/proc/get_parsed()
return list(variable,value,details.Join(" | "))
@@ -1,10 +0,0 @@
diff a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm (rejected hunks)
@@ -40,7 +40,7 @@ SUBSYSTEM_DEF(blackbox)
if(config.use_exp_tracking)
if((triggertime < 0) || (world.time > (triggertime +3000))) //subsystem fires once at roundstart then once every 10 minutes. a 5 min check skips the first fire. The <0 is midnight rollover check
- SSblackbox.update_exp(10,FALSE)
+ update_exp(10,FALSE)
/datum/controller/subsystem/blackbox/Recover()
+2 -1
View File
@@ -40,6 +40,7 @@ SUBSYSTEM_DEF(machines)
var/obj/machinery/thing = currentrun[currentrun.len]
currentrun.len--
if(!QDELETED(thing) && thing.process(seconds) != PROCESS_KILL)
thing.SendSignal(COMSIG_MACHINE_PROCESS)
if(thing.use_power)
thing.auto_use_power() //add back the power state
else
@@ -61,4 +62,4 @@ SUBSYSTEM_DEF(machines)
if (istype(SSmachines.processing))
processing = SSmachines.processing
if (istype(SSmachines.powernets))
powernets = SSmachines.powernets
powernets = SSmachines.powernets
+26 -7
View File
@@ -8,7 +8,7 @@ SUBSYSTEM_DEF(persistence)
var/list/obj/structure/chisel_message/chisel_messages = list()
var/list/saved_messages = list()
var/list/saved_modes = list(1,2,3)
var/list/saved_trophies = list()
/datum/controller/subsystem/persistence/Initialize()
@@ -16,6 +16,7 @@ SUBSYSTEM_DEF(persistence)
LoadPoly()
LoadChiselMessages()
LoadTrophies()
LoadRecentModes()
..()
/datum/controller/subsystem/persistence/proc/LoadSatchels()
@@ -41,8 +42,7 @@ SUBSYSTEM_DEF(persistence)
var/json_file = file("data/npc_saves/SecretSatchels[SSmapping.config.map_name].json")
if(!fexists(json_file))
return
var/list/json = list()
json = json_decode(file2text(json_file))
var/list/json = json_decode(file2text(json_file))
old_secret_satchels = json["data"]
if(old_secret_satchels.len)
if(old_secret_satchels.len >= 20) //guards against low drop pools assuring that one player cannot reliably find his own gear.
@@ -84,8 +84,7 @@ SUBSYSTEM_DEF(persistence)
var/json_file = file("data/npc_saves/ChiselMessages[SSmapping.config.map_name].json")
if(!fexists(json_file))
return
var/list/json
json = json_decode(file2text(json_file))
var/list/json = json_decode(file2text(json_file))
if(!json)
return
@@ -129,13 +128,22 @@ SUBSYSTEM_DEF(persistence)
var/json_file = file("data/npc_saves/TrophyItems.json")
if(!fexists(json_file))
return
var/list/json = list()
json = json_decode(file2text(json_file))
var/list/json = json_decode(file2text(json_file))
if(!json)
return
saved_trophies = json["data"]
SetUpTrophies(saved_trophies.Copy())
/datum/controller/subsystem/persistence/proc/LoadRecentModes()
var/json_file = file("data/RecentModes.json")
if(!fexists(json_file))
return
var/list/json = json_decode(file2text(json_file))
if(!json)
return
saved_modes = json["data"]
/datum/controller/subsystem/persistence/proc/SetUpTrophies(list/trophy_items)
for(var/A in GLOB.trophy_cases)
var/obj/structure/displaycase/trophy/T = A
@@ -165,6 +173,7 @@ SUBSYSTEM_DEF(persistence)
CollectChiselMessages()
CollectSecretSatchels()
CollectTrophies()
CollectRoundtype()
/datum/controller/subsystem/persistence/proc/CollectSecretSatchels()
var/list/satchels = list()
@@ -224,3 +233,13 @@ SUBSYSTEM_DEF(persistence)
data["message"] = T.trophy_message
data["placer_key"] = T.placer_key
saved_trophies += list(data)
/datum/controller/subsystem/persistence/proc/CollectRoundtype()
saved_modes[3] = saved_modes[2]
saved_modes[2] = saved_modes[1]
saved_modes[1] = SSticker.mode.config_tag
var/json_file = file("data/RecentModes.json")
var/list/file_data = list()
file_data["data"] = saved_modes
fdel(json_file)
WRITE_FILE(json_file, json_encode(file_data))
+1 -1
View File
@@ -29,7 +29,7 @@ SUBSYSTEM_DEF(server_maint)
var/cmob = C.mob
if(!(isobserver(cmob) || (isdead(cmob) && C.holder)))
log_access("AFK: [key_name(C)]")
to_chat(C, "<span class='danger'>You have been inactive for more than [config.afk_period / 600] minutes and have been disconnected.</span>")
to_chat(C, "<span class='danger'>You have been inactive for more than [DisplayTimeText(config.afk_period)] and have been disconnected.</span>")
qdel(C)
if (!(!C || world.time - C.connection_time < PING_BUFFER_TIME || C.inactivity >= (wait-1)))
@@ -1,30 +0,0 @@
diff a/code/controllers/subsystem/server_maint.dm b/code/controllers/subsystem/server_maint.dm (rejected hunks)
@@ -6,18 +6,16 @@ SUBSYSTEM_DEF(server_maint)
flags = SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY
priority = 10
var/list/currentrun
- var/triggertime = null
/datum/controller/subsystem/server_maint/Initialize(timeofday)
if (config.hub)
world.visibility = 1
- triggertime = REALTIMEOFDAY
..()
/datum/controller/subsystem/server_maint/fire(resumed = FALSE)
if(!resumed)
src.currentrun = GLOB.clients.Copy()
-
+
var/list/currentrun = src.currentrun
var/round_started = SSticker.HasRoundStarted()
@@ -39,8 +37,3 @@ SUBSYSTEM_DEF(server_maint)
return
#undef PING_BUFFER_TIME
- if(config.sql_enabled)
- sql_poll_population()
- if(config.use_exp_tracking)
- if(REALTIMEOFDAY > (triggertime +3000)) //server maint fires once at roundstart then once every 10 minutes. a 5 min check skips the first fire
- update_exp(10,0)
+2 -7
View File
@@ -178,7 +178,7 @@ SUBSYSTEM_DEF(shuttle)
emergency = backup_shuttle
if(world.time - SSticker.round_start_time < config.shuttle_refuel_delay)
to_chat(user, "The emergency shuttle is refueling. Please wait another [abs(round(((world.time - SSticker.round_start_time) - config.shuttle_refuel_delay)/600))] minutes before trying again.")
to_chat(user, "The emergency shuttle is refueling. Please wait [DisplayTimeText((world.time - SSticker.round_start_time) - config.shuttle_refuel_delay)] before trying again.")
return
switch(emergency.mode)
@@ -220,7 +220,7 @@ SUBSYSTEM_DEF(shuttle)
if(call_reason)
SSblackbox.add_details("shuttle_reason", call_reason)
log_game("Shuttle call reason: [call_reason]")
message_admins("[key_name_admin(user)] has called the shuttle. (<A HREF='?_src_=holder;trigger_centcom_recall=1'>TRIGGER CENTCOM RECALL</A>)")
message_admins("[key_name_admin(user)] has called the shuttle. (<A HREF='?_src_=holder;[HrefToken()];trigger_centcom_recall=1'>TRIGGER CENTCOM RECALL</A>)")
/datum/controller/subsystem/shuttle/proc/centcom_recall(old_timer, admiral_message)
if(emergency.mode != SHUTTLE_CALL || emergency.timer != old_timer)
@@ -430,17 +430,14 @@ SUBSYSTEM_DEF(shuttle)
continue base
if(!(T.flags_1 & UNUSED_TRANSIT_TURF_1))
continue base
//to_chat(world, "[COORD(topleft)] and [COORD(bottomright)]")
break base
if((!proposed_zone) || (!proposed_zone.len))
return FALSE
var/turf/topleft = proposed_zone[1]
//to_chat(world, "[COORD(topleft)] is TOPLEFT")
// Then create a transit docking port in the middle
var/coords = M.return_coords(0, 0, dock_dir)
//to_chat(world, json_encode(coords))
/* 0------2
| |
| |
@@ -478,11 +475,9 @@ SUBSYSTEM_DEF(shuttle)
if(WEST)
transit_path = /turf/open/space/transit/west
//to_chat(world, "Docking port at [transit_x], [transit_y], [topleft.z]")
var/turf/midpoint = locate(transit_x, transit_y, topleft.z)
if(!midpoint)
return FALSE
//to_chat(world, "Making transit dock at [COORD(midpoint)]")
var/area/shuttle/transit/A = new()
A.parallax_movedir = travel_dir
A.contents = proposed_zone
+4 -3
View File
@@ -1,6 +1,6 @@
// The Squeak
// because this is about placement of mice mobs, and nothing to do with
// mice - the computer peripheral
// mice - the computer peripheral
SUBSYSTEM_DEF(squeak)
name = "Squeak"
@@ -32,8 +32,9 @@ SUBSYSTEM_DEF(squeak)
/datum/controller/subsystem/squeak/proc/find_exposed_wires()
exposed_wires.Cut()
var/list/all_turfs = block(locate(1,1,1), locate(world.maxx,world.maxy,1))
var/list/all_turfs
for (var/z in GLOB.station_z_levels)
all_turfs += block(locate(1,1,z), locate(world.maxx,world.maxy,z))
for(var/turf/open/floor/plating/T in all_turfs)
if(is_blocked_turf(T))
continue
+8 -5
View File
@@ -139,7 +139,8 @@ SUBSYSTEM_DEF(ticker)
if(!mode.explosion_in_progress && mode.check_finished(force_ending) || force_ending)
current_state = GAME_STATE_FINISHED
toggle_ooc(1) // Turn it on
toggle_ooc(TRUE) // Turn it on
toggle_dooc(TRUE)
declare_completion(force_ending)
Master.SetRunLevel(RUNLEVEL_POSTGAME)
@@ -166,6 +167,8 @@ SUBSYSTEM_DEF(ticker)
to_chat(world, "<B>Unable to choose playable game mode.</B> Reverting to pre-game lobby.")
return 0
mode = pickweight(runnable_modes)
if(!mode) //too few roundtypes all run too recently
mode = pick(runnable_modes)
else
mode = config.pick_mode(GLOB.master_mode)
@@ -205,7 +208,7 @@ SUBSYSTEM_DEF(ticker)
mode.announce()
if(!config.ooc_during_round)
toggle_ooc(0) // Turn it off
toggle_ooc(FALSE) // Turn it off
CHECK_TICK
GLOB.start_landmarks_list = shuffle(GLOB.start_landmarks_list) //Shuffle the order of spawn points so they dont always predictably spawn bottom-up and right-to-left
@@ -241,10 +244,10 @@ SUBSYSTEM_DEF(ticker)
PostSetup()
return 1
return TRUE
/datum/controller/subsystem/ticker/proc/PostSetup()
set waitfor = 0
set waitfor = FALSE
mode.post_setup()
GLOB.start_state = new /datum/station_state()
GLOB.start_state.count(1)
@@ -511,7 +514,7 @@ SUBSYSTEM_DEF(ticker)
end_state.count()
var/station_integrity = min(PERCENT(GLOB.start_state.score(end_state)), 100)
to_chat(world, "<BR>[GLOB.TAB]Shift Duration: <B>[round(world.time / 36000)]:[add_zero("[world.time / 600 % 60]", 2)]:[world.time / 100 % 6][world.time / 100 % 10]</B>")
to_chat(world, "<BR>[GLOB.TAB]Shift Duration: <B>[DisplayTimeText(world.time - SSticker.round_start_time)]</B>")
to_chat(world, "<BR>[GLOB.TAB]Station Integrity: <B>[mode.station_was_nuked ? "<font color='red'>Destroyed</font>" : "[station_integrity]%"]</B>")
if(mode.station_was_nuked)
SSticker.news_report = STATION_DESTROYED_NUKE
+2 -2
View File
@@ -169,7 +169,7 @@ SUBSYSTEM_DEF(vote)
admin = TRUE
if(next_allowed_time > world.time && !admin)
to_chat(usr, "<span class='warning'>A vote was initiated recently, you must wait roughly [(next_allowed_time-world.time)/10] seconds before a new vote can be started!</span>")
to_chat(usr, "<span class='warning'>A vote was initiated recently, you must wait [DisplayTimeText(next_allowed_time-world.time)] before a new vote can be started!</span>")
return 0
reset()
@@ -198,7 +198,7 @@ SUBSYSTEM_DEF(vote)
if(mode == "custom")
text += "\n[question]"
log_vote(text)
to_chat(world, "\n<font color='purple'><b>[text]</b>\nType <b>vote</b> or click <a href='?src=\ref[src]'>here</a> to place your votes.\nYou have [config.vote_period/10] seconds to vote.</font>")
to_chat(world, "\n<font color='purple'><b>[text]</b>\nType <b>vote</b> or click <a href='?src=\ref[src]'>here</a> to place your votes.\nYou have [DisplayTimeText(config.vote_period)] to vote.</font>")
time_remaining = round(config.vote_period/10)
for(var/c in GLOB.clients)
var/client/C = c
+3 -4
View File
@@ -14,8 +14,8 @@ SUBSYSTEM_DEF(weather)
if(W.aesthetic)
continue
for(var/mob/living/L in GLOB.mob_list)
if(W.can_impact(L))
W.impact(L)
if(W.can_weather_act(L))
W.weather_act(L)
for(var/Z in eligible_zlevels)
var/list/possible_weather_for_this_z = list()
for(var/V in existing_weather)
@@ -30,8 +30,7 @@ SUBSYSTEM_DEF(weather)
/datum/controller/subsystem/weather/Initialize(start_timeofday)
..()
for(var/V in subtypesof(/datum/weather))
var/datum/weather/W = V
new W //weather->New will handle adding itself to the list
new V //Weather's New() will handle adding stuff to the list
/datum/controller/subsystem/weather/proc/run_weather(weather_name, Z)
if(!weather_name)
+1 -1
View File
@@ -421,7 +421,7 @@
/datum/action/item_action/ninjapulse
name = "EM Burst (25E)"
desc = "Disable any nearby technology with a electro-magnetic pulse."
desc = "Disable any nearby technology with an electro-magnetic pulse."
button_icon_state = "emp"
icon_icon = 'icons/mob/actions/actions_spells.dmi'
+1 -1
View File
@@ -310,7 +310,7 @@
replaceable_groups[LAW_INHERENT] = inherent.len
if(supplied.len && (LAW_SUPPLIED in groups))
replaceable_groups[LAW_SUPPLIED] = supplied.len
var picked_group = pickweight(replaceable_groups)
var/picked_group = pickweight(replaceable_groups)
switch(picked_group)
if(LAW_ZEROTH)
. = zeroth
+60
View File
@@ -0,0 +1,60 @@
/datum/antagonist/abductor
name = "Abductor"
var/datum/objective_team/abductor_team/team
var/sub_role
var/outfit
var/landmark_type
var/greet_text
/datum/antagonist/abductor/agent
sub_role = "Agent"
outfit = /datum/outfit/abductor/agent
landmark_type = /obj/effect/landmark/abductor/agent
greet_text = "Use your stealth technology and equipment to incapacitate humans for your scientist to retrieve."
/datum/antagonist/abductor/scientist
sub_role = "Scientist"
outfit = /datum/outfit/abductor/scientist
landmark_type = /obj/effect/landmark/abductor/scientist
greet_text = "Use your stealth technology and equipment to incapacitate humans for your scientist to retrieve."
/datum/antagonist/abductor/New(datum/mind/new_owner, datum/objective_team/abductor_team/T)
team = T
return ..()
/datum/antagonist/abductor/on_gain()
SSticker.mode.abductors += owner
owner.special_role = "[name] [sub_role]"
owner.objectives += team.objectives
finalize_abductor()
return ..()
/datum/antagonist/abductor/on_removal()
SSticker.mode.abductors -= owner
team.members -= owner
owner.objectives -= team.objectives
if(owner.current)
to_chat(owner.current,"<span class='userdanger'>You are no longer the [owner.special_role]!</span>")
owner.special_role = null
return ..()
/datum/antagonist/abductor/greet()
to_chat(owner.current, "<span class='notice'>You are the [owner.special_role]!</span>")
to_chat(owner.current, "<span class='notice'>With the help of your teammate, kidnap and experiment on station crew members!</span>")
to_chat(owner.current, "<span class='notice'>[greet_text]</span>")
owner.announce_objectives()
/datum/antagonist/abductor/proc/finalize_abductor()
//Equip
var/mob/living/carbon/human/H = owner.current
H.set_species(/datum/species/abductor)
H.real_name = "[team.name] [sub_role]"
H.equipOutfit(outfit)
//Teleport to ship
for(var/obj/effect/landmark/abductor/LM in GLOB.landmarks_list)
if(istype(LM, landmark_type) && LM.team_number == team.team_number)
H.forceMove(LM.loc)
break
SSticker.mode.update_abductor_icons_added(owner)
+48
View File
@@ -0,0 +1,48 @@
/datum/antagonist/brother
name = "Brother"
var/special_role = "blood brother"
var/datum/objective_team/brother_team/team
/datum/antagonist/brother/New(datum/mind/new_owner, datum/objective_team/brother_team/T)
team = T
return ..()
/datum/antagonist/brother/on_gain()
SSticker.mode.brothers += owner
owner.special_role = special_role
owner.objectives += team.objectives
finalize_brother()
return ..()
/datum/antagonist/brother/on_removal()
SSticker.mode.brothers -= owner
team.members -= owner
owner.objectives -= team.objectives
if(owner.current)
to_chat(owner.current,"<span class='userdanger'>You are no longer the [special_role]!</span>")
owner.special_role = null
return ..()
/datum/antagonist/brother/proc/give_meeting_area()
if(!owner.current || !team || !team.meeting_area)
return
to_chat(owner.current, "<B>Your designated meeting area:</B> [team.meeting_area]")
owner.store_memory("<b>Meeting Area</b>: [team.meeting_area]")
/datum/antagonist/brother/greet()
var/brother_text = ""
var/list/brothers = team.members - owner
for(var/i = 1 to brothers.len)
var/datum/mind/M = brothers[i]
brother_text += M.name
if(i == brothers.len - 1)
brother_text += " and "
else if(i != brothers.len)
brother_text += ", "
to_chat(owner.current, "<B><font size=3 color=red>You are the [owner.special_role] of [brother_text].</font></B>")
to_chat(owner.current, "The Syndicate only accepts those that have proven themself. Prove yourself and prove your [team.member_name]s by completing your objectives together!")
owner.announce_objectives()
give_meeting_area()
/datum/antagonist/brother/proc/finalize_brother()
SSticker.mode.update_brother_icons_added(owner)
+3 -3
View File
@@ -186,9 +186,9 @@
kill_objective.find_target()
add_objective(kill_objective)
var/datum/objective/survive/survive_objective = new
survive_objective.owner = owner
add_objective(survive_objective)
var/datum/objective/survive/exist/exist_objective = new
exist_objective.owner = owner
add_objective(exist_objective)
/datum/antagonist/traitor/proc/forge_single_objective()
return 0
/datum/antagonist/traitor/human/forge_single_objective() //Returns how many objectives are added
-4
View File
@@ -256,7 +256,6 @@
winset(user, windowid, "on-close=\".windowclose [param]\"")
//to_chat(world, "OnClose [user]: [windowid] : ["on-close=\".windowclose [param]\""]")
// the on-close client verb
@@ -268,12 +267,10 @@
set hidden = 1 // hide this verb from the user's panel
set name = ".windowclose" // no autocomplete on cmd line
//to_chat(world, "windowclose: [atomref]")
if(atomref!="null") // if passed a real atomref
var/hsrc = locate(atomref) // find the reffed atom
var/href = "close=1"
if(hsrc)
//to_chat(world, "[src] Topic [href] [hsrc]")
usr = src.mob
src.Topic(href, params2list(href), hsrc) // this will direct to the atom's
return // Topic() proc via client.Topic()
@@ -281,6 +278,5 @@
// no atomref specified (or not found)
// so just reset the user mob's machine var
if(src && src.mob)
//to_chat(world, "[src] was [src.mob.machine], setting to null")
src.mob.unset_machine()
return
+1 -1
View File
@@ -131,7 +131,7 @@
//runs a list of callbacks asynchronously, returning once all of them return.
//callbacks can be repeated.
//callbacks-args is a optional list of argument lists, in the same order as the callbacks,
//callbacks-args is an optional list of argument lists, in the same order as the callbacks,
// the inner lists will be sent to the callbacks when invoked() as additional args.
//can optionly save and return a list of return values, in the same order as the original list of callbacks
//resolution is the number of byond ticks between checks.
+2 -5
View File
@@ -62,7 +62,7 @@ Stands have a lot of procs which mimic mob procs. Rather than inserting hooks fo
* Returns the component that was created. Or the old component in a dupe situation where `COMPONENT_DUPE_UNIQUE` was set
1. `/datum/proc/LoadComponent(component_type(type), ...) -> datum/component` (public, final)
* Equivalent to calling `GetComponent(component_type)` where, if the result would be `null`, returns `AddComponent(component_type, ...)` instead
1. `/datum/proc/ComponentActivated(datum/component/C)` (abstract)
1. `/datum/proc/ComponentActivated(datum/component/C)` (abstract, async)
* Called on a component's `parent` after a signal recieved causes it to activate. `src` is the parameter
* Will only be called if a component's callback returns `TRUE`
1. `/datum/proc/TakeComponent(datum/component/C)` (public, final)
@@ -87,7 +87,7 @@ Stands have a lot of procs which mimic mob procs. Rather than inserting hooks fo
* Called on a component when a component of the same type was added to the same parent
* See `/datum/component/var/dupe_mode`
* `C`'s type will always be the same of the called component
1. `/datum/component/proc/AfterComponentActivated()` (abstract)
1. `/datum/component/proc/AfterComponentActivated()` (abstract, async)
* Called on a component that was activated after it's `parent`'s `ComponentActivated()` is called
1. `/datum/component/proc/OnTransfer(datum/new_parent)` (abstract, no-sleep)
* Called before the new `parent` is assigned in `TakeComponent()`, after the remove signal, before the added signal
@@ -101,8 +101,5 @@ Stands have a lot of procs which mimic mob procs. Rather than inserting hooks fo
* If a previous registration is overwritten by the call, a runtime occurs. Setting `override` to TRUE prevents this
* These callbacks run asyncronously
* Returning `TRUE` from these callbacks will trigger a `TRUE` return from the `SendSignal()` that initiated it
1. `/datum/component/proc/ReceiveSignal(signal, ...)` (virtual)
* Called when a component recieves any signal and is enabled
* Default implementation looks if the signal is registered and runs the appropriate proc
### See/Define signals and their arguments in __DEFINES\components.dm
@@ -110,15 +110,6 @@
procs[sig_type] = CALLBACK(src, proc_on_self)
/datum/component/proc/ReceiveSignal(sigtype, ...)
var/list/sps = signal_procs
var/datum/callback/CB = LAZYACCESS(sps, sigtype)
if(!CB)
return FALSE
var/list/arguments = args.Copy()
arguments.Cut(1, 2)
return CB.InvokeAsync(arglist(arguments))
/datum/component/proc/InheritComponent(datum/component/C, i_am_original)
return
@@ -126,6 +117,7 @@
return
/datum/component/proc/AfterComponentActivated()
set waitfor = FALSE
return
/datum/component/proc/_GetInverseTypeList(current_type)
@@ -136,26 +128,40 @@
/datum/proc/SendSignal(sigtype, ...)
var/list/comps = datum_components
. = FALSE
if(!comps)
return
return FALSE
var/list/arguments = args.Copy()
arguments.Cut(1, 2)
var/target = comps[/datum/component]
if(!islist(target))
var/datum/component/C = target
if(C.enabled && C.ReceiveSignal(arglist(args)))
if(!C.enabled)
return FALSE
var/list/sps = C.signal_procs
var/datum/callback/CB = LAZYACCESS(sps, sigtype)
if(!CB)
return FALSE
. = CB.InvokeAsync(arglist(arguments))
if(.)
ComponentActivated(C)
C.AfterComponentActivated()
return TRUE
else
. = FALSE
for(var/I in target)
var/datum/component/C = I
if(!C.enabled)
continue
var/list/sps = C.signal_procs
var/datum/callback/CB = LAZYACCESS(sps, sigtype)
if(!CB)
continue
if(C.ReceiveSignal(arglist(args)))
if(CB.InvokeAsync(arglist(arguments)))
ComponentActivated(C)
C.AfterComponentActivated()
. = TRUE
/datum/proc/ComponentActivated(datum/component/C)
set waitfor = FALSE
return
/datum/proc/GetComponent(c_type)
@@ -5,22 +5,34 @@
amount - raw amount of the mineral this container is holding, calculated by the defined value MINERAL_MATERIAL_AMOUNT=2000.
max_amount - max raw amount of mineral this container can hold.
sheet_type - type of the mineral sheet the container handles, used for output.
owner - object that this container is being used by, used for output.
parent - object that this container is being used by, used for output.
MAX_STACK_SIZE - size of a stack of mineral sheets. Constant.
*/
/datum/material_container
/datum/component/material_container
var/total_amount = 0
var/max_amount
var/sheet_type
var/obj/owner
var/list/materials = list()
var/list/materials
var/show_on_examine
var/list/allowed_typecache
var/last_inserted_type
var/last_amount_inserted
var/last_insert_success
var/datum/callback/precondition
//MAX_STACK_SIZE = 50
//MINERAL_MATERIAL_AMOUNT = 2000
/datum/material_container/New(obj/O, list/mat_list, max_amt = 0)
owner = O
/datum/component/material_container/Initialize(list/mat_list, max_amt = 0, _show_on_examine = FALSE, list/allowed_types, datum/callback/_precondition)
materials = list()
max_amount = max(0, max_amt)
show_on_examine = _show_on_examine
if(allowed_types)
allowed_typecache = typecacheof(allowed_types)
precondition = _precondition
RegisterSignal(COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy)
RegisterSignal(COMSIG_PARENT_EXAMINE, .proc/OnExamine)
var/list/possible_mats = list()
for(var/mat_type in subtypesof(/datum/material))
@@ -31,12 +43,47 @@
var/mat_path = possible_mats[id]
materials[id] = new mat_path()
/datum/material_container/Destroy()
owner = null
return ..()
/datum/component/material_container/proc/OnExamine(mob/user)
for(var/I in materials)
var/datum/material/M = materials[I]
var/amt = amount(M.id)
if(amt)
to_chat(user, "<span class='notice'>It has [amt] units of [lowertext(M.name)] stored.</span>")
/datum/component/material_container/proc/OnAttackBy(obj/item/I, mob/living/user)
var/list/tc = allowed_typecache
if(user.a_intent == INTENT_HARM || (I.flags_2 & HOLOGRAM_2) || (tc && !is_type_in_typecache(I, tc)))
return FALSE
. = TRUE
last_insert_success = FALSE
var/datum/callback/pc = precondition
if(pc && !pc.Invoke())
return
var/material_amount = get_item_material_amount(I)
if(!material_amount)
to_chat(user, "<span class='warning'>[I] does not contain sufficient amounts of metal or glass to be accepted by [parent].</span>")
return
if(!has_space(material_amount))
to_chat(user, "<span class='warning'>[parent] is full. Please remove metal or glass from [parent] in order to insert more.</span>")
return
if(!user.temporarilyRemoveItemFromInventory(I))
to_chat(user, "<span class='warning'>[I] is stuck to you and cannot be placed into [parent].</span>")
return
var/inserted = insert_item(I)
if(inserted)
last_insert_success = TRUE
if(istype(I, /obj/item/stack))
to_chat(user, "<span class='notice'>You insert [inserted] sheet[inserted>1 ? "s" : ""] into [parent].</span>")
if(!QDELETED(I))
user.put_in_active_hand(I)
else
to_chat(user, "<span class='notice'>You insert a material total of [inserted] into [parent].</span>")
qdel(I)
else
user.put_in_active_hand(I)
//For inserting an amount of material
/datum/material_container/proc/insert_amount(amt, id = null)
/datum/component/material_container/proc/insert_amount(amt, id = null)
if(amt > 0 && has_space(amt))
var/total_amount_saved = total_amount
if(id)
@@ -52,7 +99,7 @@
return (total_amount - total_amount_saved)
return 0
/datum/material_container/proc/insert_stack(obj/item/stack/S, amt = 0)
/datum/component/material_container/proc/insert_stack(obj/item/stack/S, amt = 0)
if(amt <= 0)
return 0
if(amt > S.amount)
@@ -67,10 +114,12 @@
return 0
insert_materials(S,amt)
last_inserted_type = S.type
S.use(amt)
last_amount_inserted = amt
return amt
/datum/material_container/proc/insert_item(obj/item/I, multiplier = 1)
/datum/component/material_container/proc/insert_item(obj/item/I, multiplier = 1)
if(!I)
return 0
if(istype(I, /obj/item/stack))
@@ -82,9 +131,11 @@
return 0
insert_materials(I, multiplier)
last_inserted_type = I.type
last_amount_inserted = material_amount
return material_amount
/datum/material_container/proc/insert_materials(obj/item/I, multiplier = 1) //for internal usage only
/datum/component/material_container/proc/insert_materials(obj/item/I, multiplier = 1) //for internal usage only
var/datum/material/M
for(var/MAT in materials)
M = materials[MAT]
@@ -93,7 +144,7 @@
//For consuming material
//mats is a list of types of material to use and the corresponding amounts, example: list(MAT_METAL=100, MAT_GLASS=200)
/datum/material_container/proc/use_amount(list/mats, multiplier=1)
/datum/component/material_container/proc/use_amount(list/mats, multiplier=1)
if(!mats || !mats.len)
return 0
@@ -112,7 +163,7 @@
return total_amount_save - total_amount
/datum/material_container/proc/use_amount_type(amt, id)
/datum/component/material_container/proc/use_amount_type(amt, id)
var/datum/material/M = materials[id]
if(M)
if(M.amount >= amt)
@@ -121,7 +172,7 @@
return amt
return 0
/datum/material_container/proc/can_use_amount(amt, id, list/mats)
/datum/component/material_container/proc/can_use_amount(amt, id, list/mats)
if(amt && id)
var/datum/material/M = materials[id]
if(M && M.amount >= amt)
@@ -136,7 +187,7 @@
return FALSE
//For spawning mineral sheets; internal use only
/datum/material_container/proc/retrieve(sheet_amt, datum/material/M, target = null)
/datum/component/material_container/proc/retrieve(sheet_amt, datum/material/M, target = null)
if(!M.sheet_type)
return 0
if(sheet_amt > 0)
@@ -144,12 +195,12 @@
sheet_amt = round(M.amount / MINERAL_MATERIAL_AMOUNT)
var/count = 0
while(sheet_amt > MAX_STACK_SIZE)
new M.sheet_type(get_turf(owner), MAX_STACK_SIZE)
new M.sheet_type(get_turf(parent), MAX_STACK_SIZE)
count += MAX_STACK_SIZE
use_amount_type(sheet_amt * MINERAL_MATERIAL_AMOUNT, M.id)
sheet_amt -= MAX_STACK_SIZE
if(round((sheet_amt * MINERAL_MATERIAL_AMOUNT) / MINERAL_MATERIAL_AMOUNT))
var/obj/item/stack/sheet/s = new M.sheet_type(get_turf(owner), sheet_amt)
var/obj/item/stack/sheet/s = new M.sheet_type(get_turf(parent), sheet_amt)
if(target)
s.forceMove(target)
count += sheet_amt
@@ -157,15 +208,15 @@
return count
return 0
/datum/material_container/proc/retrieve_sheets(sheet_amt, id, target = null)
/datum/component/material_container/proc/retrieve_sheets(sheet_amt, id, target = null)
if(materials[id])
return retrieve(sheet_amt, materials[id], target)
return 0
/datum/material_container/proc/retrieve_amount(amt, id, target)
/datum/component/material_container/proc/retrieve_amount(amt, id, target)
return retrieve_sheets(amount2sheet(amt), id, target)
/datum/material_container/proc/retrieve_all(target = null)
/datum/component/material_container/proc/retrieve_all(target = null)
var/result = 0
var/datum/material/M
for(var/MAT in materials)
@@ -173,10 +224,10 @@
result += retrieve_sheets(amount2sheet(M.amount), MAT, target)
return result
/datum/material_container/proc/has_space(amt = 0)
/datum/component/material_container/proc/has_space(amt = 0)
return (total_amount + amt) <= max_amount
/datum/material_container/proc/has_materials(list/mats, multiplier=1)
/datum/component/material_container/proc/has_materials(list/mats, multiplier=1)
if(!mats || !mats.len)
return 0
@@ -187,23 +238,23 @@
return 0
return 1
/datum/material_container/proc/amount2sheet(amt)
/datum/component/material_container/proc/amount2sheet(amt)
if(amt >= MINERAL_MATERIAL_AMOUNT)
return round(amt / MINERAL_MATERIAL_AMOUNT)
return 0
/datum/material_container/proc/sheet2amount(sheet_amt)
/datum/component/material_container/proc/sheet2amount(sheet_amt)
if(sheet_amt > 0)
return sheet_amt * MINERAL_MATERIAL_AMOUNT
return 0
/datum/material_container/proc/amount(id)
/datum/component/material_container/proc/amount(id)
var/datum/material/M = materials[id]
return M ? M.amount : 0
//returns the amount of material relevant to this container;
//if this container does not support glass, any glass in 'I' will not be taken into account
/datum/material_container/proc/get_item_material_amount(obj/item/I)
/datum/component/material_container/proc/get_item_material_amount(obj/item/I)
if(!istype(I))
return 0
var/material_amount = 0
+61
View File
@@ -0,0 +1,61 @@
/datum/component/squeak
var/static/list/default_squeak_sounds = list('sound/items/toysqueak1.ogg'=1, 'sound/items/toysqueak2.ogg'=1, 'sound/items/toysqueak3.ogg'=1)
var/list/override_squeak_sounds
var/squeak_chance = 100
var/volume = 30
// This is so shoes don't squeak every step
var/steps = 0
var/step_delay = 1
// This is to stop squeak spam from inhand usage
var/last_use = 0
var/use_delay = 20
/datum/component/squeak/Initialize(custom_sounds, volume_override, chance_override, step_delay_override, use_delay_override)
if(custom_sounds)
override_squeak_sounds = custom_sounds
if(chance_override)
squeak_chance = chance_override
if(volume_override)
volume = volume_override
if(step_delay_override)
step_delay = step_delay_override
if(use_delay_override)
use_delay = use_delay_override
if(istype(parent, /atom))
RegisterSignal(COMSIG_ATOM_BLOB_ACT, .proc/play_squeak)
RegisterSignal(COMSIG_ATOM_HULK_ATTACK, .proc/play_squeak)
RegisterSignal(COMSIG_PARENT_ATTACKBY, .proc/play_squeak)
if(istype(parent, /atom/movable))
RegisterSignal(COMSIG_MOVABLE_CROSSED, .proc/play_squeak)
RegisterSignal(COMSIG_MOVABLE_COLLIDE, .proc/play_squeak)
RegisterSignal(COMSIG_MOVABLE_IMPACT, .proc/play_squeak)
if(istype(parent, /obj/item))
RegisterSignal(COMSIG_ITEM_ATTACK, .proc/play_squeak)
RegisterSignal(COMSIG_ITEM_ATTACK_SELF, .proc/use_squeak)
RegisterSignal(COMSIG_ITEM_ATTACK_OBJ, .proc/play_squeak)
if(istype(parent, /obj/item/clothing/shoes))
RegisterSignal(COMSIG_SHOES_STEP_ACTION, .proc/step_squeak)
else
RegisterSignal(COMSIG_ATOM_ENTERED, .proc/play_squeak)
/datum/component/squeak/proc/play_squeak()
if(prob(squeak_chance))
if(!override_squeak_sounds)
playsound(parent, pickweight(default_squeak_sounds), volume, 1, -1)
else
playsound(parent, pickweight(override_squeak_sounds), volume, 1, -1)
/datum/component/squeak/proc/step_squeak()
if(steps > step_delay)
play_squeak()
steps = 0
else
steps++
/datum/component/squeak/proc/use_squeak()
if(last_use + use_delay < world.time)
last_use = world.time
play_squeak()
+287 -287
View File
@@ -1,287 +1,287 @@
/datum/datacore
var/medical[] = list()
var/medicalPrintCount = 0
var/general[] = list()
var/security[] = list()
var/securityPrintCount = 0
var/securityCrimeCounter = 0
//This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().
var/locked[] = list()
/datum/data
var/name = "data"
/datum/data/record
name = "record"
var/list/fields = list()
/datum/data/record/Destroy()
if(src in GLOB.data_core.medical)
GLOB.data_core.medical -= src
if(src in GLOB.data_core.security)
GLOB.data_core.security -= src
if(src in GLOB.data_core.general)
GLOB.data_core.general -= src
if(src in GLOB.data_core.locked)
GLOB.data_core.locked -= src
. = ..()
/datum/data/crime
name = "crime"
var/crimeName = ""
var/crimeDetails = ""
var/author = ""
var/time = ""
var/dataId = 0
/datum/datacore/proc/createCrimeEntry(cname = "", cdetails = "", author = "", time = "")
var/datum/data/crime/c = new /datum/data/crime
c.crimeName = cname
c.crimeDetails = cdetails
c.author = author
c.time = time
c.dataId = ++securityCrimeCounter
return c
/datum/datacore/proc/addMinorCrime(id = "", datum/data/crime/crime)
for(var/datum/data/record/R in security)
if(R.fields["id"] == id)
var/list/crimes = R.fields["mi_crim"]
crimes |= crime
return
/datum/datacore/proc/removeMinorCrime(id, cDataId)
for(var/datum/data/record/R in security)
if(R.fields["id"] == id)
var/list/crimes = R.fields["mi_crim"]
for(var/datum/data/crime/crime in crimes)
if(crime.dataId == text2num(cDataId))
crimes -= crime
return
/datum/datacore/proc/removeMajorCrime(id, cDataId)
for(var/datum/data/record/R in security)
if(R.fields["id"] == id)
var/list/crimes = R.fields["ma_crim"]
for(var/datum/data/crime/crime in crimes)
if(crime.dataId == text2num(cDataId))
crimes -= crime
return
/datum/datacore/proc/addMajorCrime(id = "", datum/data/crime/crime)
for(var/datum/data/record/R in security)
if(R.fields["id"] == id)
var/list/crimes = R.fields["ma_crim"]
crimes |= crime
return
/datum/datacore/proc/manifest()
for(var/mob/dead/new_player/N in GLOB.player_list)
if(ishuman(N.new_character))
manifest_inject(N.new_character, N.client)
CHECK_TICK
/datum/datacore/proc/manifest_modify(name, assignment)
var/datum/data/record/foundrecord = find_record("name", name, GLOB.data_core.general)
if(foundrecord)
foundrecord.fields["rank"] = assignment
/datum/datacore/proc/get_manifest(monochrome, OOC)
var/list/heads = list()
var/list/sec = list()
var/list/eng = list()
var/list/med = list()
var/list/sci = list()
var/list/sup = list()
var/list/civ = list()
var/list/bot = list()
var/list/misc = list()
var/dat = {"
<head><style>
.manifest {border-collapse:collapse;}
.manifest td, th {border:1px solid [monochrome?"black":"#DEF; background-color:white; color:black"]; padding:.25em}
.manifest th {height: 2em; [monochrome?"border-top-width: 3px":"background-color: #48C; color:white"]}
.manifest tr.head th { [monochrome?"border-top-width: 1px":"background-color: #488;"] }
.manifest td:first-child {text-align:right}
.manifest tr.alt td {[monochrome?"border-top-width: 2px":"background-color: #DEF"]}
</style></head>
<table class="manifest" width='350px'>
<tr class='head'><th>Name</th><th>Rank</th></tr>
"}
var/even = 0
// sort mobs
for(var/datum/data/record/t in GLOB.data_core.general)
var/name = t.fields["name"]
var/rank = t.fields["rank"]
var/department = 0
if(rank in GLOB.command_positions)
heads[name] = rank
department = 1
if(rank in GLOB.security_positions)
sec[name] = rank
department = 1
if(rank in GLOB.engineering_positions)
eng[name] = rank
department = 1
if(rank in GLOB.medical_positions)
med[name] = rank
department = 1
if(rank in GLOB.science_positions)
sci[name] = rank
department = 1
if(rank in GLOB.supply_positions)
sup[name] = rank
department = 1
if(rank in GLOB.civilian_positions)
civ[name] = rank
department = 1
if(rank in GLOB.nonhuman_positions)
bot[name] = rank
department = 1
if(!department && !(name in heads))
misc[name] = rank
if(heads.len > 0)
dat += "<tr><th colspan=3>Heads</th></tr>"
for(var/name in heads)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[heads[name]]</td></tr>"
even = !even
if(sec.len > 0)
dat += "<tr><th colspan=3>Security</th></tr>"
for(var/name in sec)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[sec[name]]</td></tr>"
even = !even
if(eng.len > 0)
dat += "<tr><th colspan=3>Engineering</th></tr>"
for(var/name in eng)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[eng[name]]</td></tr>"
even = !even
if(med.len > 0)
dat += "<tr><th colspan=3>Medical</th></tr>"
for(var/name in med)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[med[name]]</td></tr>"
even = !even
if(sci.len > 0)
dat += "<tr><th colspan=3>Science</th></tr>"
for(var/name in sci)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[sci[name]]</td></tr>"
even = !even
if(sup.len > 0)
dat += "<tr><th colspan=3>Supply</th></tr>"
for(var/name in sup)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[sup[name]]</td></tr>"
even = !even
if(civ.len > 0)
dat += "<tr><th colspan=3>Civilian</th></tr>"
for(var/name in civ)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[civ[name]]</td></tr>"
even = !even
// in case somebody is insane and added them to the manifest, why not
if(bot.len > 0)
dat += "<tr><th colspan=3>Silicon</th></tr>"
for(var/name in bot)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[bot[name]]</td></tr>"
even = !even
// misc guys
if(misc.len > 0)
dat += "<tr><th colspan=3>Miscellaneous</th></tr>"
for(var/name in misc)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[misc[name]]</td></tr>"
even = !even
dat += "</table>"
dat = replacetext(dat, "\n", "")
dat = replacetext(dat, "\t", "")
return dat
/datum/datacore/proc/manifest_inject(mob/living/carbon/human/H, client/C)
if(H.mind && (H.mind.assigned_role != H.mind.special_role))
var/assignment
if(H.mind.assigned_role)
assignment = H.mind.assigned_role
else if(H.job)
assignment = H.job
else
assignment = "Unassigned"
var/static/record_id_num = 1001
var/id = num2hex(record_id_num++,6)
if(!C)
C = H.client
var/image = get_id_photo(H, C)
var/obj/item/photo/photo_front = new()
var/obj/item/photo/photo_side = new()
photo_front.photocreate(null, icon(image, dir = SOUTH))
photo_side.photocreate(null, icon(image, dir = WEST))
//These records should ~really~ be merged or something
//General Record
var/datum/data/record/G = new()
G.fields["id"] = id
G.fields["name"] = H.real_name
G.fields["rank"] = assignment
G.fields["age"] = H.age
if(config.mutant_races)
G.fields["species"] = H.dna.species.name
G.fields["fingerprint"] = md5(H.dna.uni_identity)
G.fields["p_stat"] = "Active"
G.fields["m_stat"] = "Stable"
G.fields["sex"] = H.gender
G.fields["photo_front"] = photo_front
G.fields["photo_side"] = photo_side
general += G
//Medical Record
var/datum/data/record/M = new()
M.fields["id"] = id
M.fields["name"] = H.real_name
M.fields["blood_type"] = H.dna.blood_type
M.fields["b_dna"] = H.dna.unique_enzymes
M.fields["mi_dis"] = "None"
M.fields["mi_dis_d"] = "No minor disabilities have been declared."
M.fields["ma_dis"] = "None"
M.fields["ma_dis_d"] = "No major disabilities have been diagnosed."
M.fields["alg"] = "None"
M.fields["alg_d"] = "No allergies have been detected in this patient."
M.fields["cdi"] = "None"
M.fields["cdi_d"] = "No diseases have been diagnosed at the moment."
M.fields["notes"] = "No notes."
medical += M
//Security Record
var/datum/data/record/S = new()
S.fields["id"] = id
S.fields["name"] = H.real_name
S.fields["criminal"] = "None"
S.fields["mi_crim"] = list()
S.fields["ma_crim"] = list()
S.fields["notes"] = "No notes."
security += S
//Locked Record
var/datum/data/record/L = new()
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]") //surely this should just be id, like the others?
L.fields["name"] = H.real_name
L.fields["rank"] = H.mind.assigned_role
L.fields["age"] = H.age
L.fields["sex"] = H.gender
L.fields["blood_type"] = H.dna.blood_type
L.fields["b_dna"] = H.dna.unique_enzymes
L.fields["enzymes"] = H.dna.struc_enzymes
L.fields["identity"] = H.dna.uni_identity
L.fields["species"] = H.dna.species.type
L.fields["features"] = H.dna.features
L.fields["image"] = image
L.fields["reference"] = H
locked += L
return
/datum/datacore/proc/get_id_photo(mob/living/carbon/human/H, client/C)
var/datum/job/J = SSjob.GetJob(H.mind.assigned_role)
var/datum/preferences/P
if(!C)
C = H.client
if(C)
P = C.prefs
return get_flat_human_icon(null, J, P)
/datum/datacore
var/medical[] = list()
var/medicalPrintCount = 0
var/general[] = list()
var/security[] = list()
var/securityPrintCount = 0
var/securityCrimeCounter = 0
//This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().
var/locked[] = list()
/datum/data
var/name = "data"
/datum/data/record
name = "record"
var/list/fields = list()
/datum/data/record/Destroy()
if(src in GLOB.data_core.medical)
GLOB.data_core.medical -= src
if(src in GLOB.data_core.security)
GLOB.data_core.security -= src
if(src in GLOB.data_core.general)
GLOB.data_core.general -= src
if(src in GLOB.data_core.locked)
GLOB.data_core.locked -= src
. = ..()
/datum/data/crime
name = "crime"
var/crimeName = ""
var/crimeDetails = ""
var/author = ""
var/time = ""
var/dataId = 0
/datum/datacore/proc/createCrimeEntry(cname = "", cdetails = "", author = "", time = "")
var/datum/data/crime/c = new /datum/data/crime
c.crimeName = cname
c.crimeDetails = cdetails
c.author = author
c.time = time
c.dataId = ++securityCrimeCounter
return c
/datum/datacore/proc/addMinorCrime(id = "", datum/data/crime/crime)
for(var/datum/data/record/R in security)
if(R.fields["id"] == id)
var/list/crimes = R.fields["mi_crim"]
crimes |= crime
return
/datum/datacore/proc/removeMinorCrime(id, cDataId)
for(var/datum/data/record/R in security)
if(R.fields["id"] == id)
var/list/crimes = R.fields["mi_crim"]
for(var/datum/data/crime/crime in crimes)
if(crime.dataId == text2num(cDataId))
crimes -= crime
return
/datum/datacore/proc/removeMajorCrime(id, cDataId)
for(var/datum/data/record/R in security)
if(R.fields["id"] == id)
var/list/crimes = R.fields["ma_crim"]
for(var/datum/data/crime/crime in crimes)
if(crime.dataId == text2num(cDataId))
crimes -= crime
return
/datum/datacore/proc/addMajorCrime(id = "", datum/data/crime/crime)
for(var/datum/data/record/R in security)
if(R.fields["id"] == id)
var/list/crimes = R.fields["ma_crim"]
crimes |= crime
return
/datum/datacore/proc/manifest()
for(var/mob/dead/new_player/N in GLOB.player_list)
if(ishuman(N.new_character))
manifest_inject(N.new_character, N.client)
CHECK_TICK
/datum/datacore/proc/manifest_modify(name, assignment)
var/datum/data/record/foundrecord = find_record("name", name, GLOB.data_core.general)
if(foundrecord)
foundrecord.fields["rank"] = assignment
/datum/datacore/proc/get_manifest(monochrome, OOC)
var/list/heads = list()
var/list/sec = list()
var/list/eng = list()
var/list/med = list()
var/list/sci = list()
var/list/sup = list()
var/list/civ = list()
var/list/bot = list()
var/list/misc = list()
var/dat = {"
<head><style>
.manifest {border-collapse:collapse;}
.manifest td, th {border:1px solid [monochrome?"black":"#DEF; background-color:white; color:black"]; padding:.25em}
.manifest th {height: 2em; [monochrome?"border-top-width: 3px":"background-color: #48C; color:white"]}
.manifest tr.head th { [monochrome?"border-top-width: 1px":"background-color: #488;"] }
.manifest td:first-child {text-align:right}
.manifest tr.alt td {[monochrome?"border-top-width: 2px":"background-color: #DEF"]}
</style></head>
<table class="manifest" width='350px'>
<tr class='head'><th>Name</th><th>Rank</th></tr>
"}
var/even = 0
// sort mobs
for(var/datum/data/record/t in GLOB.data_core.general)
var/name = t.fields["name"]
var/rank = t.fields["rank"]
var/department = 0
if(rank in GLOB.command_positions)
heads[name] = rank
department = 1
if(rank in GLOB.security_positions)
sec[name] = rank
department = 1
if(rank in GLOB.engineering_positions)
eng[name] = rank
department = 1
if(rank in GLOB.medical_positions)
med[name] = rank
department = 1
if(rank in GLOB.science_positions)
sci[name] = rank
department = 1
if(rank in GLOB.supply_positions)
sup[name] = rank
department = 1
if(rank in GLOB.civilian_positions)
civ[name] = rank
department = 1
if(rank in GLOB.nonhuman_positions)
bot[name] = rank
department = 1
if(!department && !(name in heads))
misc[name] = rank
if(heads.len > 0)
dat += "<tr><th colspan=3>Heads</th></tr>"
for(var/name in heads)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[heads[name]]</td></tr>"
even = !even
if(sec.len > 0)
dat += "<tr><th colspan=3>Security</th></tr>"
for(var/name in sec)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[sec[name]]</td></tr>"
even = !even
if(eng.len > 0)
dat += "<tr><th colspan=3>Engineering</th></tr>"
for(var/name in eng)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[eng[name]]</td></tr>"
even = !even
if(med.len > 0)
dat += "<tr><th colspan=3>Medical</th></tr>"
for(var/name in med)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[med[name]]</td></tr>"
even = !even
if(sci.len > 0)
dat += "<tr><th colspan=3>Science</th></tr>"
for(var/name in sci)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[sci[name]]</td></tr>"
even = !even
if(sup.len > 0)
dat += "<tr><th colspan=3>Supply</th></tr>"
for(var/name in sup)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[sup[name]]</td></tr>"
even = !even
if(civ.len > 0)
dat += "<tr><th colspan=3>Civilian</th></tr>"
for(var/name in civ)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[civ[name]]</td></tr>"
even = !even
// in case somebody is insane and added them to the manifest, why not
if(bot.len > 0)
dat += "<tr><th colspan=3>Silicon</th></tr>"
for(var/name in bot)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[bot[name]]</td></tr>"
even = !even
// misc guys
if(misc.len > 0)
dat += "<tr><th colspan=3>Miscellaneous</th></tr>"
for(var/name in misc)
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[misc[name]]</td></tr>"
even = !even
dat += "</table>"
dat = replacetext(dat, "\n", "")
dat = replacetext(dat, "\t", "")
return dat
/datum/datacore/proc/manifest_inject(mob/living/carbon/human/H, client/C)
set waitfor = FALSE
if(H.mind && (H.mind.assigned_role != H.mind.special_role))
var/assignment
if(H.mind.assigned_role)
assignment = H.mind.assigned_role
else if(H.job)
assignment = H.job
else
assignment = "Unassigned"
var/static/record_id_num = 1001
var/id = num2hex(record_id_num++,6)
if(!C)
C = H.client
var/image = get_id_photo(H, C)
var/obj/item/photo/photo_front = new()
var/obj/item/photo/photo_side = new()
photo_front.photocreate(null, icon(image, dir = SOUTH))
photo_side.photocreate(null, icon(image, dir = WEST))
//These records should ~really~ be merged or something
//General Record
var/datum/data/record/G = new()
G.fields["id"] = id
G.fields["name"] = H.real_name
G.fields["rank"] = assignment
G.fields["age"] = H.age
if(config.mutant_races)
G.fields["species"] = H.dna.species.name
G.fields["fingerprint"] = md5(H.dna.uni_identity)
G.fields["p_stat"] = "Active"
G.fields["m_stat"] = "Stable"
G.fields["sex"] = H.gender
G.fields["photo_front"] = photo_front
G.fields["photo_side"] = photo_side
general += G
//Medical Record
var/datum/data/record/M = new()
M.fields["id"] = id
M.fields["name"] = H.real_name
M.fields["blood_type"] = H.dna.blood_type
M.fields["b_dna"] = H.dna.unique_enzymes
M.fields["mi_dis"] = "None"
M.fields["mi_dis_d"] = "No minor disabilities have been declared."
M.fields["ma_dis"] = "None"
M.fields["ma_dis_d"] = "No major disabilities have been diagnosed."
M.fields["alg"] = "None"
M.fields["alg_d"] = "No allergies have been detected in this patient."
M.fields["cdi"] = "None"
M.fields["cdi_d"] = "No diseases have been diagnosed at the moment."
M.fields["notes"] = "No notes."
medical += M
//Security Record
var/datum/data/record/S = new()
S.fields["id"] = id
S.fields["name"] = H.real_name
S.fields["criminal"] = "None"
S.fields["mi_crim"] = list()
S.fields["ma_crim"] = list()
S.fields["notes"] = "No notes."
security += S
//Locked Record
var/datum/data/record/L = new()
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]") //surely this should just be id, like the others?
L.fields["name"] = H.real_name
L.fields["rank"] = H.mind.assigned_role
L.fields["age"] = H.age
L.fields["sex"] = H.gender
L.fields["blood_type"] = H.dna.blood_type
L.fields["b_dna"] = H.dna.unique_enzymes
L.fields["enzymes"] = H.dna.struc_enzymes
L.fields["identity"] = H.dna.uni_identity
L.fields["species"] = H.dna.species.type
L.fields["features"] = H.dna.features
L.fields["image"] = image
L.fields["mindref"] = H.mind
locked += L
return
/datum/datacore/proc/get_id_photo(mob/living/carbon/human/H, client/C)
var/datum/job/J = SSjob.GetJob(H.mind.assigned_role)
var/datum/preferences/P
if(!C)
C = H.client
if(C)
P = C.prefs
return get_flat_human_icon(null, J, P, DUMMY_HUMAN_SLOT_MANIFEST)
+2 -2
View File
@@ -83,10 +83,10 @@
if(isliving(A))
atomsnowflake += "<a href='?_src_=vars;[HrefToken()];rename=[refid]'><b>[D]</b></a>"
if(A.dir)
atomsnowflake += "<br><font size='1'><a href='?_src_=vars;[HrefToken()];rotatedatum=[refid];rotatedir=left'><<</a> <a href='?_src_=vars;datumedit=[refid];varnameedit=dir'>[dir2text(A.dir)]</a> <a href='?_src_=vars;rotatedatum=[refid];rotatedir=right'>>></a></font>"
atomsnowflake += "<br><font size='1'><a href='?_src_=vars;[HrefToken()];rotatedatum=[refid];rotatedir=left'><<</a> <a href='?_src_=vars;[HrefToken()];datumedit=[refid];varnameedit=dir'>[dir2text(A.dir)]</a> <a href='?_src_=vars;[HrefToken()];rotatedatum=[refid];rotatedir=right'>>></a></font>"
var/mob/living/M = A
atomsnowflake += {"
<br><font size='1'><a href='?_src_=vars;[HrefToken()];datumedit=[refid];varnameedit=ckey'>[M.ckey ? M.ckey : "No ckey"]</a> / <a href='?_src_=vars;datumedit=[refid];varnameedit=real_name'>[M.real_name ? M.real_name : "No real name"]</a></font>
<br><font size='1'><a href='?_src_=vars;[HrefToken()];datumedit=[refid];varnameedit=ckey'>[M.ckey ? M.ckey : "No ckey"]</a> / <a href='?_src_=vars;[HrefToken()];datumedit=[refid];varnameedit=real_name'>[M.real_name ? M.real_name : "No real name"]</a></font>
<br><font size='1'>
BRUTE:<font size='1'><a href='?_src_=vars;[HrefToken()];mobToDamage=[refid];adjustDamage=brute'>[M.getBruteLoss()]</a>
FIRE:<font size='1'><a href='?_src_=vars;[HrefToken()];mobToDamage=[refid];adjustDamage=fire'>[M.getFireLoss()]</a>
-5
View File
@@ -245,7 +245,6 @@
/datum/disease/advance/proc/GenerateCure()
if(properties && properties.len)
var/res = Clamp(properties["resistance"] - (symptoms.len / 2), 1, advance_cures.len)
//to_chat(world, "Res = [res]")
cures = list(advance_cures[res])
// Get the cure name from the cure_id
@@ -333,9 +332,6 @@
// Mix a list of advance diseases and return the mixed result.
/proc/Advance_Mix(var/list/D_list)
//to_chat(world, "Mixing!!!!")
var/list/diseases = list()
for(var/datum/disease/advance/A in D_list)
@@ -359,7 +355,6 @@
D2.Mix(D1)
// Should be only 1 entry left, but if not let's only return a single entry
//to_chat(world, "END MIXING!!!!!")
var/datum/disease/advance/to_return = pick(diseases)
to_return.Refresh(1)
return to_return
+72 -72
View File
@@ -1,74 +1,74 @@
/datum/disease/dnaspread
name = "Space Retrovirus"
max_stages = 4
spread_text = "On contact"
spread_flags = CONTACT_GENERAL
cure_text = "Mutadone"
cures = list("mutadone")
disease_flags = CAN_CARRY|CAN_RESIST|CURABLE
agent = "S4E1 retrovirus"
viable_mobtypes = list(/mob/living/carbon/human)
var/datum/dna/original_dna = null
var/transformed = 0
desc = "This disease transplants the genetic code of the initial vector into new hosts."
severity = MEDIUM
/datum/disease/dnaspread/stage_act()
..()
if(!affected_mob.dna)
cure()
if(NOTRANSSTING in affected_mob.dna.species.species_traits) //Only species that can be spread by transformation sting can be spread by the retrovirus
cure()
if(!strain_data["dna"])
//Absorbs the target DNA.
strain_data["dna"] = new affected_mob.dna.type
affected_mob.dna.copy_dna(strain_data["dna"])
/datum/disease/dnaspread
name = "Space Retrovirus"
max_stages = 4
spread_text = "On contact"
spread_flags = CONTACT_GENERAL
cure_text = "Mutadone"
cures = list("mutadone")
disease_flags = CAN_CARRY|CAN_RESIST|CURABLE
agent = "S4E1 retrovirus"
viable_mobtypes = list(/mob/living/carbon/human)
var/datum/dna/original_dna = null
var/transformed = 0
desc = "This disease transplants the genetic code of the initial vector into new hosts."
severity = MEDIUM
/datum/disease/dnaspread/stage_act()
..()
if(!affected_mob.dna)
cure()
if((NOTRANSSTING in affected_mob.dna.species.species_traits) || (NO_DNA_COPY in affected_mob.dna.species.species_traits)) //Only species that can be spread by transformation sting can be spread by the retrovirus
cure()
if(!strain_data["dna"])
//Absorbs the target DNA.
strain_data["dna"] = new affected_mob.dna.type
affected_mob.dna.copy_dna(strain_data["dna"])
carrier = TRUE
stage = 4
return
switch(stage)
if(2 || 3) //Pretend to be a cold and give time to spread.
if(prob(8))
affected_mob.emote("sneeze")
if(prob(8))
affected_mob.emote("cough")
if(prob(1))
to_chat(affected_mob, "<span class='danger'>Your muscles ache.</span>")
if(prob(20))
affected_mob.take_bodypart_damage(1)
if(prob(1))
to_chat(affected_mob, "<span class='danger'>Your stomach hurts.</span>")
if(prob(20))
affected_mob.adjustToxLoss(2)
affected_mob.updatehealth()
if(4)
if(!transformed && !carrier)
//Save original dna for when the disease is cured.
original_dna = new affected_mob.dna.type
affected_mob.dna.copy_dna(original_dna)
to_chat(affected_mob, "<span class='danger'>You don't feel like yourself..</span>")
var/datum/dna/transform_dna = strain_data["dna"]
transform_dna.transfer_identity(affected_mob, transfer_SE = 1)
affected_mob.real_name = affected_mob.dna.real_name
affected_mob.updateappearance(mutcolor_update=1)
affected_mob.domutcheck()
transformed = 1
carrier = 1 //Just chill out at stage 4
return
/datum/disease/dnaspread/Destroy()
if (original_dna && transformed && affected_mob)
original_dna.transfer_identity(affected_mob, transfer_SE = 1)
affected_mob.real_name = affected_mob.dna.real_name
affected_mob.updateappearance(mutcolor_update=1)
affected_mob.domutcheck()
to_chat(affected_mob, "<span class='notice'>You feel more like yourself.</span>")
return ..()
return
switch(stage)
if(2 || 3) //Pretend to be a cold and give time to spread.
if(prob(8))
affected_mob.emote("sneeze")
if(prob(8))
affected_mob.emote("cough")
if(prob(1))
to_chat(affected_mob, "<span class='danger'>Your muscles ache.</span>")
if(prob(20))
affected_mob.take_bodypart_damage(1)
if(prob(1))
to_chat(affected_mob, "<span class='danger'>Your stomach hurts.</span>")
if(prob(20))
affected_mob.adjustToxLoss(2)
affected_mob.updatehealth()
if(4)
if(!transformed && !carrier)
//Save original dna for when the disease is cured.
original_dna = new affected_mob.dna.type
affected_mob.dna.copy_dna(original_dna)
to_chat(affected_mob, "<span class='danger'>You don't feel like yourself..</span>")
var/datum/dna/transform_dna = strain_data["dna"]
transform_dna.transfer_identity(affected_mob, transfer_SE = 1)
affected_mob.real_name = affected_mob.dna.real_name
affected_mob.updateappearance(mutcolor_update=1)
affected_mob.domutcheck()
transformed = 1
carrier = 1 //Just chill out at stage 4
return
/datum/disease/dnaspread/Destroy()
if (original_dna && transformed && affected_mob)
original_dna.transfer_identity(affected_mob, transfer_SE = 1)
affected_mob.real_name = affected_mob.dna.real_name
affected_mob.updateappearance(mutcolor_update=1)
affected_mob.domutcheck()
to_chat(affected_mob, "<span class='notice'>You feel more like yourself.</span>")
return ..()
+4 -2
View File
@@ -235,7 +235,9 @@
flavor_text = dna.features["flavor_text"] //Update the flavor_text to use new dna text
if(mrace)
set_species(mrace, icon_update=0)
var/datum/species/newrace = new mrace.type
newrace.copy_properties_from(mrace)
set_species(newrace, icon_update=0)
if(newreal_name)
real_name = newreal_name
@@ -396,4 +398,4 @@
value = values
return value
/////////////////////////// DNA HELPER-PROCS
/////////////////////////// DNA HELPER-PROCS
+1
View File
@@ -21,6 +21,7 @@ GLOBAL_LIST_INIT(huds, list(
ANTAG_HUD_SOULLESS = new/datum/atom_hud/antag/hidden(),
ANTAG_HUD_CLOCKWORK = new/datum/atom_hud/antag(),
ANTAG_HUD_BORER = new/datum/atom_hud/antag(),
ANTAG_HUD_BROTHER = new/datum/atom_hud/antag/hidden(),
))
/datum/atom_hud

Some files were not shown because too many files have changed in this diff Show More