Merge branch 'master' into meteor
This commit is contained in:
+1
-1
@@ -1,4 +1,4 @@
|
||||
[*]
|
||||
insert_final_newline = false
|
||||
insert_final_newline = true
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
|
||||
@@ -111,6 +111,9 @@ The use of the : operator to override type safety checks is not allowed. You mus
|
||||
### Type paths must begin with a /
|
||||
eg: `/datum/thing`, not `datum/thing`
|
||||
|
||||
### Type paths must be lowercase
|
||||
eg: `/datum/thing/blue`, not `datum/thing/BLUE` or `datum/thing/Blue`
|
||||
|
||||
### Datum type paths must began with "datum"
|
||||
In DM, this is optional, but omitting it makes finding definitions harder.
|
||||
|
||||
@@ -240,6 +243,8 @@ This prevents nesting levels from getting deeper then they need to be.
|
||||
|
||||
* Queries must never specify the database, be it in code, or in text files in the repo.
|
||||
|
||||
* Primary keys are inherently immutable and you must never do anything to change the primary key of a row or entity. This includes preserving auto increment numbers of rows when copying data to a table in a conversion script. No amount of bitching about gaps in ids or out of order ids will save you from this policy.
|
||||
|
||||
### Mapping Standards
|
||||
* TGM Format & Map Merge
|
||||
* All new maps submitted to the repo through a pull request must be in TGM format (unless there is a valid reason present to have it in the default BYOND format.) This is done using the [Map Merge](https://github.com/tgstation/tgstation/wiki/Map-Merger) utility included in the repo to convert the file to TGM format.
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
[Round ID]: # (If you discovered this issue from playing tgstation hosted servers:)
|
||||
[Round ID]: # (**INCLUDE THE ROUND ID**)
|
||||
[Round ID]: # (It can be found in the Status panel or retrieved from https://atlantaned.space/statbus/round.php ! The round id let's us look up valuable information and logs for the round the bug happened.)
|
||||
|
||||
[Testmerges]: # (If you believe the issue to be caused by a test merge [OOC tab -> Show Server Revision], report it in the pull request's comment section instead.)
|
||||
|
||||
[Reproduction]: # (Explain your issue in detail, including the steps to reproduce it. Issues without proper reproduction steps or explanation are open to being ignored/closed by maintainers.)
|
||||
|
||||
[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.)
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help reproduce and fix the issue
|
||||
---
|
||||
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable -->
|
||||
## Round ID:
|
||||
|
||||
<!--- **INCLUDE THE ROUND ID**
|
||||
If you discovered this issue from playing tgstation hosted servers:
|
||||
[Round ID]: # (It can be found in the Status panel or retrieved from https://atlantaned.space/statbus/round.php ! The round id let's us look up valuable information and logs for the round the bug happened.)-->
|
||||
|
||||
## Testmerges:
|
||||
|
||||
<!-- If you're certain the issue is to be caused by a test merge [OOC tab -> Show Server Revision], report it in the pull request's comment section rather than on the tracker(If you're unsure you can refer to the issue number by prefixing said number with #. The issue number can be found beside the title after submitting it to the tracker).If no testmerges are active, feel free to remove this section. -->
|
||||
|
||||
## Reproduction:
|
||||
|
||||
<!-- Explain your issue in detail, including the steps to reproduce it. Issues without proper reproduction steps or explanation are open to being ignored/closed by maintainers.-->
|
||||
|
||||
<!-- **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. -->
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
|
||||
---
|
||||
|
||||
Please be aware that feature discussions most often take place on the Citadel Station Discord and should not be requested here.
|
||||
@@ -1,6 +1,16 @@
|
||||
[Changelogs]: # (Your PR should contain a detailed changelog of notable changes, titled and categorized appropriately. This includes, new features, sprites, sounds, balance changes, admin tools, map edits, removals, big refactors, config changes, hosting changes and important fixes. An example changelog has been provided below for you to edit. If you need additional help, read https://github.com/tgstation/tgstation/wiki/Changelogs)
|
||||
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. -->
|
||||
<!-- You can view Contributing.MD for a detailed description of the pull request process. -->
|
||||
|
||||
:cl: optional name here
|
||||
## About The Pull Request
|
||||
|
||||
<!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! -->
|
||||
|
||||
## Why It's Good For The Game
|
||||
|
||||
<!-- Please add a short description of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding. -->
|
||||
|
||||
## Changelog
|
||||
:cl:
|
||||
add: Added new things
|
||||
add: Added more things
|
||||
del: Removed old things
|
||||
@@ -19,4 +29,5 @@ admin: messed with admin stuff
|
||||
server: something server ops should know
|
||||
/:cl:
|
||||
|
||||
[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.)
|
||||
<!-- Both :cl:'s are required for the changelog to work! You can put your name to the right of the first :cl: if you want to overwrite your GitHub username as author ingame. -->
|
||||
<!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. -->
|
||||
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
FROM tgstation/byond:512.1453 as base
|
||||
FROM tgstation/byond:512.1467 as base
|
||||
|
||||
FROM base as build_base
|
||||
|
||||
@@ -25,7 +25,7 @@ COPY dependencies.sh .
|
||||
RUN /bin/bash -c "source dependencies.sh \
|
||||
&& git fetch --depth 1 origin \$RUST_G_VERSION" \
|
||||
&& git checkout FETCH_HEAD \
|
||||
&& cargo build --release
|
||||
&& ~/.cargo/bin/cargo build --release
|
||||
|
||||
FROM build_base as bsql
|
||||
|
||||
@@ -87,4 +87,4 @@ RUN ln -s /tgstation/libBSQL.so /root/.byond/bin/libBSQL.so
|
||||
|
||||
VOLUME [ "/tgstation/config", "/tgstation/data" ]
|
||||
|
||||
ENTRYPOINT [ "DreamDaemon", "tgstation.dmb", "-port", "1337", "-trusted", "-close", "-verbose" ]
|
||||
ENTRYPOINT [ "DreamDaemon", "tgstation.dmb", "-port", "1337", "-trusted", "-close", "-verbose" ]
|
||||
|
||||
@@ -66,6 +66,49 @@
|
||||
},
|
||||
/turf/closed/mineral/volcanic/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"am" = (
|
||||
/obj/structure/necropolis_gate,
|
||||
/obj/structure/stone_tile/block{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/stone_tile/block/cracked{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"an" = (
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked,
|
||||
/obj/structure/stone_tile/center,
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/lava/smooth{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"ao" = (
|
||||
/obj/structure/stone_tile/block/cracked,
|
||||
/turf/open/lava/smooth{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"ap" = (
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked,
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/stone_tile/center,
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/lava/smooth{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aq" = (
|
||||
/obj/structure/stone_tile/block/cracked{
|
||||
dir = 8
|
||||
@@ -108,7 +151,7 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/flashlight/lantern,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"av" = (
|
||||
/obj/structure/stone_tile/block,
|
||||
@@ -118,7 +161,7 @@
|
||||
/obj/structure/stone_tile{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aw" = (
|
||||
/obj/structure/stone_tile/block,
|
||||
@@ -129,7 +172,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"ax" = (
|
||||
/obj/structure/stone_tile/block,
|
||||
@@ -139,7 +182,7 @@
|
||||
/obj/structure/stone_tile{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"ay" = (
|
||||
/obj/structure/stone_tile,
|
||||
@@ -153,7 +196,7 @@
|
||||
dir = 8
|
||||
},
|
||||
/obj/item/flashlight/lantern,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"az" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
@@ -181,6 +224,14 @@
|
||||
/obj/item/storage/toolbox/syndicate,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aD" = (
|
||||
/obj/structure/stone_tile/block/cracked{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/lava/smooth{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aE" = (
|
||||
/obj/structure/stone_tile{
|
||||
dir = 4
|
||||
@@ -210,33 +261,34 @@
|
||||
/obj/structure/stone_tile{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aH" = (
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked,
|
||||
/obj/structure/stone_tile/center,
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 1
|
||||
/mob/living/simple_animal/hostile/spawner/lavaland/ash_walker,
|
||||
/turf/open/lava/smooth{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/lava/smooth,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aI" = (
|
||||
/obj/structure/stone_tile/block/cracked,
|
||||
/turf/open/lava/smooth,
|
||||
/obj/structure/stone_tile/block{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/lava/smooth{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aJ" = (
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked,
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/stone_tile/center,
|
||||
/obj/structure/stone_tile/center/cracked,
|
||||
/obj/structure/stone_tile/surrounding_tile,
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 8
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/lava/smooth{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
/turf/open/lava/smooth,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aK" = (
|
||||
/obj/structure/stone_tile/block/cracked{
|
||||
@@ -247,7 +299,15 @@
|
||||
},
|
||||
/obj/structure/stone_tile,
|
||||
/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aL" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/lava/smooth{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aM" = (
|
||||
/obj/structure/stone_tile/cracked{
|
||||
@@ -302,23 +362,22 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aT" = (
|
||||
/obj/structure/stone_tile/block/cracked{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/lava/smooth,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aU" = (
|
||||
/mob/living/simple_animal/hostile/spawner/lavaland/ash_walker,
|
||||
/turf/open/lava/smooth,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aV" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/lava/smooth,
|
||||
/obj/structure/stone_tile/center,
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/lava/smooth{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aW" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
@@ -328,7 +387,7 @@
|
||||
/obj/structure/stone_tile{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aY" = (
|
||||
/obj/structure/stone_tile,
|
||||
@@ -376,37 +435,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/mob/living/simple_animal/hostile/asteroid/gutlunch/guthen,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bd" = (
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/stone_tile/center/cracked,
|
||||
/obj/structure/stone_tile/surrounding_tile,
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/lava/smooth,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"be" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/lava/smooth,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bf" = (
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/stone_tile/center,
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/lava/smooth,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bg" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
@@ -416,7 +445,7 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/stone_tile,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bh" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
@@ -514,7 +543,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/flashlight/lantern,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bq" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
@@ -524,11 +553,11 @@
|
||||
/obj/structure/stone_tile{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"br" = (
|
||||
/obj/structure/stone_tile/slab/cracked,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bs" = (
|
||||
/obj/structure/stone_tile/block/cracked{
|
||||
@@ -539,7 +568,7 @@
|
||||
},
|
||||
/obj/structure/stone_tile,
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bt" = (
|
||||
/obj/structure/stone_tile,
|
||||
@@ -553,7 +582,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/flashlight/lantern,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bv" = (
|
||||
/obj/structure/stone_tile/cracked{
|
||||
@@ -628,7 +657,7 @@
|
||||
/obj/structure/stone_tile/block/cracked{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/indestructible/boss/air,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bC" = (
|
||||
/obj/structure/stone_tile/block/cracked{
|
||||
@@ -658,18 +687,6 @@
|
||||
"bG" = (
|
||||
/turf/closed/indestructible/riveted/boss/see_through,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bH" = (
|
||||
/obj/structure/necropolis_gate,
|
||||
/obj/structure/stone_tile/block{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/stone_tile/block/cracked{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/fans/tiny/invisible,
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bI" = (
|
||||
/obj/structure/stone_tile/slab/cracked,
|
||||
/turf/closed/mineral/volcanic/lava_land_surface,
|
||||
@@ -1702,9 +1719,9 @@ ae
|
||||
ak
|
||||
ak
|
||||
av
|
||||
aH
|
||||
aT
|
||||
bd
|
||||
an
|
||||
aD
|
||||
aJ
|
||||
bq
|
||||
ak
|
||||
bG
|
||||
@@ -1724,12 +1741,12 @@ ac
|
||||
ak
|
||||
ak
|
||||
aw
|
||||
aI
|
||||
aU
|
||||
be
|
||||
ao
|
||||
aH
|
||||
aL
|
||||
br
|
||||
bB
|
||||
bH
|
||||
am
|
||||
bS
|
||||
ce
|
||||
dn
|
||||
@@ -1746,9 +1763,9 @@ ac
|
||||
ak
|
||||
ak
|
||||
ax
|
||||
aJ
|
||||
aV
|
||||
bf
|
||||
ap
|
||||
aI
|
||||
aT
|
||||
bs
|
||||
ak
|
||||
bG
|
||||
|
||||
@@ -272,7 +272,14 @@
|
||||
/obj/machinery/light,
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/ruin/powered/seedvault)
|
||||
|
||||
"Z" = (
|
||||
/obj/item/disk/design_disk/plant_disk,
|
||||
/obj/machinery/autolathe{
|
||||
hacked = TRUE;
|
||||
desc = "This autolathe seems to have its safety light off."
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/ruin/powered/seedvault)
|
||||
(1,1,1) = {"
|
||||
a
|
||||
a
|
||||
@@ -375,7 +382,7 @@ h
|
||||
h
|
||||
u
|
||||
R
|
||||
u
|
||||
Z
|
||||
Q
|
||||
a
|
||||
a
|
||||
|
||||
@@ -458,4 +458,4 @@ b
|
||||
b
|
||||
b
|
||||
a
|
||||
"}
|
||||
"}
|
||||
|
||||
@@ -87,6 +87,7 @@
|
||||
/obj/item/organ/alien/plasmavessel/small,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/unpowered)
|
||||
|
||||
(1,1,1) = {"
|
||||
a
|
||||
a
|
||||
|
||||
@@ -166,9 +166,6 @@
|
||||
/obj/effect/turf_decal/tile/bar{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
initial_gas_mix = "TEMP=2.7"
|
||||
},
|
||||
/turf/open/floor/plating/airless{
|
||||
icon_state = "platingdmg2"
|
||||
},
|
||||
|
||||
@@ -2183,9 +2183,7 @@
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/white{
|
||||
icon_state = "whitepurple"
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
"fU" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
|
||||
@@ -509,7 +509,9 @@
|
||||
/obj/machinery/button/door{
|
||||
id = "a3";
|
||||
name = "privacy button";
|
||||
pixel_y = -24
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = -24;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/wood,
|
||||
@@ -557,7 +559,9 @@
|
||||
/obj/machinery/button/door{
|
||||
id = "a4";
|
||||
name = "privacy button";
|
||||
pixel_y = -24
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = -24;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/wood,
|
||||
@@ -605,7 +609,9 @@
|
||||
/obj/machinery/button/door{
|
||||
id = "a5";
|
||||
name = "privacy button";
|
||||
pixel_y = -24
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = -24;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/wood,
|
||||
@@ -653,7 +659,9 @@
|
||||
/obj/machinery/button/door{
|
||||
id = "a6";
|
||||
name = "privacy button";
|
||||
pixel_y = -24
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = -24;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/wood,
|
||||
@@ -1097,7 +1105,9 @@
|
||||
/obj/machinery/button/door{
|
||||
id = "a2";
|
||||
name = "privacy button";
|
||||
pixel_y = 24
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = 24;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/wood,
|
||||
@@ -1159,7 +1169,9 @@
|
||||
/obj/machinery/button/door{
|
||||
id = "a1";
|
||||
name = "privacy button";
|
||||
pixel_y = 24
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = 24;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/wood,
|
||||
@@ -1807,7 +1819,9 @@
|
||||
/area/ruin/space/has_grav/hotel/bar)
|
||||
"fE" = (
|
||||
/obj/machinery/vending/boozeomat{
|
||||
req_access_txt = "200"
|
||||
extended_inventory = 1;
|
||||
req_access_txt = "200";
|
||||
scan_id = 0
|
||||
},
|
||||
/obj/effect/turf_decal/tile/bar,
|
||||
/obj/effect/turf_decal/tile/bar{
|
||||
@@ -4496,7 +4510,6 @@
|
||||
/turf/closed/wall,
|
||||
/area/ruin/space/has_grav/hotel/custodial)
|
||||
"me" = (
|
||||
/mob/living/simple_animal/bot/cleanbot,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
@@ -4507,6 +4520,7 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/mob/living/simple_animal/bot/cleanbot,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/hotel/custodial)
|
||||
"mf" = (
|
||||
|
||||
@@ -2718,7 +2718,6 @@
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"gg" = (
|
||||
/obj/machinery/atmospherics/components/unary/outlet_injector/on,
|
||||
/turf/open/floor/plating/asteroid/snow/ice,
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/post/cavern2)
|
||||
"gh" = (
|
||||
@@ -2905,11 +2904,6 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/snowdin/post/gateway)
|
||||
"gx" = (
|
||||
/obj/structure/barricade/wooden/snowed,
|
||||
/turf/open/floor/plating/asteroid/snow/ice,
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"gy" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
piping_layer = 3;
|
||||
@@ -8627,10 +8621,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark/snowdin,
|
||||
/area/awaymission/snowdin/outside)
|
||||
"sT" = (
|
||||
/turf/open/floor/plating/snowed/smoothed,
|
||||
/turf/open/floor/plating/snowed,
|
||||
/area/awaymission/snowdin/outside)
|
||||
"sU" = (
|
||||
/obj/effect/turf_decal/weather/snow,
|
||||
/obj/effect/turf_decal/stripes/white/line{
|
||||
@@ -11504,10 +11494,6 @@
|
||||
},
|
||||
/turf/open/floor/plating/snowed,
|
||||
/area/awaymission/snowdin/outside)
|
||||
"AD" = (
|
||||
/turf/open/floor/plating,
|
||||
/turf/open/floor/plating/snowed,
|
||||
/area/awaymission/snowdin/outside)
|
||||
"AE" = (
|
||||
/obj/item/pen,
|
||||
/turf/open/floor/plating{
|
||||
@@ -12164,10 +12150,6 @@
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/snow,
|
||||
/area/awaymission/snowdin/outside)
|
||||
"Cx" = (
|
||||
/turf/open/floor/plating/asteroid/snow/ice,
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"Cy" = (
|
||||
/obj/machinery/light/small{
|
||||
brightness = 3;
|
||||
@@ -24303,7 +24285,7 @@ am
|
||||
af
|
||||
sx
|
||||
sJ
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -24389,7 +24371,7 @@ af
|
||||
af
|
||||
af
|
||||
dX
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -24560,7 +24542,7 @@ af
|
||||
am
|
||||
sx
|
||||
sK
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -24646,7 +24628,7 @@ af
|
||||
af
|
||||
af
|
||||
dX
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -24817,7 +24799,7 @@ ak
|
||||
af
|
||||
sx
|
||||
sJ
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -24852,7 +24834,7 @@ dX
|
||||
dX
|
||||
dX
|
||||
dX
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -24903,7 +24885,7 @@ dX
|
||||
dX
|
||||
dX
|
||||
dX
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -25074,7 +25056,7 @@ af
|
||||
fq
|
||||
sx
|
||||
sK
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -25160,7 +25142,7 @@ af
|
||||
af
|
||||
af
|
||||
dX
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -25331,7 +25313,7 @@ af
|
||||
sf
|
||||
sx
|
||||
sJ
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -25417,7 +25399,7 @@ af
|
||||
af
|
||||
af
|
||||
dX
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -26715,7 +26697,7 @@ zK
|
||||
oa
|
||||
te
|
||||
Au
|
||||
AD
|
||||
te
|
||||
yW
|
||||
af
|
||||
ag
|
||||
@@ -60052,8 +60034,8 @@ qi
|
||||
qi
|
||||
qi
|
||||
qi
|
||||
gx
|
||||
gx
|
||||
tR
|
||||
tR
|
||||
oZ
|
||||
oZ
|
||||
oZ
|
||||
@@ -61188,7 +61170,7 @@ qi
|
||||
oZ
|
||||
oZ
|
||||
oZ
|
||||
Cx
|
||||
qi
|
||||
qi
|
||||
oZ
|
||||
oZ
|
||||
@@ -64271,7 +64253,7 @@ sY
|
||||
oZ
|
||||
oZ
|
||||
sY
|
||||
Cx
|
||||
qi
|
||||
oZ
|
||||
oZ
|
||||
sY
|
||||
@@ -64528,7 +64510,7 @@ oZ
|
||||
oY
|
||||
oZ
|
||||
oZ
|
||||
Cx
|
||||
qi
|
||||
oZ
|
||||
oZ
|
||||
oZ
|
||||
|
||||
@@ -245,24 +245,10 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/research/interior/engineering)
|
||||
"aS" = (
|
||||
/turf/open/floor/plasteel{
|
||||
icon_state = "damaged4"
|
||||
},
|
||||
/turf/closed/wall/mineral/plastitanium,
|
||||
/area/awaymission/research/interior/engineering)
|
||||
"aT" = (
|
||||
/mob/living/simple_animal/hostile/syndicate/melee/sword,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/research/interior/engineering)
|
||||
"aU" = (
|
||||
/turf/open/floor/plasteel{
|
||||
icon_state = "damaged1"
|
||||
},
|
||||
/turf/closed/wall/mineral/plastitanium{
|
||||
dir = 4
|
||||
},
|
||||
/area/awaymission/research/interior/engineering)
|
||||
"aV" = (
|
||||
/obj/item/stack/sheet/plasteel,
|
||||
/obj/effect/turf_decal/tile/yellow{
|
||||
@@ -340,12 +326,6 @@
|
||||
icon_state = "damaged4"
|
||||
},
|
||||
/area/awaymission/research/interior/engineering)
|
||||
"bc" = (
|
||||
/turf/open/floor/plasteel{
|
||||
icon_state = "damaged5"
|
||||
},
|
||||
/turf/closed/wall/mineral/plastitanium,
|
||||
/area/awaymission/research/interior/engineering)
|
||||
"bd" = (
|
||||
/turf/open/floor/plasteel{
|
||||
icon_state = "damaged3"
|
||||
@@ -43716,7 +43696,7 @@ al
|
||||
al
|
||||
al
|
||||
al
|
||||
aS
|
||||
al
|
||||
bb
|
||||
bo
|
||||
bG
|
||||
@@ -43974,7 +43954,7 @@ ap
|
||||
an
|
||||
aJ
|
||||
nf
|
||||
bc
|
||||
al
|
||||
bp
|
||||
bH
|
||||
ar
|
||||
@@ -45001,7 +44981,7 @@ al
|
||||
al
|
||||
al
|
||||
al
|
||||
aU
|
||||
al
|
||||
bg
|
||||
bt
|
||||
bL
|
||||
|
||||
@@ -7539,7 +7539,6 @@
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"qj" = (
|
||||
/obj/machinery/atmospherics/components/unary/outlet_injector/on,
|
||||
/turf/open/floor/plating/asteroid/snow/ice,
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/post/cavern2)
|
||||
"qk" = (
|
||||
@@ -8686,10 +8685,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark/snowdin,
|
||||
/area/awaymission/snowdin/outside)
|
||||
"sT" = (
|
||||
/turf/open/floor/plating/snowed/smoothed,
|
||||
/turf/open/floor/plating/snowed,
|
||||
/area/awaymission/snowdin/outside)
|
||||
"sU" = (
|
||||
/obj/effect/turf_decal/weather/snow,
|
||||
/obj/effect/turf_decal/stripes/white/line{
|
||||
@@ -8945,11 +8940,6 @@
|
||||
/mob/living/simple_animal/hostile/poison/giant_spider/nurse/ice,
|
||||
/turf/open/floor/plating/asteroid/snow/ice,
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"tM" = (
|
||||
/obj/structure/barricade/wooden/snowed,
|
||||
/turf/open/floor/plating/asteroid/snow/ice,
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"tN" = (
|
||||
/turf/open/floor/plating/ice/smooth,
|
||||
/area/awaymission/snowdin/outside)
|
||||
@@ -11572,10 +11562,6 @@
|
||||
},
|
||||
/turf/open/floor/plating/snowed,
|
||||
/area/awaymission/snowdin/outside)
|
||||
"AD" = (
|
||||
/turf/open/floor/plating,
|
||||
/turf/open/floor/plating/snowed,
|
||||
/area/awaymission/snowdin/outside)
|
||||
"AE" = (
|
||||
/obj/item/pen,
|
||||
/turf/open/floor/plating{
|
||||
@@ -12241,10 +12227,6 @@
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/snow,
|
||||
/area/awaymission/snowdin/outside)
|
||||
"Cx" = (
|
||||
/turf/open/floor/plating/asteroid/snow/ice,
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"Cy" = (
|
||||
/obj/machinery/light/small{
|
||||
brightness = 3;
|
||||
@@ -13710,13 +13692,11 @@
|
||||
name = "mining conveyor"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/snow/ice,
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"FO" = (
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/effect/turf_decal/loading_area,
|
||||
/turf/open/floor/plating/asteroid/snow/ice,
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"FQ" = (
|
||||
/obj/effect/light_emitter{
|
||||
@@ -13788,7 +13768,6 @@
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/snow/ice,
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/post/mining_dock)
|
||||
"FZ" = (
|
||||
/turf/closed/wall/ice,
|
||||
@@ -15860,20 +15839,6 @@
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/mining_dock)
|
||||
"WK" = (
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/snow/ice,
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"XO" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/snow/ice,
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"Yn" = (
|
||||
/obj/machinery/door/airlock/external/glass,
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
|
||||
@@ -24415,7 +24380,7 @@ am
|
||||
af
|
||||
sx
|
||||
sJ
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -24501,7 +24466,7 @@ af
|
||||
af
|
||||
af
|
||||
dX
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -24672,7 +24637,7 @@ af
|
||||
am
|
||||
sx
|
||||
sK
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -24758,7 +24723,7 @@ af
|
||||
af
|
||||
af
|
||||
dX
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -24929,7 +24894,7 @@ ak
|
||||
af
|
||||
sx
|
||||
sJ
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -24964,7 +24929,7 @@ dX
|
||||
dX
|
||||
dX
|
||||
dX
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -25015,7 +24980,7 @@ dX
|
||||
dX
|
||||
dX
|
||||
dX
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -25186,7 +25151,7 @@ af
|
||||
fq
|
||||
sx
|
||||
sK
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -25272,7 +25237,7 @@ af
|
||||
af
|
||||
af
|
||||
dX
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -25443,7 +25408,7 @@ af
|
||||
sf
|
||||
sx
|
||||
sJ
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -25529,7 +25494,7 @@ af
|
||||
af
|
||||
af
|
||||
dX
|
||||
sT
|
||||
dX
|
||||
te
|
||||
te
|
||||
te
|
||||
@@ -26827,7 +26792,7 @@ zK
|
||||
oa
|
||||
te
|
||||
Au
|
||||
AD
|
||||
te
|
||||
yW
|
||||
af
|
||||
ag
|
||||
@@ -60164,8 +60129,8 @@ qi
|
||||
qi
|
||||
qi
|
||||
qi
|
||||
tM
|
||||
tM
|
||||
tP
|
||||
tP
|
||||
oZ
|
||||
oZ
|
||||
oZ
|
||||
@@ -61300,7 +61265,7 @@ qi
|
||||
oZ
|
||||
oZ
|
||||
oZ
|
||||
Cx
|
||||
oZ
|
||||
qi
|
||||
oZ
|
||||
oZ
|
||||
@@ -64383,7 +64348,7 @@ sY
|
||||
oZ
|
||||
oZ
|
||||
sY
|
||||
Cx
|
||||
oZ
|
||||
oZ
|
||||
oZ
|
||||
sY
|
||||
@@ -64640,7 +64605,7 @@ oZ
|
||||
oY
|
||||
oZ
|
||||
oZ
|
||||
Cx
|
||||
oZ
|
||||
oZ
|
||||
oZ
|
||||
oZ
|
||||
@@ -65973,7 +65938,7 @@ oZ
|
||||
oZ
|
||||
oZ
|
||||
FN
|
||||
XO
|
||||
sl
|
||||
Gk
|
||||
GN
|
||||
Hj
|
||||
@@ -66486,7 +66451,7 @@ oZ
|
||||
oZ
|
||||
oZ
|
||||
oZ
|
||||
WK
|
||||
By
|
||||
xW
|
||||
xW
|
||||
xW
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,168 +0,0 @@
|
||||
|
||||
//custom access for some jobs. pasted together from ministation.
|
||||
|
||||
#define JOB_MODIFICATION_MAP_NAME "OmegaStation"
|
||||
|
||||
/datum/job/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
supervisors = "the captain and the head of personnel"
|
||||
|
||||
/datum/outfit/job/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
box = /obj/item/storage/box/survival/radio
|
||||
|
||||
/datum/job/assistant // Here so assistant appears on the top of the select job list.
|
||||
|
||||
//Command
|
||||
|
||||
/datum/job/captain/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
supervisors = "Nanotrasen and Central Command"
|
||||
|
||||
/datum/job/hop/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
supervisors = "the captain and Central Command"
|
||||
|
||||
/datum/job/hop/get_access()
|
||||
MAP_JOB_CHECK_BASE
|
||||
return get_all_accesses()
|
||||
|
||||
//Security
|
||||
|
||||
/datum/job/officer/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
total_positions = 3
|
||||
spawn_positions = 3
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_FORENSICS_LOCKERS)
|
||||
minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_FORENSICS_LOCKERS)
|
||||
|
||||
/datum/outfit/job/officer/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
box = /obj/item/storage/box/security/radio
|
||||
|
||||
/datum/job/detective/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_FORENSICS_LOCKERS)
|
||||
minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_FORENSICS_LOCKERS)
|
||||
|
||||
/datum/outfit/job/detective/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
box = /obj/item/storage/box/security/radio
|
||||
|
||||
//Medbay
|
||||
|
||||
/datum/job/doctor/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
selection_color = "#ffffff"
|
||||
total_positions = 3
|
||||
spawn_positions = 3
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS)
|
||||
minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS)
|
||||
|
||||
//Engineering
|
||||
|
||||
/datum/job/engineer/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
total_positions = 2
|
||||
spawn_positions = 2
|
||||
access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_TCOMSAT)
|
||||
minimal_access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_TCOMSAT)
|
||||
|
||||
/datum/outfit/job/engineer/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
box = /obj/item/storage/box/engineer/radio
|
||||
|
||||
/datum/job/atmos/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
total_positions = 2
|
||||
spawn_positions = 2
|
||||
|
||||
//Science
|
||||
|
||||
/datum/job/scientist/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
total_positions = 3
|
||||
spawn_positions = 3
|
||||
access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE)
|
||||
minimal_access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE)
|
||||
|
||||
//Cargo
|
||||
|
||||
/datum/job/cargo_tech/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
total_positions = 2
|
||||
spawn_positions = 2
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
|
||||
minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
/datum/job/mining/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
total_positions = 2
|
||||
spawn_positions = 2
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
|
||||
minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
/datum/outfit/job/mining/New()
|
||||
..()
|
||||
box = /obj/item/storage/box/engineer/radio
|
||||
|
||||
//Service
|
||||
|
||||
/datum/job/bartender/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS)
|
||||
minimal_access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS)
|
||||
|
||||
/datum/job/cook/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS)
|
||||
minimal_access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS)
|
||||
|
||||
/datum/job/hydro/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS)
|
||||
minimal_access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS)
|
||||
// they get maint access because of all the hydro content in maint
|
||||
|
||||
/datum/job/janitor/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
access = list(ACCESS_JANITOR, ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS)
|
||||
minimal_access = list(ACCESS_JANITOR, ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS)
|
||||
|
||||
|
||||
//Civilian
|
||||
|
||||
/datum/job/clown/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
supervisors = "nobody but yourself" //Honk
|
||||
|
||||
MAP_REMOVE_JOB(hos)
|
||||
MAP_REMOVE_JOB(chief_engineer)
|
||||
MAP_REMOVE_JOB(qm)
|
||||
MAP_REMOVE_JOB(cmo)
|
||||
MAP_REMOVE_JOB(geneticist)
|
||||
MAP_REMOVE_JOB(virologist)
|
||||
MAP_REMOVE_JOB(rd)
|
||||
MAP_REMOVE_JOB(warden)
|
||||
MAP_REMOVE_JOB(lawyer)
|
||||
MAP_REMOVE_JOB(chemist)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,21 +0,0 @@
|
||||
#define JOB_MODIFICATION_MAP_NAME "PubbyStation"
|
||||
|
||||
/datum/job/hos/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
access += ACCESS_CREMATORIUM
|
||||
minimal_access += ACCESS_CREMATORIUM
|
||||
|
||||
/datum/job/warden/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
access += ACCESS_CREMATORIUM
|
||||
minimal_access += ACCESS_CREMATORIUM
|
||||
|
||||
/datum/job/officer/New()
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
access += ACCESS_CREMATORIUM
|
||||
minimal_access += ACCESS_CREMATORIUM
|
||||
|
||||
MAP_REMOVE_JOB(lawyer)
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -250,7 +250,9 @@
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/cryopod,
|
||||
/obj/machinery/cryopod{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/prison)
|
||||
"aaH" = (
|
||||
@@ -319,6 +321,10 @@
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 8;
|
||||
pixel_x = 26
|
||||
},
|
||||
/turf/open/floor/plasteel/cafeteria,
|
||||
/area/security/prison)
|
||||
"aaQ" = (
|
||||
@@ -12182,11 +12188,12 @@
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
/obj/machinery/cryopod,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
/area/crew_quarters/cryopod)
|
||||
"aCe" = (
|
||||
/obj/effect/landmark/xeno_spawn,
|
||||
/obj/item/bikehorn/rubberducky,
|
||||
@@ -12822,6 +12829,10 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Dormitory South";
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
"aDH" = (
|
||||
@@ -12846,11 +12857,16 @@
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/ai_monitored/storage/eva)
|
||||
"aDK" = (
|
||||
/obj/machinery/door/airlock{
|
||||
name = "Cryo airlock"
|
||||
/obj/machinery/door/airlock/public/glass{
|
||||
name = "Cryogenics "
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
/area/crew_quarters/cryopod)
|
||||
"aDL" = (
|
||||
/obj/structure/sink{
|
||||
dir = 8;
|
||||
@@ -12865,6 +12881,9 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "2-4"
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/crew_quarters/toilet)
|
||||
"aDM" = (
|
||||
@@ -12894,7 +12913,7 @@
|
||||
"aDQ" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
|
||||
/obj/structure/cable{
|
||||
icon_state = "2-4"
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/crew_quarters/toilet)
|
||||
@@ -13386,13 +13405,12 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
"aFe" = (
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Dormitory South";
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
|
||||
dir = 8
|
||||
},
|
||||
@@ -13402,12 +13420,21 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
"aFf" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-8"
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/crew_quarters/toilet)
|
||||
"aFg" = (
|
||||
@@ -13423,6 +13450,9 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/crew_quarters/toilet)
|
||||
"aFi" = (
|
||||
@@ -13435,7 +13465,9 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/crew_quarters/toilet)
|
||||
"aFj" = (
|
||||
@@ -27869,8 +27901,8 @@
|
||||
pixel_x = 30
|
||||
},
|
||||
/obj/machinery/light,
|
||||
/mob/living/simple_animal/bot/cleanbot{
|
||||
name = "C.L.E.A.N."
|
||||
/obj/machinery/computer/crew{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
@@ -31564,7 +31596,7 @@
|
||||
/area/medical/sleeper)
|
||||
"bwC" = (
|
||||
/obj/machinery/computer/med_data{
|
||||
dir = 4
|
||||
dir = 3
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/sleeper)
|
||||
@@ -36632,14 +36664,11 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/primary/aft)
|
||||
"bHT" = (
|
||||
/obj/machinery/door/poddoor/preopen{
|
||||
id = "medpriv1";
|
||||
name = "privacy door"
|
||||
},
|
||||
/obj/effect/spawner/structure/window,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plating,
|
||||
/area/medical/medbay/central)
|
||||
"bHU" = (
|
||||
@@ -37955,22 +37984,23 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/aft)
|
||||
"bKM" = (
|
||||
/obj/machinery/vending/wallmed{
|
||||
pixel_y = 28
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 24
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"bKN" = (
|
||||
/obj/machinery/door/airlock/medical{
|
||||
name = "Patient Room 2";
|
||||
name = "Apothecary";
|
||||
req_access_txt = "5"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"bKO" = (
|
||||
@@ -38424,24 +38454,17 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/aft)
|
||||
"bLU" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/folder/white,
|
||||
/obj/item/clothing/neck/stethoscope,
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/chem_dispenser,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"bLV" = (
|
||||
/obj/structure/closet/secure_closet/personal/patient,
|
||||
/obj/machinery/button/door{
|
||||
id = "medpriv1";
|
||||
name = "Privacy Shutters";
|
||||
pixel_y = -25
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/chem_heater,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"bLW" = (
|
||||
@@ -45999,6 +46022,9 @@
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/shower{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"cek" = (
|
||||
@@ -46007,6 +46033,9 @@
|
||||
name = "engineering security door"
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/shower{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"cel" = (
|
||||
@@ -56571,16 +56600,31 @@
|
||||
/obj/structure/reagent_dispensers/keg/gargle,
|
||||
/turf/open/floor/wood,
|
||||
/area/maintenance/bar)
|
||||
"dgz" = (
|
||||
/turf/closed/wall,
|
||||
/area/crew_quarters/cryopod)
|
||||
"dqu" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/maintenance/disposal/incinerator)
|
||||
"dvc" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/cryopod)
|
||||
"dvO" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 10
|
||||
},
|
||||
/turf/closed/wall,
|
||||
/area/science/circuit)
|
||||
"dzi" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "2-4"
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/cryopod)
|
||||
"dKP" = (
|
||||
/turf/closed/wall,
|
||||
/area/maintenance/bar)
|
||||
@@ -56625,6 +56669,11 @@
|
||||
/obj/structure/grille,
|
||||
/turf/open/space/basic,
|
||||
/area/space/nearstation)
|
||||
"eVC" = (
|
||||
/obj/effect/spawner/structure/window,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/cryopod)
|
||||
"eVL" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/machinery/light_switch{
|
||||
@@ -56664,8 +56713,14 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/engine/engineering)
|
||||
"fvY" = (
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_y = 26
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
/area/crew_quarters/cryopod)
|
||||
"fxa" = (
|
||||
/obj/structure/chair/wood/normal,
|
||||
/turf/open/floor/wood{
|
||||
@@ -56684,6 +56739,16 @@
|
||||
/obj/effect/landmark/event_spawn,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/circuit)
|
||||
"fTg" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"gbq" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
@@ -56696,6 +56761,12 @@
|
||||
/obj/item/stack/sheet/glass/fifty,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/department/medical/morgue)
|
||||
"gfD" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/cryopod)
|
||||
"gjl" = (
|
||||
/turf/closed/wall,
|
||||
/area/quartermaster/warehouse)
|
||||
@@ -56811,6 +56882,12 @@
|
||||
/obj/item/pen,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/circuit)
|
||||
"ium" = (
|
||||
/mob/living/simple_animal/bot/cleanbot{
|
||||
name = "C.L.E.A.N."
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"izv" = (
|
||||
/obj/machinery/vending/clothing,
|
||||
/obj/machinery/light/small{
|
||||
@@ -56835,6 +56912,14 @@
|
||||
/obj/structure/reagent_dispensers/cooking_oil,
|
||||
/turf/open/floor/plasteel/showroomfloor,
|
||||
/area/crew_quarters/kitchen)
|
||||
"iVU" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/structure/window,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/cryopod)
|
||||
"jbf" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
@@ -57233,11 +57318,8 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_y = -30
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
/area/crew_quarters/cryopod)
|
||||
"rcD" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
@@ -57392,15 +57474,15 @@
|
||||
},
|
||||
/area/maintenance/bar)
|
||||
"tqg" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/cryopod{
|
||||
icon_state = "cryopod-open";
|
||||
dir = 1
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/firealarm{
|
||||
dir = 2;
|
||||
pixel_y = 24
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
/area/crew_quarters/cryopod)
|
||||
"trb" = (
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
@@ -57430,6 +57512,10 @@
|
||||
/obj/structure/table/wood,
|
||||
/turf/open/floor/wood,
|
||||
/area/maintenance/bar)
|
||||
"tRe" = (
|
||||
/obj/machinery/chem_master,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"tRF" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
@@ -57471,15 +57557,11 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/engine/engineering)
|
||||
"ujF" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
/obj/machinery/cryopod{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/cryopod{
|
||||
icon_state = "cryopod-open";
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
/area/crew_quarters/cryopod)
|
||||
"uoB" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/multitool,
|
||||
@@ -57567,6 +57649,11 @@
|
||||
/obj/machinery/meter,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard/fore)
|
||||
"vsM" = (
|
||||
/obj/machinery/power/apc/auto_name/south,
|
||||
/obj/structure/cable,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/cryopod)
|
||||
"vxh" = (
|
||||
/obj/structure/table,
|
||||
/obj/effect/spawner/lootdrop/maintenance{
|
||||
@@ -57599,6 +57686,16 @@
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/circuit)
|
||||
"vHj" = (
|
||||
/obj/machinery/door/airlock/public/glass{
|
||||
name = "Cryogenics "
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/cryopod)
|
||||
"vHY" = (
|
||||
/turf/open/floor/plating,
|
||||
/area/science/mixing)
|
||||
@@ -57616,6 +57713,12 @@
|
||||
"wkN" = (
|
||||
/turf/closed/wall,
|
||||
/area/science/circuit)
|
||||
"woR" = (
|
||||
/obj/machinery/cryopod{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/cryopod)
|
||||
"wph" = (
|
||||
/obj/docking_port/stationary{
|
||||
area_type = /area/construction/mining/aux_base;
|
||||
@@ -87629,12 +87732,12 @@ arf
|
||||
arf
|
||||
arf
|
||||
arf
|
||||
arf
|
||||
arf
|
||||
arf
|
||||
arf
|
||||
anF
|
||||
ahn
|
||||
dgz
|
||||
dgz
|
||||
dgz
|
||||
dgz
|
||||
dgz
|
||||
dgz
|
||||
aJn
|
||||
aJn
|
||||
aJq
|
||||
@@ -87886,12 +87989,12 @@ atf
|
||||
arf
|
||||
aqa
|
||||
atf
|
||||
arf
|
||||
dgz
|
||||
tqg
|
||||
ujF
|
||||
arf
|
||||
anF
|
||||
ahn
|
||||
ujF
|
||||
ujF
|
||||
dgz
|
||||
aaa
|
||||
aJn
|
||||
aJq
|
||||
@@ -88143,12 +88246,12 @@ ath
|
||||
arf
|
||||
apY
|
||||
ath
|
||||
arf
|
||||
dgz
|
||||
fvY
|
||||
ath
|
||||
arf
|
||||
anF
|
||||
ahn
|
||||
dvc
|
||||
dzi
|
||||
vsM
|
||||
dgz
|
||||
aaa
|
||||
aJn
|
||||
aLY
|
||||
@@ -88400,12 +88503,12 @@ ath
|
||||
arf
|
||||
ayV
|
||||
ath
|
||||
arf
|
||||
dgz
|
||||
aCd
|
||||
qIw
|
||||
arf
|
||||
anF
|
||||
ahn
|
||||
gfD
|
||||
woR
|
||||
dgz
|
||||
aJw
|
||||
aJw
|
||||
aMh
|
||||
@@ -88657,12 +88760,12 @@ awo
|
||||
arf
|
||||
asd
|
||||
aAb
|
||||
arf
|
||||
asd
|
||||
dgz
|
||||
iVU
|
||||
aDK
|
||||
arf
|
||||
aoa
|
||||
ahn
|
||||
vHj
|
||||
eVC
|
||||
dgz
|
||||
aJv
|
||||
aKG
|
||||
aMg
|
||||
@@ -94085,7 +94188,7 @@ blm
|
||||
bmL
|
||||
boi
|
||||
bpw
|
||||
bhh
|
||||
ium
|
||||
bsx
|
||||
btX
|
||||
bvj
|
||||
@@ -95642,8 +95745,8 @@ bof
|
||||
bof
|
||||
bof
|
||||
bJE
|
||||
bof
|
||||
bof
|
||||
bJE
|
||||
bJE
|
||||
bNd
|
||||
bIJ
|
||||
bPo
|
||||
@@ -95899,7 +96002,7 @@ bof
|
||||
bGT
|
||||
bIo
|
||||
bof
|
||||
bIo
|
||||
tRe
|
||||
bLU
|
||||
bNd
|
||||
bII
|
||||
@@ -96413,7 +96516,7 @@ bof
|
||||
bGU
|
||||
bqQ
|
||||
bof
|
||||
bCR
|
||||
fTg
|
||||
bLV
|
||||
bNd
|
||||
bOm
|
||||
|
||||
@@ -18876,6 +18876,9 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_y = 26
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/prison)
|
||||
"aMm" = (
|
||||
@@ -74297,6 +74300,10 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 8;
|
||||
pixel_x = 26
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/locker)
|
||||
"cuC" = (
|
||||
@@ -75916,10 +75923,6 @@
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_x = 30
|
||||
},
|
||||
/obj/machinery/cryopod,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
@@ -75930,6 +75933,9 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/cryopod{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/locker)
|
||||
"cxs" = (
|
||||
@@ -76886,7 +76892,6 @@
|
||||
/obj/machinery/status_display{
|
||||
pixel_x = 32
|
||||
},
|
||||
/obj/machinery/cryopod,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
@@ -76897,6 +76902,9 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/cryopod{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/locker)
|
||||
"cyX" = (
|
||||
@@ -77710,6 +77718,7 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/closet/wardrobe/white,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -78713,6 +78722,7 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/closet/wardrobe/mixed,
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
@@ -78880,7 +78890,9 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/closet/wardrobe/mixed,
|
||||
/obj/machinery/cryopod{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/locker)
|
||||
"cCc" = (
|
||||
@@ -79859,20 +79871,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/locker)
|
||||
"cDB" = (
|
||||
/obj/structure/closet/wardrobe/white,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/locker)
|
||||
"cDC" = (
|
||||
/obj/effect/decal/cleanable/blood/old,
|
||||
/obj/effect/decal/cleanable/dirt{
|
||||
@@ -80973,20 +80971,6 @@
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/locker)
|
||||
"cFv" = (
|
||||
/obj/structure/closet/wardrobe/grey,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/locker)
|
||||
"cFw" = (
|
||||
/obj/item/clipboard{
|
||||
pixel_x = -4;
|
||||
@@ -81692,7 +81676,6 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/locker)
|
||||
"cGM" = (
|
||||
/obj/item/twohanded/required/kirbyplants/random,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
@@ -81703,6 +81686,7 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/closet/wardrobe/grey,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/locker)
|
||||
"cGN" = (
|
||||
@@ -81738,9 +81722,6 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/locker)
|
||||
"cGP" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/paper_bin,
|
||||
/obj/item/pen,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
@@ -81751,6 +81732,7 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/closet/wardrobe/black,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/locker)
|
||||
"cGQ" = (
|
||||
@@ -81785,20 +81767,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/locker)
|
||||
"cGS" = (
|
||||
/obj/structure/closet/wardrobe/black,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/locker)
|
||||
"cGT" = (
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm1";
|
||||
@@ -101846,6 +101814,7 @@
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/landmark/start/medical_doctor,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/genetics/cloning)
|
||||
"dpo" = (
|
||||
@@ -126328,6 +126297,20 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/general/visible,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/science/mixing)
|
||||
"eLw" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/chem_dispenser,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/medical/medbay/central)
|
||||
"eMD" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/cable/white{
|
||||
@@ -126387,6 +126370,22 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/misc_lab)
|
||||
"fhE" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/medical{
|
||||
name = "Apothecary"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/medical/medbay/central)
|
||||
"fno" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
@@ -126616,6 +126615,13 @@
|
||||
/obj/item/restraints/handcuffs/fake,
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/abandoned_gambling_den)
|
||||
"hSf" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/open/floor/plating,
|
||||
/area/medical/medbay/central)
|
||||
"iaF" = (
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -126625,6 +126631,18 @@
|
||||
/obj/item/reagent_containers/glass/beaker,
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/abandoned_gambling_den)
|
||||
"iwL" = (
|
||||
/obj/machinery/status_display{
|
||||
pixel_x = 32
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"ixL" = (
|
||||
/obj/structure/sign/warning/vacuum{
|
||||
pixel_x = 32
|
||||
@@ -126775,6 +126793,23 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/medical/morgue)
|
||||
"jOE" = (
|
||||
/obj/machinery/newscaster{
|
||||
pixel_x = 32
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/chem_master,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/medical/medbay/central)
|
||||
"jRy" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
@@ -126885,6 +126920,22 @@
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/science/mixing)
|
||||
"lzF" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/firealarm{
|
||||
pixel_y = 26
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/medical/medbay/central)
|
||||
"lEl" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
@@ -126941,6 +126992,23 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/construction/mining/aux_base)
|
||||
"lTx" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 22
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/medical/medbay/central)
|
||||
"lXF" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
@@ -127291,6 +127359,16 @@
|
||||
dir = 10
|
||||
},
|
||||
/area/science/misc_lab)
|
||||
"tRT" = (
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/chem_heater,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"upk" = (
|
||||
/obj/machinery/door/airlock/public/glass{
|
||||
name = "Holodeck Access"
|
||||
@@ -127461,6 +127539,19 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"xKS" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/locker)
|
||||
"xMn" = (
|
||||
/obj/structure/disposalpipe/trunk,
|
||||
/obj/machinery/disposal/bin,
|
||||
@@ -174209,9 +174300,9 @@ dfL
|
||||
dCM
|
||||
dEb
|
||||
cPy
|
||||
dfL
|
||||
dCM
|
||||
dEb
|
||||
cNz
|
||||
fhE
|
||||
hSf
|
||||
cPy
|
||||
dhs
|
||||
dMS
|
||||
@@ -174466,7 +174557,7 @@ dBo
|
||||
cSF
|
||||
dEc
|
||||
cPy
|
||||
dBo
|
||||
lzF
|
||||
cSF
|
||||
dEc
|
||||
cPy
|
||||
@@ -174980,8 +175071,8 @@ dBq
|
||||
dCN
|
||||
dEe
|
||||
cPy
|
||||
dBq
|
||||
dCN
|
||||
lTx
|
||||
cSK
|
||||
dEe
|
||||
cPy
|
||||
cMg
|
||||
@@ -175237,9 +175328,9 @@ dBr
|
||||
dCO
|
||||
dEf
|
||||
cPy
|
||||
dBr
|
||||
eLw
|
||||
dCO
|
||||
dEf
|
||||
tRT
|
||||
cPy
|
||||
dLo
|
||||
dMW
|
||||
@@ -175494,9 +175585,9 @@ dBs
|
||||
dCP
|
||||
dEg
|
||||
cPy
|
||||
dBs
|
||||
jOE
|
||||
dCP
|
||||
dEg
|
||||
iwL
|
||||
cPy
|
||||
dLp
|
||||
dMV
|
||||
@@ -177002,7 +177093,7 @@ cAu
|
||||
cBZ
|
||||
cDA
|
||||
cFt
|
||||
cGM
|
||||
xKS
|
||||
cxi
|
||||
cJg
|
||||
cKV
|
||||
@@ -177514,9 +177605,9 @@ cxr
|
||||
cyW
|
||||
cqd
|
||||
cCb
|
||||
cDB
|
||||
cFv
|
||||
cGS
|
||||
cCb
|
||||
cCb
|
||||
cCb
|
||||
cqd
|
||||
cJi
|
||||
cKX
|
||||
|
||||
@@ -911,7 +911,9 @@
|
||||
dir = 8;
|
||||
pixel_x = 24
|
||||
},
|
||||
/obj/machinery/cryopod,
|
||||
/obj/machinery/cryopod{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/prison)
|
||||
"acy" = (
|
||||
@@ -1090,6 +1092,10 @@
|
||||
pixel_y = 7
|
||||
},
|
||||
/obj/item/pen,
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 8;
|
||||
pixel_x = 26
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/prison)
|
||||
"acN" = (
|
||||
@@ -2682,10 +2688,13 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"afv" = (
|
||||
/obj/structure/easel,
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"afw" = (
|
||||
@@ -2714,6 +2723,7 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"afy" = (
|
||||
@@ -3276,6 +3286,7 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"agx" = (
|
||||
@@ -3720,6 +3731,7 @@
|
||||
"ahj" = (
|
||||
/obj/structure/chair,
|
||||
/obj/effect/landmark/start/assistant,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"ahk" = (
|
||||
@@ -5184,9 +5196,7 @@
|
||||
/obj/structure/chair/stool{
|
||||
pixel_y = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"ajS" = (
|
||||
@@ -5974,10 +5984,6 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/fore)
|
||||
"alf" = (
|
||||
/obj/machinery/cryopod{
|
||||
icon_state = "cryopod-open";
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"alg" = (
|
||||
@@ -6797,23 +6803,6 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/fore)
|
||||
"amv" = (
|
||||
/obj/machinery/cryopod{
|
||||
icon_state = "cryopod-open";
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"amw" = (
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/machinery/door/window/eastright{
|
||||
@@ -6826,11 +6815,16 @@
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"amx" = (
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"amy" = (
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 9
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"amz" = (
|
||||
@@ -64373,6 +64367,7 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-8"
|
||||
},
|
||||
/obj/effect/landmark/start/medical_doctor,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/patients_rooms/room_a)
|
||||
"cum" = (
|
||||
@@ -65469,24 +65464,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port/aft)
|
||||
"cwo" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/folder/white{
|
||||
pixel_x = 4;
|
||||
pixel_y = -3
|
||||
},
|
||||
/obj/item/clothing/neck/stethoscope,
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
dir = 8;
|
||||
name = "Patient Room B APC";
|
||||
areastring = "/area/medical/patients_rooms/room_b";
|
||||
pixel_x = -26
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
|
||||
dir = 8
|
||||
},
|
||||
@@ -65499,31 +65479,24 @@
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/chem_dispenser{
|
||||
layer = 2.7
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/patients_rooms/room_b)
|
||||
/area/medical/medbay/aft)
|
||||
"cwp" = (
|
||||
/obj/structure/chair/office/light{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/effect/landmark/start/medical_doctor,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/vending/wallmed{
|
||||
pixel_y = 28
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 23
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/patients_rooms/room_b)
|
||||
/area/medical/medbay/aft)
|
||||
"cwq" = (
|
||||
/obj/structure/closet/secure_closet/personal/patient,
|
||||
/obj/machinery/button/door{
|
||||
id = "isolb";
|
||||
name = "Privacy Shutters";
|
||||
pixel_y = 25
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
@@ -65531,19 +65504,19 @@
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/chem_heater{
|
||||
pixel_x = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/patients_rooms/room_b)
|
||||
/area/medical/medbay/aft)
|
||||
"cwr" = (
|
||||
/obj/effect/spawner/structure/window,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/poddoor/preopen{
|
||||
id = "isolb";
|
||||
name = "privacy shutters"
|
||||
},
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plating,
|
||||
/area/medical/patients_rooms/room_b)
|
||||
/area/medical/medbay/aft)
|
||||
"cws" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
@@ -65968,65 +65941,53 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port/aft)
|
||||
"cxe" = (
|
||||
/obj/structure/bed,
|
||||
/obj/item/bedsheet/medical,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 5
|
||||
},
|
||||
/obj/machinery/airalarm{
|
||||
dir = 4;
|
||||
pixel_x = -23
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/chem_master,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/patients_rooms/room_b)
|
||||
/area/medical/medbay/aft)
|
||||
"cxf" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/firealarm{
|
||||
dir = 1;
|
||||
pixel_y = -24
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/patients_rooms/room_b)
|
||||
/area/medical/medbay/aft)
|
||||
"cxg" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue,
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/patients_rooms/room_b)
|
||||
/area/medical/medbay/aft)
|
||||
"cxh" = (
|
||||
/obj/machinery/door/airlock/medical{
|
||||
name = "Patient Room B";
|
||||
req_access_txt = "5"
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
name = "Apothecary";
|
||||
req_access_txt = "5"
|
||||
},
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/patients_rooms/room_b)
|
||||
/area/medical/medbay/aft)
|
||||
"cxi" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
dir = 1
|
||||
},
|
||||
@@ -66039,9 +66000,6 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-8"
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/aft)
|
||||
"cxk" = (
|
||||
@@ -80731,9 +80689,6 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 6
|
||||
},
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_x = -30
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"dhq" = (
|
||||
@@ -83268,6 +83223,12 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/chapel/office)
|
||||
"eHn" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/cryopod)
|
||||
"eZe" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
@@ -83281,6 +83242,19 @@
|
||||
/obj/structure/closet/firecloset,
|
||||
/turf/open/floor/plating,
|
||||
/area/engine/engineering)
|
||||
"fpY" = (
|
||||
/turf/closed/wall,
|
||||
/area/crew_quarters/cryopod)
|
||||
"fzR" = (
|
||||
/obj/machinery/door/airlock{
|
||||
name = "Cryogenics"
|
||||
},
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"fDD" = (
|
||||
/obj/machinery/light_switch{
|
||||
pixel_y = -25
|
||||
@@ -83302,6 +83276,12 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/circuit)
|
||||
"gde" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"gnZ" = (
|
||||
/obj/item/radio/intercom{
|
||||
pixel_y = -30
|
||||
@@ -83321,6 +83301,18 @@
|
||||
/obj/item/clothing/suit/apron/chef,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port/aft)
|
||||
"gqO" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"gra" = (
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 5
|
||||
@@ -83415,6 +83407,12 @@
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/circuit)
|
||||
"ivu" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "2-4"
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"izu" = (
|
||||
/obj/machinery/autolathe{
|
||||
name = "public autolathe"
|
||||
@@ -83452,6 +83450,13 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/quartermaster/storage)
|
||||
"jfW" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"jwW" = (
|
||||
/turf/closed/wall/mineral/plastitanium,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
@@ -83609,6 +83614,12 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/circuit)
|
||||
"lzG" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"lGS" = (
|
||||
/obj/docking_port/stationary/public_mining_dock,
|
||||
/turf/open/floor/plating,
|
||||
@@ -83643,6 +83654,13 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/tcommsat/server)
|
||||
"maM" = (
|
||||
/obj/machinery/cryopod,
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"mjJ" = (
|
||||
/obj/machinery/nuclearbomb/beer{
|
||||
pixel_x = 2;
|
||||
@@ -83650,6 +83668,10 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard/aft)
|
||||
"mnV" = (
|
||||
/obj/structure/lattice,
|
||||
/turf/closed/wall,
|
||||
/area/crew_quarters/cryopod)
|
||||
"mvj" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
@@ -83666,6 +83688,14 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/circuit)
|
||||
"mAU" = (
|
||||
/obj/machinery/cryopod,
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Fitness Room - Fore";
|
||||
dir = 2
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"mWg" = (
|
||||
/obj/structure/girder,
|
||||
/obj/structure/grille,
|
||||
@@ -83783,6 +83813,13 @@
|
||||
/obj/structure/sign/poster/official/random,
|
||||
/turf/closed/wall,
|
||||
/area/hydroponics)
|
||||
"oFq" = (
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"oLq" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"oLW" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/structure/cable/yellow{
|
||||
@@ -83819,6 +83856,13 @@
|
||||
/obj/item/pen,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/circuit)
|
||||
"oXn" = (
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 4;
|
||||
pixel_x = -26
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"oZg" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
@@ -83868,6 +83912,14 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard)
|
||||
"pEv" = (
|
||||
/obj/machinery/airalarm{
|
||||
dir = 8;
|
||||
pixel_x = 24
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"pMX" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
@@ -83912,6 +83964,20 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/misc_lab)
|
||||
"qvY" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"qBh" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/paicard,
|
||||
@@ -83935,6 +84001,11 @@
|
||||
/obj/item/storage/photo_album,
|
||||
/turf/open/floor/engine/cult,
|
||||
/area/library)
|
||||
"qLE" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/cryopod)
|
||||
"qRM" = (
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Research Division Circuitry Lab";
|
||||
@@ -83952,6 +84023,13 @@
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/library)
|
||||
"qXt" = (
|
||||
/obj/machinery/firealarm{
|
||||
dir = 8;
|
||||
pixel_x = -24
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"rzX" = (
|
||||
/obj/structure/chair/office/light{
|
||||
dir = 1;
|
||||
@@ -83998,10 +84076,23 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/circuit)
|
||||
"sdw" = (
|
||||
/turf/open/space/basic,
|
||||
/area/space/nearstation)
|
||||
"siF" = (
|
||||
/obj/structure/grille,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/space/nearstation)
|
||||
"soh" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"sFv" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
@@ -84043,6 +84134,23 @@
|
||||
"sJW" = (
|
||||
/turf/closed/wall/mineral/plastitanium,
|
||||
/area/engine/break_room)
|
||||
"sME" = (
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/cryopod,
|
||||
/obj/machinery/light_switch{
|
||||
pixel_x = -26
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"tap" = (
|
||||
/obj/machinery/power/apc/auto_name/east,
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"tsx" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
@@ -84091,6 +84199,10 @@
|
||||
/obj/machinery/air_sensor/atmos/toxins_mixing_tank,
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/science/mixing)
|
||||
"ugc" = (
|
||||
/obj/machinery/cryopod,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"upN" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 5
|
||||
@@ -84182,6 +84294,23 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"vxG" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"vyx" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/general/visible{
|
||||
dir = 4
|
||||
@@ -84193,6 +84322,11 @@
|
||||
/obj/structure/lattice,
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
"wdu" = (
|
||||
/obj/structure/grille,
|
||||
/obj/structure/lattice,
|
||||
/turf/open/floor/plating,
|
||||
/area/space/nearstation)
|
||||
"wgw" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/closed/wall/r_wall,
|
||||
@@ -84221,6 +84355,12 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/engine/atmos)
|
||||
"wzH" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/cryopod)
|
||||
"wFH" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
@@ -84254,6 +84394,10 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/misc_lab)
|
||||
"xeC" = (
|
||||
/obj/machinery/light,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/cryopod)
|
||||
"xkG" = (
|
||||
/obj/item/integrated_electronics/wirer,
|
||||
/obj/structure/table/reinforced,
|
||||
@@ -105582,8 +105726,8 @@ css
|
||||
dux
|
||||
dux
|
||||
dux
|
||||
dux
|
||||
dux
|
||||
cxU
|
||||
cxU
|
||||
cxU
|
||||
cyO
|
||||
czP
|
||||
@@ -119110,11 +119254,11 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aai
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
aaa
|
||||
acP
|
||||
fpY
|
||||
fpY
|
||||
mnV
|
||||
fpY
|
||||
fpY
|
||||
acP
|
||||
ags
|
||||
acP
|
||||
@@ -119122,7 +119266,7 @@ acP
|
||||
acP
|
||||
acP
|
||||
alf
|
||||
amv
|
||||
afA
|
||||
acP
|
||||
aoS
|
||||
acP
|
||||
@@ -119367,11 +119511,11 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aag
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
aaa
|
||||
acQ
|
||||
fpY
|
||||
sME
|
||||
oXn
|
||||
qXt
|
||||
qLE
|
||||
aft
|
||||
agt
|
||||
ahf
|
||||
@@ -119623,17 +119767,17 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aag
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
aaa
|
||||
acQ
|
||||
wdu
|
||||
qLE
|
||||
ugc
|
||||
oFq
|
||||
oLq
|
||||
wzH
|
||||
afu
|
||||
agu
|
||||
ahg
|
||||
ahg
|
||||
ahg
|
||||
soh
|
||||
aiX
|
||||
aiX
|
||||
aiX
|
||||
ajR
|
||||
ahg
|
||||
ahg
|
||||
@@ -119881,13 +120025,13 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aag
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
aaa
|
||||
acQ
|
||||
fpY
|
||||
ugc
|
||||
ivu
|
||||
gde
|
||||
fzR
|
||||
afv
|
||||
agu
|
||||
gqO
|
||||
ahh
|
||||
ahh
|
||||
aiR
|
||||
@@ -120138,11 +120282,11 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aai
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
aaf
|
||||
acP
|
||||
fpY
|
||||
mAU
|
||||
lzG
|
||||
xeC
|
||||
fpY
|
||||
acP
|
||||
agv
|
||||
ahh
|
||||
@@ -120395,11 +120539,11 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aag
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
aaa
|
||||
acQ
|
||||
fpY
|
||||
ugc
|
||||
lzG
|
||||
oFq
|
||||
qLE
|
||||
afw
|
||||
agu
|
||||
ahi
|
||||
@@ -120652,18 +120796,18 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aag
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
aaa
|
||||
acQ
|
||||
qLE
|
||||
maM
|
||||
tap
|
||||
pEv
|
||||
eHn
|
||||
afx
|
||||
agw
|
||||
ahj
|
||||
ahX
|
||||
afA
|
||||
ajU
|
||||
afA
|
||||
jfW
|
||||
qvY
|
||||
vxG
|
||||
qvY
|
||||
amy
|
||||
anI
|
||||
aoX
|
||||
@@ -120909,11 +121053,11 @@ aaa
|
||||
aaa
|
||||
aaf
|
||||
aai
|
||||
aaf
|
||||
aaf
|
||||
aaf
|
||||
aaa
|
||||
acQ
|
||||
fpY
|
||||
fpY
|
||||
fpY
|
||||
fpY
|
||||
fpY
|
||||
afy
|
||||
agx
|
||||
ahk
|
||||
@@ -121168,7 +121312,7 @@ aaf
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
sdw
|
||||
aaa
|
||||
acP
|
||||
acP
|
||||
|
||||
@@ -2639,6 +2639,13 @@
|
||||
},
|
||||
/turf/open/indestructible/boss,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"il" = (
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 4;
|
||||
pixel_x = -26
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/laborcamp)
|
||||
"ir" = (
|
||||
/obj/structure/stone_tile/slab/cracked{
|
||||
dir = 5
|
||||
@@ -3534,6 +3541,12 @@
|
||||
},
|
||||
/turf/open/indestructible/boss,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"Po" = (
|
||||
/obj/machinery/cryopod{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/laborcamp)
|
||||
"Uq" = (
|
||||
/obj/docking_port/stationary{
|
||||
area_type = /area/lavaland/surface/outdoors;
|
||||
@@ -9244,8 +9257,8 @@ ap
|
||||
ar
|
||||
ar
|
||||
aq
|
||||
az
|
||||
az
|
||||
Po
|
||||
il
|
||||
az
|
||||
az
|
||||
az
|
||||
|
||||
@@ -13798,7 +13798,6 @@
|
||||
/area/crew_quarters/dorms)
|
||||
"axG" = (
|
||||
/obj/effect/turf_decal/bot,
|
||||
/obj/machinery/cryopod,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
@@ -13809,6 +13808,9 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/cryopod{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/dorms)
|
||||
"axH" = (
|
||||
@@ -16798,6 +16800,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
"aDG" = (
|
||||
/obj/effect/landmark/event_spawn,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"aDH" = (
|
||||
@@ -36561,10 +36564,6 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/atmos)
|
||||
"bxJ" = (
|
||||
/obj/effect/landmark/event_spawn,
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_x = 30
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 4;
|
||||
light_color = "#e8eaff"
|
||||
@@ -36573,6 +36572,13 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 8;
|
||||
pixel_x = 26
|
||||
},
|
||||
/obj/machinery/cryopod{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
"bxK" = (
|
||||
|
||||
@@ -8707,7 +8707,9 @@
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_y = 30
|
||||
},
|
||||
/obj/machinery/cryopod,
|
||||
/obj/machinery/cryopod{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
"avm" = (
|
||||
@@ -44323,7 +44325,9 @@
|
||||
dir = 1;
|
||||
pixel_y = -22
|
||||
},
|
||||
/obj/structure/closet/radiation,
|
||||
/obj/machinery/shower{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/break_room)
|
||||
"bWF" = (
|
||||
@@ -44350,7 +44354,10 @@
|
||||
dir = 6
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/structure/closet/radiation,
|
||||
/obj/machinery/shower{
|
||||
dir = 8;
|
||||
pixel_y = -4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/break_room)
|
||||
"bWH" = (
|
||||
@@ -44930,6 +44937,7 @@
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/closet/radiation,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"bYn" = (
|
||||
@@ -44954,6 +44962,7 @@
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/closet/radiation,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"bYp" = (
|
||||
@@ -53537,6 +53546,12 @@
|
||||
/obj/structure/chair/office/dark,
|
||||
/turf/open/floor/wood,
|
||||
/area/lawoffice)
|
||||
"epj" = (
|
||||
/obj/machinery/cryopod{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
"epJ" = (
|
||||
/obj/structure/sign/poster/contraband/random{
|
||||
pixel_y = 32
|
||||
@@ -53769,6 +53784,13 @@
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/primary/aft)
|
||||
"eSB" = (
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 1;
|
||||
pixel_y = -26
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/security/prison)
|
||||
"eSL" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/item/beacon,
|
||||
@@ -54140,7 +54162,9 @@
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/cryopod,
|
||||
/obj/machinery/cryopod{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
"fIN" = (
|
||||
@@ -55936,7 +55960,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/department/science)
|
||||
"jXF" = (
|
||||
/obj/machinery/cryopod,
|
||||
/obj/machinery/cryopod{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/security/prison)
|
||||
"jXV" = (
|
||||
@@ -82772,7 +82798,7 @@ aeU
|
||||
afo
|
||||
afG
|
||||
aeU
|
||||
aeU
|
||||
eSB
|
||||
agy
|
||||
agL
|
||||
agZ
|
||||
@@ -102071,7 +102097,7 @@ apX
|
||||
apX
|
||||
avl
|
||||
fIu
|
||||
dbi
|
||||
epj
|
||||
aIh
|
||||
azA
|
||||
dbi
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -443,8 +443,8 @@
|
||||
/obj/machinery/door/airlock/external/glass{
|
||||
name = "E.V.A Access"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/obj/structure/fans/tiny,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/shuttle/abandoned/crew)
|
||||
"aK" = (
|
||||
/obj/effect/decal/cleanable/dirt{
|
||||
|
||||
@@ -17,10 +17,6 @@
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/powered/shuttle/medium_3)
|
||||
"g" = (
|
||||
/turf/closed/wall/mineral/plastitanium,
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/ruin/powered/shuttle/medium_3)
|
||||
"h" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/ruin/powered/shuttle/medium_3)
|
||||
@@ -271,20 +267,20 @@ a
|
||||
a
|
||||
a
|
||||
c
|
||||
g
|
||||
h
|
||||
h
|
||||
g
|
||||
h
|
||||
h
|
||||
c
|
||||
g
|
||||
h
|
||||
j
|
||||
j
|
||||
g
|
||||
h
|
||||
c
|
||||
g
|
||||
h
|
||||
h
|
||||
g
|
||||
h
|
||||
h
|
||||
c
|
||||
a
|
||||
a
|
||||
@@ -343,7 +339,7 @@ a
|
||||
c
|
||||
c
|
||||
c
|
||||
g
|
||||
h
|
||||
G
|
||||
l
|
||||
l
|
||||
@@ -356,7 +352,7 @@ l
|
||||
l
|
||||
l
|
||||
G
|
||||
g
|
||||
h
|
||||
c
|
||||
c
|
||||
c
|
||||
@@ -391,7 +387,7 @@ a
|
||||
a
|
||||
c
|
||||
c
|
||||
g
|
||||
h
|
||||
G
|
||||
p
|
||||
G
|
||||
@@ -404,7 +400,7 @@ A
|
||||
G
|
||||
p
|
||||
G
|
||||
g
|
||||
h
|
||||
c
|
||||
c
|
||||
a
|
||||
@@ -463,7 +459,7 @@ a
|
||||
a
|
||||
c
|
||||
c
|
||||
g
|
||||
h
|
||||
G
|
||||
p
|
||||
G
|
||||
@@ -476,7 +472,7 @@ A
|
||||
G
|
||||
p
|
||||
G
|
||||
g
|
||||
h
|
||||
c
|
||||
c
|
||||
a
|
||||
@@ -511,7 +507,7 @@ a
|
||||
c
|
||||
c
|
||||
c
|
||||
g
|
||||
h
|
||||
G
|
||||
l
|
||||
l
|
||||
@@ -524,7 +520,7 @@ l
|
||||
l
|
||||
l
|
||||
G
|
||||
g
|
||||
h
|
||||
c
|
||||
c
|
||||
c
|
||||
@@ -583,20 +579,20 @@ a
|
||||
a
|
||||
a
|
||||
c
|
||||
g
|
||||
h
|
||||
h
|
||||
g
|
||||
h
|
||||
h
|
||||
c
|
||||
g
|
||||
h
|
||||
j
|
||||
j
|
||||
g
|
||||
h
|
||||
c
|
||||
g
|
||||
h
|
||||
h
|
||||
g
|
||||
h
|
||||
h
|
||||
c
|
||||
a
|
||||
a
|
||||
|
||||
@@ -121,3 +121,4 @@
|
||||
#define ORGAN_SLOT_BRAIN_ANTIDROP "brain_antidrop"
|
||||
#define ORGAN_SLOT_BRAIN_ANTISTUN "brain_antistun"
|
||||
#define ORGAN_SLOT_TAIL "tail"
|
||||
#define ORGAN_SLOT_PENIS "penis"
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
#define ADMIN_PUNISHMENT_ROD "Immovable Rod"
|
||||
#define ADMIN_PUNISHMENT_SUPPLYPOD "Supply Pod"
|
||||
#define ADMIN_PUNISHMENT_MAZING "Puzzle"
|
||||
#define ADMIN_PUNISHMENT_PIE "Cream Pie"
|
||||
|
||||
#define AHELP_ACTIVE 1
|
||||
#define AHELP_CLOSED 2
|
||||
|
||||
@@ -35,3 +35,8 @@
|
||||
|
||||
//Overthrow time to update heads obj
|
||||
#define OBJECTIVE_UPDATING_TIME 300
|
||||
|
||||
//Gangshit
|
||||
#define NOT_DOMINATING -1
|
||||
#define MAX_LEADERS_GANG 3
|
||||
#define INITIAL_DOM_ATTEMPTS 3
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
//LISTMOS
|
||||
//indices of values in gas lists.
|
||||
#define MOLES 1
|
||||
#define ARCHIVE 2
|
||||
#define GAS_META 3
|
||||
#define META_GAS_SPECIFIC_HEAT 1
|
||||
#define META_GAS_NAME 2
|
||||
#define META_GAS_MOLES_VISIBLE 3
|
||||
@@ -242,20 +239,25 @@
|
||||
|
||||
//HELPERS
|
||||
#define THERMAL_ENERGY(gas) (gas.temperature * gas.heat_capacity())
|
||||
|
||||
#define ADD_GAS(gas_id, out_list)\
|
||||
var/list/tmp_gaslist = GLOB.gaslist_cache[gas_id]; out_list[gas_id] = tmp_gaslist.Copy();
|
||||
|
||||
#define ASSERT_GAS(gas_id, gas_mixture) if (!gas_mixture.gases[gas_id]) { ADD_GAS(gas_id, gas_mixture.gases) };
|
||||
|
||||
#define QUANTIZE(variable) (round(variable,0.0000001))/*I feel the need to document what happens here. Basically this is used to catch most rounding errors, however it's previous value made it so that
|
||||
once gases got hot enough, most procedures wouldnt occur due to the fact that the mole counts would get rounded away. Thus, we lowered it a few orders of magnititude */
|
||||
|
||||
//prefer this to gas_mixture/total_moles in performance critical areas
|
||||
#define TOTAL_MOLES(cached_gases, out_var)\
|
||||
out_var = 0;\
|
||||
for(var/total_moles_id in cached_gases){\
|
||||
out_var += cached_gases[total_moles_id][MOLES];\
|
||||
out_var += cached_gases[total_moles_id];\
|
||||
}
|
||||
|
||||
//Unomos - So for whatever reason, garbage collection actually drastically decreases the cost of atmos later in the round. Turning this into a define yields massively improved performance.
|
||||
#define GAS_GARBAGE_COLLECT(GASGASGAS)\
|
||||
var/list/CACHE_GAS = GASGASGAS;\
|
||||
for(var/id in CACHE_GAS){\
|
||||
if(QUANTIZE(CACHE_GAS[id]) <= 0)\
|
||||
CACHE_GAS -= id;\
|
||||
}
|
||||
|
||||
#define ARCHIVE_TEMPERATURE(gas) gas.temperature_archived = gas.temperature
|
||||
|
||||
GLOBAL_LIST_INIT(pipe_paint_colors, list(
|
||||
"amethyst" = rgb(130,43,255), //supplymain
|
||||
|
||||
@@ -33,8 +33,8 @@
|
||||
#define BALLS_VOLUME_MULT 1
|
||||
|
||||
#define BALLS_SIZE_MIN 1
|
||||
#define BALLS_SIZE_DEF 3
|
||||
#define BALLS_SIZE_MAX 7
|
||||
#define BALLS_SIZE_DEF 2
|
||||
#define BALLS_SIZE_MAX 3
|
||||
|
||||
#define BALLS_SACK_SIZE_MIN 1
|
||||
#define BALLS_SACK_SIZE_DEF 8
|
||||
@@ -76,6 +76,9 @@
|
||||
#define MILK_RATE_MULT 1
|
||||
#define MILK_EFFICIENCY 1
|
||||
|
||||
#define AROUSAL_MINIMUM_DEFAULT 0
|
||||
#define AROUSAL_MAXIMUM_DEFAULT 100
|
||||
#define AROUSAL_START_VALUE 1
|
||||
//Individual logging define
|
||||
#define INDIVIDUAL_LOOC_LOG "LOOC log"
|
||||
|
||||
@@ -95,15 +98,18 @@
|
||||
#define NOAROUSAL 37 //Stops all arousal effects
|
||||
#define NOGENITALS 38 //Cannot create, use, or otherwise have genitals
|
||||
#define MATRIXED 39 //if icon is color matrix'd
|
||||
#define SKINTONE 40 //uses skin tones
|
||||
|
||||
//Citadel istypes
|
||||
#define isgenital(A) (istype(A, /obj/item/organ/genital))
|
||||
|
||||
#define isborer(A) (istype(A, /mob/living/simple_animal/borer))
|
||||
#define isipcperson(A) (is_species(A, /datum/species/ipc))
|
||||
#define ismammal(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/mammal) )
|
||||
#define isavian(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/avian) )
|
||||
#define isaquatic(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/aquatic) )
|
||||
#define isinsect(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/insect) )
|
||||
#define isxenoperson(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/xeno) )
|
||||
#define ismammal(A) (is_species(A, /datum/species/mammal))
|
||||
#define isavian(A) (is_species(A, /datum/species/avian))
|
||||
#define isaquatic(A) (is_species(A, /datum/species/aquatic))
|
||||
#define isinsect(A) (is_species(A, /datum/species/insect))
|
||||
#define isxenoperson(A) (is_species(A, /datum/species/xeno))
|
||||
|
||||
#define CITADEL_MENTOR_OOC_COLOUR "#224724"
|
||||
|
||||
|
||||
@@ -28,9 +28,9 @@ GLOBAL_LIST_EMPTY(all_scripture) //a list containing scripture instances; not us
|
||||
#define SCRIPTURE_APPLICATION "Application"
|
||||
|
||||
//Various costs related to power.
|
||||
#define MAX_CLOCKWORK_POWER 50000 //The max power in W that the cult can stockpile
|
||||
#define SCRIPT_UNLOCK_THRESHOLD 25000 //Scripts will unlock if the total power reaches this amount
|
||||
#define APPLICATION_UNLOCK_THRESHOLD 40000 //Applications will unlock if the total powre reaches this amount
|
||||
#define MAX_CLOCKWORK_POWER 80000 //The max power in W that the cult can stockpile
|
||||
#define SCRIPT_UNLOCK_THRESHOLD 35000 //Scripts will unlock if the total power reaches this amount
|
||||
#define APPLICATION_UNLOCK_THRESHOLD 50000 //Applications will unlock if the total powre reaches this amount
|
||||
|
||||
#define ABSCOND_ABDUCTION_COST 95
|
||||
|
||||
|
||||
@@ -53,4 +53,5 @@
|
||||
#define COLOR_ASSEMBLY_GREEN "#44843C"
|
||||
#define COLOR_ASSEMBLY_LBLUE "#5D99BE"
|
||||
#define COLOR_ASSEMBLY_BLUE "#38559E"
|
||||
#define COLOR_ASSEMBLY_PURPLE "#6F6192"
|
||||
#define COLOR_ASSEMBLY_PURPLE "#6F6192"
|
||||
#define COLOR_ASSEMBLY_PINK "#ff4adc"
|
||||
@@ -79,6 +79,8 @@
|
||||
#define ATTACK_EFFECT_SMASH "smash"
|
||||
#define ATTACK_EFFECT_CLAW "claw"
|
||||
#define ATTACK_EFFECT_DISARM "disarm"
|
||||
#define ATTACK_EFFECT_ASS_SLAP "ass_slap"
|
||||
#define ATTACK_EFFECT_FACE_SLAP "face_slap"
|
||||
#define ATTACK_EFFECT_BITE "bite"
|
||||
#define ATTACK_EFFECT_MECHFIRE "mech_fire"
|
||||
#define ATTACK_EFFECT_MECHTOXIN "mech_toxin"
|
||||
|
||||
@@ -142,8 +142,9 @@
|
||||
#define COMSIG_CARBON_SOUNDBANG "carbon_soundbang" //from base of mob/living/carbon/soundbang_act(): (list(intensity))
|
||||
|
||||
// /obj signals
|
||||
#define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" //from base of obj/deconstruct(): (disassembled)
|
||||
#define COMSIG_OBJ_SETANCHORED "obj_setanchored" //called in /obj/structure/setAnchored(): (value)
|
||||
#define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" //from base of obj/deconstruct(): (disassembled)
|
||||
#define COMSIG_OBJ_BREAK "obj_break" //from base of /obj/obj_break(): (damage_flag)
|
||||
#define COMSIG_OBJ_SETANCHORED "obj_setanchored" //called in /obj/structure/setAnchored(): (value)
|
||||
|
||||
// /obj/item signals
|
||||
#define COMSIG_ITEM_ATTACK "item_attack" //from base of obj/item/attack(): (/mob/living/target, /mob/living/user)
|
||||
|
||||
@@ -102,6 +102,8 @@
|
||||
#define CAT_SANDWICH "Sandwiches"
|
||||
#define CAT_SOUP "Soups"
|
||||
#define CAT_SPAGHETTI "Spaghettis"
|
||||
#define CAT_SUSHI "Fish"
|
||||
#define CAT_ICE "Frozen"
|
||||
|
||||
#define RCD_FLOORWALL 1
|
||||
#define RCD_AIRLOCK 2
|
||||
|
||||
@@ -56,9 +56,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
|
||||
#define FLYING (1<<1)
|
||||
#define VENTCRAWLING (1<<2)
|
||||
|
||||
// Flags for reagents
|
||||
#define REAGENT_NOREACT (1<<0)
|
||||
|
||||
//Fire and Acid stuff, for resistance_flags
|
||||
#define LAVA_PROOF (1<<0)
|
||||
#define FIRE_PROOF (1<<1) //100% immune to fire damage (but not necessarily to lava or heat)
|
||||
|
||||
+109
-1
@@ -6,6 +6,14 @@
|
||||
#define FOOTSTEP_GRASS "grass"
|
||||
#define FOOTSTEP_WATER "water"
|
||||
#define FOOTSTEP_LAVA "lava"
|
||||
//barefoot sounds
|
||||
#define FOOTSTEP_WOOD_BAREFOOT "woodbarefoot"
|
||||
#define FOOTSTEP_WOOD_CLAW "woodclaw"
|
||||
#define FOOTSTEP_HARD_BAREFOOT "hardbarefoot"
|
||||
#define FOOTSTEP_HARD_CLAW "hardclaw"
|
||||
#define FOOTSTEP_CARPET_BAREFOOT "carpetbarefoot"
|
||||
//misc footstep sounds
|
||||
#define FOOTSTEP_GENERIC_HEAVY "heavy"
|
||||
|
||||
/*
|
||||
|
||||
@@ -63,4 +71,104 @@ GLOBAL_LIST_INIT(footstep, list(
|
||||
'sound/effects/footstep/lava1.ogg',
|
||||
'sound/effects/footstep/lava2.ogg',
|
||||
'sound/effects/footstep/lava3.ogg'), 100, 0),
|
||||
))
|
||||
))
|
||||
|
||||
//bare footsteps lists
|
||||
GLOBAL_LIST_INIT(barefootstep, list(
|
||||
FOOTSTEP_WOOD_BAREFOOT = list(list(
|
||||
'sound/effects/footstep/woodbarefoot1.ogg',
|
||||
'sound/effects/footstep/woodbarefoot2.ogg',
|
||||
'sound/effects/footstep/woodbarefoot3.ogg',
|
||||
'sound/effects/footstep/woodbarefoot4.ogg',
|
||||
'sound/effects/footstep/woodbarefoot5.ogg'), 80, -1),
|
||||
FOOTSTEP_HARD_BAREFOOT = list(list(
|
||||
'sound/effects/footstep/hardbarefoot1.ogg',
|
||||
'sound/effects/footstep/hardbarefoot2.ogg',
|
||||
'sound/effects/footstep/hardbarefoot3.ogg',
|
||||
'sound/effects/footstep/hardbarefoot4.ogg',
|
||||
'sound/effects/footstep/hardbarefoot5.ogg'), 80, -1),
|
||||
FOOTSTEP_CARPET_BAREFOOT = list(list(
|
||||
'sound/effects/footstep/carpetbarefoot1.ogg',
|
||||
'sound/effects/footstep/carpetbarefoot2.ogg',
|
||||
'sound/effects/footstep/carpetbarefoot3.ogg',
|
||||
'sound/effects/footstep/carpetbarefoot4.ogg',
|
||||
'sound/effects/footstep/carpetbarefoot5.ogg'), 75, -2),
|
||||
FOOTSTEP_SAND = list(list(
|
||||
'sound/effects/footstep/asteroid1.ogg',
|
||||
'sound/effects/footstep/asteroid2.ogg',
|
||||
'sound/effects/footstep/asteroid3.ogg',
|
||||
'sound/effects/footstep/asteroid4.ogg',
|
||||
'sound/effects/footstep/asteroid5.ogg'), 75, 0),
|
||||
FOOTSTEP_GRASS = list(list(
|
||||
'sound/effects/footstep/grass1.ogg',
|
||||
'sound/effects/footstep/grass2.ogg',
|
||||
'sound/effects/footstep/grass3.ogg',
|
||||
'sound/effects/footstep/grass4.ogg'), 75, 0),
|
||||
FOOTSTEP_WATER = list(list(
|
||||
'sound/effects/footstep/water1.ogg',
|
||||
'sound/effects/footstep/water2.ogg',
|
||||
'sound/effects/footstep/water3.ogg',
|
||||
'sound/effects/footstep/water4.ogg'), 100, 1),
|
||||
FOOTSTEP_LAVA = list(list(
|
||||
'sound/effects/footstep/lava1.ogg',
|
||||
'sound/effects/footstep/lava2.ogg',
|
||||
'sound/effects/footstep/lava3.ogg'), 100, 0),
|
||||
))
|
||||
|
||||
//claw footsteps lists
|
||||
GLOBAL_LIST_INIT(clawfootstep, list(
|
||||
FOOTSTEP_WOOD_CLAW = list(list(
|
||||
'sound/effects/footstep/woodclaw1.ogg',
|
||||
'sound/effects/footstep/woodclaw2.ogg',
|
||||
'sound/effects/footstep/woodclaw3.ogg',
|
||||
'sound/effects/footstep/woodclaw2.ogg',
|
||||
'sound/effects/footstep/woodclaw1.ogg'), 90, 1),
|
||||
FOOTSTEP_HARD_CLAW = list(list(
|
||||
'sound/effects/footstep/hardclaw1.ogg',
|
||||
'sound/effects/footstep/hardclaw2.ogg',
|
||||
'sound/effects/footstep/hardclaw3.ogg',
|
||||
'sound/effects/footstep/hardclaw4.ogg',
|
||||
'sound/effects/footstep/hardclaw1.ogg'), 90, 1),
|
||||
FOOTSTEP_CARPET_BAREFOOT = list(list(
|
||||
'sound/effects/footstep/carpetbarefoot1.ogg',
|
||||
'sound/effects/footstep/carpetbarefoot2.ogg',
|
||||
'sound/effects/footstep/carpetbarefoot3.ogg',
|
||||
'sound/effects/footstep/carpetbarefoot4.ogg',
|
||||
'sound/effects/footstep/carpetbarefoot5.ogg'), 75, -2),
|
||||
FOOTSTEP_SAND = list(list(
|
||||
'sound/effects/footstep/asteroid1.ogg',
|
||||
'sound/effects/footstep/asteroid2.ogg',
|
||||
'sound/effects/footstep/asteroid3.ogg',
|
||||
'sound/effects/footstep/asteroid4.ogg',
|
||||
'sound/effects/footstep/asteroid5.ogg'), 75, 0),
|
||||
FOOTSTEP_GRASS = list(list(
|
||||
'sound/effects/footstep/grass1.ogg',
|
||||
'sound/effects/footstep/grass2.ogg',
|
||||
'sound/effects/footstep/grass3.ogg',
|
||||
'sound/effects/footstep/grass4.ogg'), 75, 0),
|
||||
FOOTSTEP_WATER = list(list(
|
||||
'sound/effects/footstep/water1.ogg',
|
||||
'sound/effects/footstep/water2.ogg',
|
||||
'sound/effects/footstep/water3.ogg',
|
||||
'sound/effects/footstep/water4.ogg'), 100, 1),
|
||||
FOOTSTEP_LAVA = list(list(
|
||||
'sound/effects/footstep/lava1.ogg',
|
||||
'sound/effects/footstep/lava2.ogg',
|
||||
'sound/effects/footstep/lava3.ogg'), 100, 0),
|
||||
))
|
||||
|
||||
//heavy footsteps list
|
||||
GLOBAL_LIST_INIT(heavyfootstep, list(
|
||||
FOOTSTEP_GENERIC_HEAVY = list(list(
|
||||
'sound/effects/footstep/heavy1.ogg',
|
||||
'sound/effects/footstep/heavy2.ogg'), 100, 2),
|
||||
FOOTSTEP_WATER = list(list(
|
||||
'sound/effects/footstep/water1.ogg',
|
||||
'sound/effects/footstep/water2.ogg',
|
||||
'sound/effects/footstep/water3.ogg',
|
||||
'sound/effects/footstep/water4.ogg'), 100, 2),
|
||||
FOOTSTEP_LAVA = list(list(
|
||||
'sound/effects/footstep/lava1.ogg',
|
||||
'sound/effects/footstep/lava2.ogg',
|
||||
'sound/effects/footstep/lava3.ogg'), 100, 0),
|
||||
))
|
||||
|
||||
@@ -99,6 +99,7 @@
|
||||
#define HIDEFACIALHAIR (1<<9)
|
||||
#define HIDENECK (1<<10)
|
||||
#define HIDETAUR (1<<11) //gotta hide that snowflake
|
||||
#define HIDESNOUT (1<<12) //or do we actually hide our snoots
|
||||
|
||||
//bitflags for clothing coverage - also used for limbs
|
||||
#define HEAD (1<<0)
|
||||
@@ -131,11 +132,17 @@
|
||||
#define NORMAL_SUIT_STYLE 0
|
||||
#define DIGITIGRADE_SUIT_STYLE 1
|
||||
|
||||
//Tauric Specific suits
|
||||
#define NOT_TAURIC 0
|
||||
#define SNEK_TAURIC 1
|
||||
#define PAW_TAURIC 2
|
||||
#define HOOF_TAURIC 3
|
||||
|
||||
//Helmets/masks for muzzles or beaks
|
||||
#define NORMAL_FACED 0
|
||||
#define MUZZLE_FACED 1
|
||||
#define BEAKED_FACED 2
|
||||
|
||||
//flags for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts
|
||||
#define NO_MUTANTRACE_VARIATION 0
|
||||
#define MUTANTRACE_VARIATION 1
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||
#define islarva(A) (istype(A, /mob/living/carbon/alien/larva))
|
||||
|
||||
#define isalienadult(A) (istype(A, /mob/living/carbon/alien/humanoid))
|
||||
#define isalienadult(A) (istype(A, /mob/living/carbon/alien/humanoid) || istype(A, /mob/living/simple_animal/hostile/alien))
|
||||
|
||||
#define isalienhunter(A) (istype(A, /mob/living/carbon/alien/humanoid/hunter))
|
||||
|
||||
@@ -123,6 +123,47 @@
|
||||
|
||||
#define isclown(A) (istype(A, /mob/living/simple_animal/hostile/retaliate/clown))
|
||||
|
||||
GLOBAL_LIST_INIT(shoefootmob, typecacheof(list(
|
||||
/mob/living/carbon/human/,
|
||||
/mob/living/simple_animal/cow,
|
||||
/mob/living/simple_animal/hostile/cat_butcherer,
|
||||
/mob/living/simple_animal/hostile/faithless,
|
||||
/mob/living/simple_animal/hostile/nanotrasen,
|
||||
/mob/living/simple_animal/hostile/pirate,
|
||||
/mob/living/simple_animal/hostile/russian,
|
||||
/mob/living/simple_animal/hostile/syndicate,
|
||||
/mob/living/simple_animal/hostile/wizard,
|
||||
/mob/living/simple_animal/hostile/zombie,
|
||||
/mob/living/simple_animal/hostile/retaliate/clown,
|
||||
/mob/living/simple_animal/hostile/retaliate/spaceman,
|
||||
/mob/living/simple_animal/hostile/retaliate/nanotrasenpeace,
|
||||
/mob/living/simple_animal/hostile/retaliate/goat,
|
||||
/mob/living/carbon/true_devil,
|
||||
)))
|
||||
|
||||
GLOBAL_LIST_INIT(clawfootmob, typecacheof(list(
|
||||
/mob/living/carbon/alien/humanoid,
|
||||
/mob/living/simple_animal/hostile/alien,
|
||||
/mob/living/simple_animal/pet/cat,
|
||||
/mob/living/simple_animal/pet/dog,
|
||||
/mob/living/simple_animal/pet/fox,
|
||||
/mob/living/simple_animal/chicken,
|
||||
/mob/living/simple_animal/hostile/bear,
|
||||
/mob/living/simple_animal/hostile/jungle/mega_arachnid
|
||||
)))
|
||||
|
||||
GLOBAL_LIST_INIT(barefootmob, typecacheof(list(
|
||||
/mob/living/carbon/monkey,
|
||||
/mob/living/simple_animal/pet/penguin,
|
||||
/mob/living/simple_animal/hostile/gorilla,
|
||||
/mob/living/simple_animal/hostile/jungle/mook
|
||||
)))
|
||||
|
||||
GLOBAL_LIST_INIT(heavyfootmob, typecacheof(list(
|
||||
/mob/living/simple_animal/hostile/megafauna,
|
||||
/mob/living/simple_animal/hostile/jungle/leaper
|
||||
)))
|
||||
|
||||
//Misc mobs
|
||||
#define isobserver(A) (istype(A, /mob/dead/observer))
|
||||
|
||||
@@ -136,6 +177,15 @@
|
||||
|
||||
#define iseminence(A) (istype(A, /mob/camera/eminence))
|
||||
|
||||
//Footstep helpers
|
||||
#define isshoefoot(A) (is_type_in_typecache(A, GLOB.shoefootmob))
|
||||
|
||||
#define isclawfoot(A) (is_type_in_typecache(A, GLOB.clawfootmob))
|
||||
|
||||
#define isbarefoot(A) (is_type_in_typecache(A, GLOB.barefootmob))
|
||||
|
||||
#define isheavyfoot(A) (is_type_in_typecache(A, GLOB.heavyfootmob))
|
||||
|
||||
//Objects
|
||||
#define isobj(A) istype(A, /obj) //override the byond proc because it returns true on children of /atom/movable that aren't objs
|
||||
|
||||
|
||||
@@ -218,6 +218,9 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache)
|
||||
//Gets the turf this atom inhabits
|
||||
#define get_turf(A) (get_step(A, 0))
|
||||
|
||||
//Same as above except gets the area instead
|
||||
#define get_area(A) (isarea(A) ? A : get_step(A, 0)?.loc)
|
||||
|
||||
//Ghost orbit types:
|
||||
#define GHOST_ORBIT_CIRCLE "circle"
|
||||
#define GHOST_ORBIT_TRIANGLE "triangle"
|
||||
@@ -474,4 +477,6 @@ GLOBAL_LIST_INIT(pda_styles, list(MONO, VT, ORBITRON, SHARE))
|
||||
#define CLIENT_FROM_VAR(I) (ismob(I) ? I:client : (istype(I, /client) ? I : (istype(I, /datum/mind) ? I:current?:client : null)))
|
||||
|
||||
#define AREASELECT_CORNERA "corner A"
|
||||
#define AREASELECT_CORNERB "corner B"
|
||||
#define AREASELECT_CORNERB "corner B"
|
||||
|
||||
#define PREF_SAVELOAD_COOLDOWN 5
|
||||
@@ -2,7 +2,7 @@
|
||||
#define LIQUID 2
|
||||
#define GAS 3
|
||||
|
||||
// container_type defines
|
||||
// reagents_flags defines
|
||||
#define INJECTABLE (1<<0) // Makes it possible to add reagents through droppers and syringes.
|
||||
#define DRAWABLE (1<<1) // Makes it possible to remove reagents through syringes.
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#define TRANSPARENT (1<<4) // Used on containers which you want to be able to see the reagents off.
|
||||
#define AMOUNT_VISIBLE (1<<5) // For non-transparent containers that still have the general amount of reagents in them visible.
|
||||
#define NO_REACT (1<<6) // Applied to a reagent holder, the contents will not react with each other.
|
||||
|
||||
// Is an open container for all intents and purposes.
|
||||
#define OPENCONTAINER (REFILLABLE | DRAINABLE | TRANSPARENT)
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
#define CLEAN_BOT (1<<3) // Cleanbots
|
||||
#define MED_BOT (1<<4) // Medibots
|
||||
#define HONK_BOT (1<<5) // Honkbots & ED-Honks
|
||||
#define FIRE_BOT (1<<6) // Firebots
|
||||
|
||||
//AI notification defines
|
||||
#define NEW_BORG 1
|
||||
|
||||
@@ -33,7 +33,8 @@
|
||||
#define ROLE_DRONE "drone"
|
||||
#define ROLE_DEATHSQUAD "deathsquad"
|
||||
#define ROLE_LAVALAND "lavaland"
|
||||
#define ROLE_INTERNAL_AFFAIRS "internal affairs agent"
|
||||
#define ROLE_INTERNAL_AFFAIRS "internal affairs agent"
|
||||
#define ROLE_GANG "gangster"
|
||||
|
||||
//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
|
||||
@@ -58,7 +59,8 @@ GLOBAL_LIST_INIT(special_roles, list(
|
||||
ROLE_SERVANT_OF_RATVAR = /datum/game_mode/clockwork_cult,
|
||||
ROLE_OVERTHROW = /datum/game_mode/overthrow,
|
||||
ROLE_INTERNAL_AFFAIRS = /datum/game_mode/traitor/internal_affairs,
|
||||
ROLE_SENTIENCE
|
||||
ROLE_SENTIENCE,
|
||||
ROLE_GANG = /datum/game_mode/gang
|
||||
))
|
||||
|
||||
//Job defines for what happens when you fail to qualify for any job during job selection
|
||||
|
||||
@@ -1,3 +1,61 @@
|
||||
// trait accessor defines
|
||||
#define ADD_TRAIT(target, trait, source) \
|
||||
do { \
|
||||
var/list/_L; \
|
||||
if (!target.status_traits) { \
|
||||
target.status_traits = list(); \
|
||||
_L = target.status_traits; \
|
||||
_L[trait] = list(source); \
|
||||
} else { \
|
||||
_L = target.status_traits; \
|
||||
if (_L[trait]) { \
|
||||
_L[trait] |= list(source); \
|
||||
} else { \
|
||||
_L[trait] = list(source); \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
#define REMOVE_TRAIT(target, trait, sources) \
|
||||
do { \
|
||||
var/list/_L = target.status_traits; \
|
||||
var/list/_S; \
|
||||
if (sources && !islist(sources)) { \
|
||||
_S = list(sources); \
|
||||
} else { \
|
||||
_S = sources\
|
||||
}; \
|
||||
if (_L && _L[trait]) { \
|
||||
for (var/_T in _L[trait]) { \
|
||||
if ((!_S && (_T != ROUNDSTART_TRAIT)) || (_T in _S)) { \
|
||||
_L[trait] -= _T \
|
||||
} \
|
||||
};\
|
||||
if (!length(_L[trait])) { \
|
||||
_L -= trait \
|
||||
}; \
|
||||
if (!length(_L)) { \
|
||||
target.status_traits = null \
|
||||
}; \
|
||||
} \
|
||||
} while (0)
|
||||
#define REMOVE_TRAITS_NOT_IN(target, sources) \
|
||||
do { \
|
||||
var/list/_L = target.status_traits; \
|
||||
var/list/_S = sources; \
|
||||
if (_L) { \
|
||||
for (var/_T in _L) { \
|
||||
_L[_T] &= _S;\
|
||||
if (!length(_L[_T])) { \
|
||||
_L -= _T } \
|
||||
};\
|
||||
if (!length(_L)) { \
|
||||
target.status_traits = null\
|
||||
};\
|
||||
}\
|
||||
} while (0)
|
||||
#define HAS_TRAIT(target, trait) (target.status_traits ? (target.status_traits[trait] ? TRUE : FALSE) : FALSE)
|
||||
#define HAS_TRAIT_FROM(target, trait, source) (target.status_traits ? (target.status_traits[trait] ? (source in target.status_traits[trait]) : FALSE) : FALSE)
|
||||
|
||||
//mob traits
|
||||
#define TRAIT_BLIND "blind"
|
||||
#define TRAIT_MUTE "mute"
|
||||
@@ -69,6 +127,13 @@
|
||||
#define TRAIT_TAGGER "tagger"
|
||||
#define TRAIT_PHOTOGRAPHER "photographer"
|
||||
#define TRAIT_MUSICIAN "musician"
|
||||
#define TRAIT_CROCRIN_IMMUNE "crocin_immune"
|
||||
#define TRAIT_NYMPHO "nymphomania"
|
||||
#define TRAIT_MASO "masochism"
|
||||
#define TRAIT_EMPATH "empath"
|
||||
#define TRAIT_FRIENDLY "friendly"
|
||||
#define TRAIT_ASSBLASTUSA "assblastusa"
|
||||
#define TRAIT_CULT_EYES "cult_eyes"
|
||||
|
||||
// common trait sources
|
||||
#define TRAIT_GENERIC "generic"
|
||||
@@ -91,4 +156,3 @@
|
||||
#define STASIS_MUTE "stasis"
|
||||
#define GENETICS_SPELL "genetics_spell"
|
||||
#define EYES_COVERED "eyes_covered"
|
||||
#define CULT_EYES "cult_eyes"
|
||||
|
||||
@@ -58,8 +58,11 @@ GLOBAL_LIST_EMPTY(ipc_antennas_list)
|
||||
//Genitals and Arousal Lists
|
||||
GLOBAL_LIST_EMPTY(cock_shapes_list)//global_lists.dm for the list initializations //Now also _DATASTRUCTURES globals.dm
|
||||
GLOBAL_LIST_EMPTY(cock_shapes_icons) //Associated list for names->icon_states for cockshapes.
|
||||
GLOBAL_LIST_EMPTY(balls_shapes_list)
|
||||
GLOBAL_LIST_EMPTY(balls_shapes_icons)
|
||||
GLOBAL_LIST_EMPTY(breasts_size_list)
|
||||
GLOBAL_LIST_EMPTY(breasts_shapes_list)
|
||||
GLOBAL_LIST_EMPTY(breasts_shapes_icons)
|
||||
GLOBAL_LIST_EMPTY(vagina_shapes_list)
|
||||
GLOBAL_LIST_INIT(cum_into_containers_list, list(/obj/item/reagent_containers/food/snacks/pie)) //Yer fuggin snowflake name list jfc
|
||||
GLOBAL_LIST_INIT(dick_nouns, list("dick","cock","member","shaft"))
|
||||
@@ -123,36 +126,36 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
|
||||
/mob/living/carbon/proc/has_penis()
|
||||
if(getorganslot("penis"))//slot shared with ovipositor
|
||||
if(istype(getorganslot("penis"), /obj/item/organ/genital/penis))
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/proc/has_balls()
|
||||
if(getorganslot("balls"))
|
||||
if(istype(getorganslot("balls"), /obj/item/organ/genital/testicles))
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/proc/has_vagina()
|
||||
if(getorganslot("vagina"))
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/proc/has_breasts()
|
||||
if(getorganslot("breasts"))
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/proc/has_ovipositor()
|
||||
if(getorganslot("penis"))//shared slot
|
||||
if(istype(getorganslot("penis"), /obj/item/organ/genital/ovipositor))
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/human/proc/has_eggsack()
|
||||
if(getorganslot("balls"))
|
||||
if(istype(getorganslot("balls"), /obj/item/organ/genital/eggsack))
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/human/proc/is_bodypart_exposed(bodypart)
|
||||
|
||||
@@ -161,16 +164,16 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
|
||||
L = get_equipped_items()
|
||||
for(var/obj/item/I in L)
|
||||
if(I.body_parts_covered & GROIN)
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/proc/is_chest_exposed(var/list/L)
|
||||
if(!L)
|
||||
L = get_equipped_items()
|
||||
for(var/obj/item/I in L)
|
||||
if(I.body_parts_covered & CHEST)
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
////////////////////////
|
||||
//DANGER | DEBUG PROCS//
|
||||
@@ -191,40 +194,3 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
|
||||
H.give_vagina()
|
||||
H.give_womb()
|
||||
H.give_breasts()
|
||||
|
||||
/client/proc/test_mammal_overlays()
|
||||
set name = "Mass Give Mammalitus"
|
||||
set category = "Dangerous"
|
||||
set desc = "Turns every human into a mammal with tails, ears, etc. WARNING: NOT FOR LIVE SERVER USAGE!!"
|
||||
|
||||
log_admin("[src] turned everyone into mammals.")
|
||||
message_admins("[src] turned everyone into mammals.")
|
||||
for(var/mob/living/carbon/human/H in GLOB.mob_list)
|
||||
if(!H.dna)
|
||||
continue
|
||||
var/datum/dna/hdna = H.dna
|
||||
H.set_species(/datum/species/mammal)
|
||||
var/subspec = pick("Fox","Wolf","Fennec")
|
||||
switch(subspec)
|
||||
if("Wolf")
|
||||
hdna.features["mam_tail"] = "Wolf"
|
||||
hdna.features["mam_ears"] = "Wolf"
|
||||
hdna.features["mam_snouts"] = "Wolf"
|
||||
hdna.features["mam_body_markings"] = "Wolf"
|
||||
hdna.features["mcolor"] = "555"
|
||||
hdna.features["mcolor2"] = "999"
|
||||
hdna.features["mcolor3"] = "999"
|
||||
if("Fox")
|
||||
hdna.features["mam_tail"] = "Fox"
|
||||
hdna.features["mam_ears"] = "Fox"
|
||||
hdna.features["mam_snouts"] = "Fox, Long"
|
||||
hdna.features["mam_body_markings"] = "Fox"
|
||||
hdna.features["mcolor"] = "f60"
|
||||
hdna.features["mcolor2"] = "fff"
|
||||
hdna.features["mcolor3"] = "fff"
|
||||
if("Fennec")
|
||||
hdna.features["mam_tail"] = "Fennec"
|
||||
hdna.features["mam_ears"] = "Fennec"
|
||||
hdna.features["mam_snouts"] = "Fox, Short"
|
||||
hdna.features["mam_body_markings"] = "Fox"
|
||||
H.regenerate_icons()
|
||||
|
||||
@@ -8,12 +8,6 @@
|
||||
#define Z_TURFS(ZLEVEL) block(locate(1,1,ZLEVEL), locate(world.maxx, world.maxy, ZLEVEL))
|
||||
#define CULT_POLL_WAIT 2400
|
||||
|
||||
/proc/get_area(atom/A)
|
||||
if(isarea(A))
|
||||
return A
|
||||
var/turf/T = get_turf(A)
|
||||
return T ? T.loc : null
|
||||
|
||||
/proc/get_area_name(atom/X, format_text = FALSE)
|
||||
var/area/A = isarea(X) ? X : get_area(X)
|
||||
if(!A)
|
||||
@@ -221,9 +215,10 @@
|
||||
else // A variation of get_hear inlined here to take advantage of the compiler's fastpath for obj/mob in view
|
||||
var/lum = T.luminosity
|
||||
T.luminosity = 6 // This is the maximum luminosity
|
||||
for(var/mob/M in view(R, T))
|
||||
var/list/cachedview = view(R, T)
|
||||
for(var/mob/M in cachedview)
|
||||
processing_list += M
|
||||
for(var/obj/O in view(R, T))
|
||||
for(var/obj/O in cachedview)
|
||||
processing_list += O
|
||||
T.luminosity = lum
|
||||
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_dorsal, GLOB.xeno_dorsal_list)
|
||||
//genitals
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, GLOB.cock_shapes_list)
|
||||
|
||||
for(var/K in GLOB.cock_shapes_list)
|
||||
var/datum/sprite_accessory/penis/value = GLOB.cock_shapes_list[K]
|
||||
GLOB.cock_shapes_icons[K] = value.icon_state
|
||||
@@ -54,6 +53,14 @@
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, GLOB.vagina_shapes_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_shapes_list)
|
||||
GLOB.breasts_size_list = list("a","b","c","d","e") //We need the list to choose from initialized, but it's no longer a sprite_accessory thing.
|
||||
for(var/K in GLOB.breasts_shapes_list)
|
||||
var/datum/sprite_accessory/breasts/value = GLOB.breasts_shapes_list[K]
|
||||
GLOB.breasts_shapes_icons[K] = value.icon_state
|
||||
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/testicles, GLOB.balls_shapes_list)
|
||||
for(var/K in GLOB.balls_shapes_list)
|
||||
var/datum/sprite_accessory/testicles/value = GLOB.balls_shapes_list[K]
|
||||
GLOB.balls_shapes_icons[K] = value.icon_state
|
||||
//END OF CIT CHANGES
|
||||
|
||||
//Species
|
||||
|
||||
+48
-27
@@ -77,6 +77,8 @@
|
||||
//CIT CHANGES - genitals and such
|
||||
if(!GLOB.cock_shapes_list.len)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, GLOB.cock_shapes_list)
|
||||
if(!GLOB.balls_shapes_list.len)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/testicles, GLOB.balls_shapes_list)
|
||||
if(!GLOB.vagina_shapes_list.len)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, GLOB.vagina_shapes_list)
|
||||
if(!GLOB.breasts_shapes_list.len)
|
||||
@@ -94,43 +96,61 @@
|
||||
if(!GLOB.mam_snouts_list.len)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_snouts, GLOB.mam_snouts_list)
|
||||
|
||||
// if(ishuman(src))
|
||||
// var/mob/living/carbon/human/H = src
|
||||
/* if(H.gender == MALE) Fuck if I know how to fix this.
|
||||
penis = 1
|
||||
balls = 1
|
||||
vagina = 0
|
||||
womb = 0
|
||||
breasts = 0
|
||||
if(H.gender == FEMALE)
|
||||
penis = 0
|
||||
balls = 0
|
||||
vagina = 1
|
||||
womb = 1
|
||||
breasts = 1 */
|
||||
//snowflake check so people's ckey features don't get randomly put on unmonkeys/spawns
|
||||
var/list/snowflake_mam_tails_list = list()
|
||||
for(var/mtpath in GLOB.mam_tails_list)
|
||||
var/datum/sprite_accessory/mam_tails/instance = GLOB.mam_tails_list[mtpath]
|
||||
if(istype(instance, /datum/sprite_accessory))
|
||||
var/datum/sprite_accessory/S = instance
|
||||
if(!S.ckeys_allowed)
|
||||
snowflake_mam_tails_list[S.name] = mtpath
|
||||
var/list/snowflake_markings_list = list()
|
||||
for(var/mmpath in GLOB.mam_body_markings_list)
|
||||
var/datum/sprite_accessory/mam_body_markings/instance = GLOB.mam_body_markings_list[mmpath]
|
||||
if(istype(instance, /datum/sprite_accessory))
|
||||
var/datum/sprite_accessory/S = instance
|
||||
if(!S.ckeys_allowed)
|
||||
snowflake_markings_list[S.name] = mmpath
|
||||
var/list/snowflake_ears_list = list()
|
||||
for(var/mepath in GLOB.mam_ears_list)
|
||||
var/datum/sprite_accessory/mam_ears/instance = GLOB.mam_ears_list[mepath]
|
||||
if(istype(instance, /datum/sprite_accessory))
|
||||
var/datum/sprite_accessory/S = instance
|
||||
if(!S.ckeys_allowed)
|
||||
snowflake_ears_list[S.name] = mepath
|
||||
var/list/snowflake_mam_snouts_list = list()
|
||||
for(var/mspath in GLOB.mam_snouts_list)
|
||||
var/datum/sprite_accessory/mam_snouts/instance = GLOB.mam_snouts_list[mspath]
|
||||
if(istype(instance, /datum/sprite_accessory))
|
||||
var/datum/sprite_accessory/S = instance
|
||||
if(!S.ckeys_allowed)
|
||||
snowflake_mam_snouts_list[S.name] = mspath
|
||||
var/color1 = random_short_color()
|
||||
var/color2 = random_short_color()
|
||||
var/color3 = random_short_color()
|
||||
|
||||
//CIT CHANGE - changes this entire return to support cit's snowflake parts
|
||||
return(list(
|
||||
"mcolor" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
|
||||
"mcolor2" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
|
||||
"mcolor3" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
|
||||
"mcolor" = color1,
|
||||
"mcolor2" = color2,
|
||||
"mcolor3" = color3,
|
||||
"tail_lizard" = pick(GLOB.tails_list_lizard),
|
||||
"tail_human" = pick(GLOB.tails_list_human),
|
||||
"tail_human" = "None",
|
||||
"wings" = "None",
|
||||
"snout" = pick(GLOB.snouts_list),
|
||||
"horns" = pick(GLOB.horns_list),
|
||||
"ears" = pick(GLOB.ears_list),
|
||||
"ears" = "None",
|
||||
"frills" = pick(GLOB.frills_list),
|
||||
"spines" = pick(GLOB.spines_list),
|
||||
"body_markings" = pick(GLOB.body_markings_list),
|
||||
"legs" = "Normal Legs",
|
||||
"legs" = pick("Normal Legs","Digitigrade Legs"),
|
||||
"caps" = pick(GLOB.caps_list),
|
||||
"moth_wings" = pick(GLOB.moth_wings_list),
|
||||
"taur" = "None",
|
||||
"mam_body_markings" = pick(GLOB.mam_body_markings_list),
|
||||
"mam_ears" = pick(GLOB.mam_ears_list),
|
||||
"mam_snouts" = pick(GLOB.mam_snouts_list),
|
||||
"mam_tail" = pick(GLOB.mam_tails_list),
|
||||
"mam_body_markings" = pick(snowflake_markings_list),
|
||||
"mam_ears" = pick(snowflake_ears_list),
|
||||
"mam_snouts" = pick(snowflake_mam_snouts_list),
|
||||
"mam_tail" = pick(snowflake_mam_tails_list),
|
||||
"mam_tail_animated" = "None",
|
||||
"xenodorsal" = "Standard",
|
||||
"xenohead" = "Standard",
|
||||
@@ -150,6 +170,7 @@
|
||||
"balls_amount" = 2,
|
||||
"balls_sack_size" = BALLS_SACK_SIZE_DEF,
|
||||
"balls_size" = BALLS_SIZE_DEF,
|
||||
"balls_shape" = "Pair",
|
||||
"balls_cum_rate" = CUM_RATE,
|
||||
"balls_cum_mult" = CUM_RATE_MULT,
|
||||
"balls_efficiency" = CUM_EFFICIENCY,
|
||||
@@ -167,7 +188,7 @@
|
||||
"has_breasts" = FALSE,
|
||||
"breasts_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
|
||||
"breasts_size" = pick(GLOB.breasts_size_list),
|
||||
"breasts_shape" = pick(GLOB.breasts_shapes_list),
|
||||
"breasts_shape" = "Pair",
|
||||
"breasts_fluid" = "milk",
|
||||
"has_vag" = FALSE,
|
||||
"vag_shape" = pick(GLOB.vagina_shapes_list),
|
||||
@@ -276,7 +297,7 @@ GLOBAL_LIST_EMPTY(species_list)
|
||||
else
|
||||
return "unknown"
|
||||
|
||||
/proc/do_mob(mob/user , mob/target, time = 30, uninterruptible = 0, progress = 1, datum/callback/extra_checks = null)
|
||||
/proc/do_mob(mob/user , mob/target, time = 30, uninterruptible = 0, progress = 1, datum/callback/extra_checks = null, ignorehelditem = 0)
|
||||
if(!user || !target)
|
||||
return 0
|
||||
var/user_loc = user.loc
|
||||
@@ -309,7 +330,7 @@ GLOBAL_LIST_EMPTY(species_list)
|
||||
drifting = 0
|
||||
user_loc = user.loc
|
||||
|
||||
if((!drifting && user.loc != user_loc) || target.loc != target_loc || user.get_active_held_item() != holding || user.incapacitated() || user.lying || (extra_checks && !extra_checks.Invoke()))
|
||||
if((!drifting && user.loc != user_loc) || target.loc != target_loc || (!ignorehelditem && user.get_active_held_item() != holding) || user.incapacitated() || user.lying || (extra_checks && !extra_checks.Invoke()))
|
||||
. = 0
|
||||
break
|
||||
if (progress)
|
||||
|
||||
@@ -12,3 +12,8 @@
|
||||
/proc/format_frequency(frequency)
|
||||
frequency = text2num(frequency)
|
||||
return "[round(frequency / 10)].[frequency % 10]"
|
||||
|
||||
//Opposite of format, returns as a number
|
||||
/proc/unformat_frequency(frequency)
|
||||
frequency = text2num(frequency)
|
||||
return frequency * 10
|
||||
|
||||
@@ -199,6 +199,10 @@
|
||||
if(length(CONFIG_GET(keyed_list/cross_server)))
|
||||
send_news_report()
|
||||
|
||||
//tell the nice people on discord what went on before the salt cannon happens.
|
||||
world.TgsTargetedChatBroadcast("The current round has ended. Please standby for your shift interlude Nanotrasen News Network's report!", FALSE)
|
||||
world.TgsTargetedChatBroadcast(send_news_report(),FALSE)
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
//These need update to actually reflect the real antagonists
|
||||
|
||||
@@ -94,6 +94,8 @@
|
||||
// Used to get a properly sanitized multiline input, of max_length
|
||||
/proc/stripped_multiline_input(mob/user, message = "", title = "", default = "", max_length=MAX_MESSAGE_LEN, no_trim=FALSE)
|
||||
var/name = input(user, message, title, default) as message|null
|
||||
if(isnull(name)) // Return null if canceled.
|
||||
return null
|
||||
if(no_trim)
|
||||
return copytext(html_encode(name), 1, max_length)
|
||||
else
|
||||
|
||||
@@ -115,9 +115,6 @@ GLOBAL_LIST_INIT(bitfields, list(
|
||||
"GOLIATH_RESISTANCE" = GOLIATH_RESISTANCE,
|
||||
"GOLIATH_WEAKNESS" = GOLIATH_WEAKNESS
|
||||
),
|
||||
"reagents_holder_flags" = list(
|
||||
"REAGENT_NOREACT" = REAGENT_NOREACT
|
||||
),
|
||||
"flags_1" = list(
|
||||
"NOJAUNT_1" = NOJAUNT_1,
|
||||
"UNUSED_RESERVATION_TURF_1" = UNUSED_RESERVATION_TURF_1,
|
||||
@@ -158,13 +155,14 @@ GLOBAL_LIST_INIT(bitfields, list(
|
||||
"SMOOTH_BORDER" = SMOOTH_BORDER,
|
||||
"SMOOTH_QUEUED" = SMOOTH_QUEUED,
|
||||
),
|
||||
"container_type" = list(
|
||||
"reagents_holder_flags" = list(
|
||||
"INJECTABLE" = INJECTABLE,
|
||||
"DRAWABLE" = DRAWABLE,
|
||||
"REFILLABLE" = REFILLABLE,
|
||||
"DRAINABLE" = DRAINABLE,
|
||||
"TRANSPARENT" = TRANSPARENT,
|
||||
"AMOUNT_VISIBLE" = AMOUNT_VISIBLE,
|
||||
"NO_REACT" = NO_REACT,
|
||||
),
|
||||
"car_traits" = list(
|
||||
"CAN_KIDNAP" = CAN_KIDNAP,
|
||||
|
||||
@@ -40,6 +40,54 @@ GLOBAL_LIST_EMPTY(caps_list)
|
||||
GLOBAL_LIST_INIT(ghost_forms_with_directions_list, list("ghost")) //stores the ghost forms that support directional sprites
|
||||
GLOBAL_LIST_INIT(ghost_forms_with_accessories_list, list("ghost")) //stores the ghost forms that support hair and other such things
|
||||
|
||||
GLOBAL_LIST_INIT(ai_core_display_screens, list(
|
||||
":thinking:",
|
||||
"Alien",
|
||||
"Angel",
|
||||
"Banned",
|
||||
"Bliss",
|
||||
"Blue",
|
||||
"Clown",
|
||||
"Database",
|
||||
"Dorf",
|
||||
"Firewall",
|
||||
"Fuzzy",
|
||||
"Gentoo",
|
||||
"Glitchman",
|
||||
"Gondola",
|
||||
"Goon",
|
||||
"Hades",
|
||||
"Heartline",
|
||||
"Helios",
|
||||
"House",
|
||||
"Inverted",
|
||||
"Matrix",
|
||||
"Monochrome",
|
||||
"Murica",
|
||||
"Nanotrasen",
|
||||
"Not Malf",
|
||||
"President",
|
||||
"Random",
|
||||
"Rainbow",
|
||||
"Red",
|
||||
"Red October",
|
||||
"Static",
|
||||
"Syndicat Meow",
|
||||
"TechDemon",
|
||||
"Text",
|
||||
"Too Deep",
|
||||
"Triumvirate",
|
||||
"Triumvirate-M",
|
||||
"Weird"))
|
||||
|
||||
/proc/resolve_ai_icon(input)
|
||||
if(!input || !(input in GLOB.ai_core_display_screens))
|
||||
return "ai"
|
||||
else
|
||||
if(input == "Random")
|
||||
input = pick(GLOB.ai_core_display_screens - "Random")
|
||||
return "ai-[lowertext(input)]"
|
||||
|
||||
GLOBAL_LIST_INIT(security_depts_prefs, list(SEC_DEPT_RANDOM, SEC_DEPT_NONE, SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, SEC_DEPT_SCIENCE, SEC_DEPT_SUPPLY))
|
||||
|
||||
//Backpacks
|
||||
@@ -117,7 +165,7 @@ GLOBAL_LIST_INIT(TAGGERLOCATIONS, list("Disposals",
|
||||
"CMO Office", "Chemistry", "Research", "RD Office",
|
||||
"Robotics", "HoP Office", "Library", "Chapel", "Theatre",
|
||||
"Bar", "Kitchen", "Hydroponics", "Janitor Closet","Genetics",
|
||||
"Circuitry", "Toxins", "Dormitories", "Virology",
|
||||
"Circuitry", "Toxins", "Dormitories", "Virology",
|
||||
"Xenobiology", "Law Office","Detective's Office"))
|
||||
|
||||
GLOBAL_LIST_INIT(station_prefixes, world.file2list("strings/station_prefixes.txt") + "")
|
||||
|
||||
@@ -108,5 +108,8 @@ GLOBAL_LIST_INIT(maintenance_loot, list(
|
||||
/obj/item/toy/eightball = 1,
|
||||
/obj/item/reagent_containers/pill/floorpill = 1,
|
||||
/obj/item/storage/daki = 3, //VERY IMPORTANT CIT CHANGE - adds bodypillows to maint
|
||||
/obj/item/storage/pill_bottle/penis_enlargement = 2,
|
||||
/obj/item/clothing/shoes/wheelys = 1,
|
||||
/obj/item/clothing/shoes/kindleKicks = 1,
|
||||
"" = 3
|
||||
))
|
||||
|
||||
@@ -162,6 +162,8 @@
|
||||
return
|
||||
|
||||
var/button_number = 0
|
||||
var/list/cview = getviewsize(client.view)
|
||||
var/supportedcolumns = cview[1]-2
|
||||
|
||||
if(hud_used.action_buttons_hidden)
|
||||
for(var/datum/action/A in actions)
|
||||
@@ -177,7 +179,7 @@
|
||||
if(B.moved)
|
||||
B.screen_loc = B.moved
|
||||
else
|
||||
B.screen_loc = hud_used.ButtonNumberToScreenCoords(button_number)
|
||||
B.screen_loc = hud_used.ButtonNumberToScreenCoords(button_number, supportedcolumns)
|
||||
if(reload_screen)
|
||||
client.screen += B
|
||||
|
||||
@@ -186,30 +188,26 @@
|
||||
return
|
||||
|
||||
if(!hud_used.hide_actions_toggle.moved)
|
||||
hud_used.hide_actions_toggle.screen_loc = hud_used.ButtonNumberToScreenCoords(button_number+1)
|
||||
hud_used.hide_actions_toggle.screen_loc = hud_used.ButtonNumberToScreenCoords(button_number+1, supportedcolumns)
|
||||
else
|
||||
hud_used.hide_actions_toggle.screen_loc = hud_used.hide_actions_toggle.moved
|
||||
if(reload_screen)
|
||||
client.screen += hud_used.hide_actions_toggle
|
||||
|
||||
|
||||
|
||||
#define AB_MAX_COLUMNS 10
|
||||
|
||||
/datum/hud/proc/ButtonNumberToScreenCoords(number) // TODO : Make this zero-indexed for readabilty
|
||||
var/row = round((number - 1)/AB_MAX_COLUMNS)
|
||||
var/col = ((number - 1)%(AB_MAX_COLUMNS)) + 1
|
||||
/datum/hud/proc/ButtonNumberToScreenCoords(number, supportedcolumns) // TODO : Make this zero-indexed for readabilty
|
||||
var/row = round((number - 1)/supportedcolumns)
|
||||
var/col = ((number - 1)%(supportedcolumns)) + 1
|
||||
|
||||
var/coord_col = "+[col-1]"
|
||||
var/coord_col_offset = 4 + 2 * col
|
||||
var/coord_col_offset = 2 + 2 * col
|
||||
|
||||
var/coord_row = "[row ? -row : "+0"]"
|
||||
|
||||
return "WEST[coord_col]:[coord_col_offset],NORTH[coord_row]:-6"
|
||||
|
||||
/datum/hud/proc/SetButtonCoords(obj/screen/button,number)
|
||||
var/row = round((number-1)/AB_MAX_COLUMNS)
|
||||
var/col = ((number - 1)%(AB_MAX_COLUMNS)) + 1
|
||||
/datum/hud/proc/SetButtonCoords(obj/screen/button,number, supportedcolumns)
|
||||
var/row = round((number-1)/supportedcolumns)
|
||||
var/col = ((number - 1)%(supportedcolumns)) + 1
|
||||
var/x_offset = 32*(col-1) + 4 + 2*col
|
||||
var/y_offset = -32*(row+1) + 26
|
||||
|
||||
|
||||
+58
-17
@@ -1,4 +1,7 @@
|
||||
#define NEXT_PAGE_ID "__next__"
|
||||
#define DEFAULT_CHECK_DELAY 20
|
||||
|
||||
GLOBAL_LIST_EMPTY(radial_menus)
|
||||
|
||||
/obj/screen/radial
|
||||
icon = 'icons/mob/radial.dmi'
|
||||
@@ -10,14 +13,19 @@
|
||||
icon_state = "radial_slice"
|
||||
var/choice
|
||||
var/next_page = FALSE
|
||||
var/tooltips = FALSE
|
||||
|
||||
/obj/screen/radial/slice/MouseEntered(location, control, params)
|
||||
. = ..()
|
||||
icon_state = "radial_slice_focus"
|
||||
if(tooltips)
|
||||
openToolTip(usr, src, params, title = name)
|
||||
|
||||
/obj/screen/radial/slice/MouseExited(location, control, params)
|
||||
. = ..()
|
||||
icon_state = "radial_slice"
|
||||
if(tooltips)
|
||||
closeToolTip(usr)
|
||||
|
||||
/obj/screen/radial/slice/Click(location, control, params)
|
||||
if(usr.client == parent.current_user)
|
||||
@@ -30,6 +38,14 @@
|
||||
name = "Close Menu"
|
||||
icon_state = "radial_center"
|
||||
|
||||
/obj/screen/radial/center/MouseEntered(location, control, params)
|
||||
. = ..()
|
||||
icon_state = "radial_center_focus"
|
||||
|
||||
/obj/screen/radial/center/MouseExited(location, control, params)
|
||||
. = ..()
|
||||
icon_state = "radial_center"
|
||||
|
||||
/obj/screen/radial/center/Click(location, control, params)
|
||||
if(usr.client == parent.current_user)
|
||||
parent.finished = TRUE
|
||||
@@ -48,6 +64,9 @@
|
||||
var/atom/anchor
|
||||
var/image/menu_holder
|
||||
var/finished = FALSE
|
||||
var/datum/callback/custom_check_callback
|
||||
var/next_check = 0
|
||||
var/check_delay = DEFAULT_CHECK_DELAY
|
||||
|
||||
var/radius = 32
|
||||
var/starting_angle = 0
|
||||
@@ -57,7 +76,7 @@
|
||||
var/max_elements
|
||||
var/pages = 1
|
||||
var/current_page = 1
|
||||
|
||||
|
||||
var/hudfix_method = TRUE //TRUE to change anchor to user, FALSE to shift by py_shift
|
||||
var/py_shift = 0
|
||||
var/entry_animation = TRUE
|
||||
@@ -75,7 +94,7 @@
|
||||
restrict_to_dir(NORTH) //I was going to parse screen loc here but that's more effort than it's worth.
|
||||
|
||||
//Sets defaults
|
||||
//These assume 45 deg min_angle
|
||||
//These assume 45 deg min_angle
|
||||
/datum/radial_menu/proc/restrict_to_dir(dir)
|
||||
switch(dir)
|
||||
if(NORTH)
|
||||
@@ -91,18 +110,19 @@
|
||||
starting_angle = 180
|
||||
ending_angle = 45
|
||||
|
||||
/datum/radial_menu/proc/setup_menu()
|
||||
/datum/radial_menu/proc/setup_menu(use_tooltips)
|
||||
if(ending_angle > starting_angle)
|
||||
zone = ending_angle - starting_angle
|
||||
else
|
||||
zone = 360 - starting_angle + ending_angle
|
||||
|
||||
|
||||
max_elements = round(zone / min_angle)
|
||||
var/paged = max_elements < choices.len
|
||||
if(elements.len < max_elements)
|
||||
var/elements_to_add = max_elements - elements.len
|
||||
for(var/i in 1 to elements_to_add) //Create all elements
|
||||
var/obj/screen/radial/new_element = new /obj/screen/radial/slice
|
||||
var/obj/screen/radial/slice/new_element = new /obj/screen/radial/slice
|
||||
new_element.tooltips = use_tooltips
|
||||
new_element.parent = src
|
||||
elements += new_element
|
||||
|
||||
@@ -163,7 +183,7 @@
|
||||
else
|
||||
E.pixel_y = py
|
||||
E.pixel_x = px
|
||||
|
||||
|
||||
//Visuals
|
||||
E.alpha = 255
|
||||
E.mouse_opacity = MOUSE_OPACITY_ICON
|
||||
@@ -183,7 +203,7 @@
|
||||
E.next_page = FALSE
|
||||
if(choices_icons[choice_id])
|
||||
E.add_overlay(choices_icons[choice_id])
|
||||
|
||||
|
||||
/datum/radial_menu/New()
|
||||
close_button = new
|
||||
close_button.parent = src
|
||||
@@ -200,7 +220,7 @@
|
||||
/datum/radial_menu/proc/get_next_id()
|
||||
return "c_[choices.len]"
|
||||
|
||||
/datum/radial_menu/proc/set_choices(list/new_choices)
|
||||
/datum/radial_menu/proc/set_choices(list/new_choices, use_tooltips)
|
||||
if(choices.len)
|
||||
Reset()
|
||||
for(var/E in new_choices)
|
||||
@@ -211,7 +231,7 @@
|
||||
var/I = extract_image(new_choices[E])
|
||||
if(I)
|
||||
choices_icons[id] = I
|
||||
setup_menu()
|
||||
setup_menu(use_tooltips)
|
||||
|
||||
|
||||
/datum/radial_menu/proc/extract_image(E)
|
||||
@@ -220,7 +240,7 @@
|
||||
MA.layer = ABOVE_HUD_LAYER
|
||||
MA.appearance_flags |= RESET_TRANSFORM
|
||||
return MA
|
||||
|
||||
|
||||
|
||||
/datum/radial_menu/proc/next_page()
|
||||
if(pages > 1)
|
||||
@@ -243,28 +263,49 @@
|
||||
if(current_user)
|
||||
current_user.images -= menu_holder
|
||||
|
||||
/datum/radial_menu/proc/wait()
|
||||
/datum/radial_menu/proc/wait(atom/user, atom/anchor, require_near = FALSE)
|
||||
while (current_user && !finished && !selected_choice)
|
||||
if(require_near && !in_range(anchor, user))
|
||||
return
|
||||
if(custom_check_callback && next_check < world.time)
|
||||
if(!custom_check_callback.Invoke())
|
||||
return
|
||||
else
|
||||
next_check = world.time + check_delay
|
||||
stoplag(1)
|
||||
|
||||
/datum/radial_menu/Destroy()
|
||||
Reset()
|
||||
hide()
|
||||
QDEL_NULL(custom_check_callback)
|
||||
. = ..()
|
||||
|
||||
/*
|
||||
Presents radial menu to user anchored to anchor (or user if the anchor is currently in users screen)
|
||||
Presents radial menu to user anchored to anchor (or user if the anchor is currently in users screen)
|
||||
Choices should be a list where list keys are movables or text used for element names and return value
|
||||
and list values are movables/icons/images used for element icons
|
||||
*/
|
||||
/proc/show_radial_menu(mob/user,atom/anchor,list/choices)
|
||||
/proc/show_radial_menu(mob/user, atom/anchor, list/choices, uniqueid, radius, datum/callback/custom_check, require_near = FALSE, tooltips = FALSE)
|
||||
if(!user || !anchor || !length(choices))
|
||||
return
|
||||
if(!uniqueid)
|
||||
uniqueid = "defmenu_[REF(user)]_[REF(anchor)]"
|
||||
|
||||
if(GLOB.radial_menus[uniqueid])
|
||||
return
|
||||
|
||||
var/datum/radial_menu/menu = new
|
||||
if(!user)
|
||||
user = usr
|
||||
GLOB.radial_menus[uniqueid] = menu
|
||||
if(radius)
|
||||
menu.radius = radius
|
||||
if(istype(custom_check))
|
||||
menu.custom_check_callback = custom_check
|
||||
menu.anchor = anchor
|
||||
menu.check_screen_border(user) //Do what's needed to make it look good near borders or on hud
|
||||
menu.set_choices(choices)
|
||||
menu.set_choices(choices, tooltips)
|
||||
menu.show_to(user)
|
||||
menu.wait()
|
||||
menu.wait(user, anchor, require_near)
|
||||
var/answer = menu.selected_choice
|
||||
qdel(menu)
|
||||
GLOB.radial_menus -= uniqueid
|
||||
return answer
|
||||
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
A derivative of radial menu which persists onscreen until closed and invokes a callback each time an element is clicked
|
||||
*/
|
||||
|
||||
/obj/screen/radial/persistent/center
|
||||
name = "Close Menu"
|
||||
icon_state = "radial_center"
|
||||
|
||||
/obj/screen/radial/persistent/center/Click(location, control, params)
|
||||
if(usr.client == parent.current_user)
|
||||
parent.element_chosen(null,usr)
|
||||
|
||||
/obj/screen/radial/persistent/center/MouseEntered(location, control, params)
|
||||
. = ..()
|
||||
icon_state = "radial_center_focus"
|
||||
|
||||
/obj/screen/radial/persistent/center/MouseExited(location, control, params)
|
||||
. = ..()
|
||||
icon_state = "radial_center"
|
||||
|
||||
|
||||
|
||||
/datum/radial_menu/persistent
|
||||
var/uniqueid
|
||||
var/datum/callback/select_proc_callback
|
||||
|
||||
/datum/radial_menu/persistent/New()
|
||||
close_button = new /obj/screen/radial/persistent/center
|
||||
close_button.parent = src
|
||||
|
||||
|
||||
/datum/radial_menu/persistent/element_chosen(choice_id,mob/user)
|
||||
select_proc_callback.Invoke(choices_values[choice_id])
|
||||
|
||||
|
||||
/datum/radial_menu/persistent/proc/change_choices(list/newchoices, tooltips)
|
||||
if(!newchoices.len)
|
||||
return
|
||||
Reset()
|
||||
set_choices(newchoices,tooltips)
|
||||
|
||||
/datum/radial_menu/persistent/Destroy()
|
||||
QDEL_NULL(select_proc_callback)
|
||||
GLOB.radial_menus -= uniqueid
|
||||
Reset()
|
||||
hide()
|
||||
. = ..()
|
||||
|
||||
/*
|
||||
Creates a persistent radial menu and shows it to the user, anchored to anchor (or user if the anchor is currently in users screen).
|
||||
Choices should be a list where list keys are movables or text used for element names and return value
|
||||
and list values are movables/icons/images used for element icons
|
||||
Select_proc is the proc to be called each time an element on the menu is clicked, and should accept the chosen element as its final argument
|
||||
Clicking the center button will return a choice of null
|
||||
*/
|
||||
/proc/show_radial_menu_persistent(mob/user, atom/anchor, list/choices, datum/callback/select_proc, uniqueid, radius, tooltips = FALSE)
|
||||
if(!user || !anchor || !length(choices) || !select_proc)
|
||||
return
|
||||
if(!uniqueid)
|
||||
uniqueid = "defmenu_[REF(user)]_[REF(anchor)]"
|
||||
|
||||
if(GLOB.radial_menus[uniqueid])
|
||||
return
|
||||
|
||||
var/datum/radial_menu/persistent/menu = new
|
||||
menu.uniqueid = uniqueid
|
||||
GLOB.radial_menus[uniqueid] = menu
|
||||
if(radius)
|
||||
menu.radius = radius
|
||||
menu.select_proc_callback = select_proc
|
||||
menu.anchor = anchor
|
||||
menu.check_screen_border(user) //Do what's needed to make it look good near borders or on hud
|
||||
menu.set_choices(choices, tooltips)
|
||||
menu.show_to(user)
|
||||
return menu
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
to_chat(user, "<span class='warning'>You're too exhausted.</span>") // CIT CHANGE - ditto
|
||||
return // CIT CHANGE - ditto
|
||||
|
||||
if(force && user.has_trait(TRAIT_PACIFISM))
|
||||
if(force && HAS_TRAIT(user, TRAIT_PACIFISM))
|
||||
to_chat(user, "<span class='warning'>You don't want to harm other living beings!</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -360,3 +360,7 @@
|
||||
min_val = 0
|
||||
|
||||
/datum/config_entry/flag/disable_stambuffer
|
||||
|
||||
/datum/config_entry/number/auto_transfer_delay
|
||||
config_entry_value = 72000
|
||||
min_val = 0
|
||||
|
||||
@@ -32,8 +32,11 @@ SUBSYSTEM_DEF(input)
|
||||
"default" = list(
|
||||
"Tab" = "\".winset \\\"input.focus=true?map.focus=true input.background-color=[COLOR_INPUT_DISABLED]:input.focus=true input.background-color=[COLOR_INPUT_ENABLED]\\\"\"",
|
||||
"O" = "ooc",
|
||||
"Ctrl+O" = "looc",
|
||||
"T" = "say",
|
||||
"Ctrl+T" = "whisper",
|
||||
"M" = "me",
|
||||
"Ctrl+M" = "subtle",
|
||||
"Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"", // This makes it so backspace can remove default inputs
|
||||
"Any" = "\"KeyDown \[\[*\]\]\"",
|
||||
"Any+UP" = "\"KeyUp \[\[*\]\]\"",
|
||||
|
||||
@@ -50,17 +50,20 @@ PROCESSING_SUBSYSTEM_DEF(circuit)
|
||||
/obj/item/electronic_assembly/simple,
|
||||
/obj/item/electronic_assembly/hook,
|
||||
/obj/item/electronic_assembly/pda,
|
||||
/obj/item/electronic_assembly/dildo,
|
||||
/obj/item/electronic_assembly/small/default,
|
||||
/obj/item/electronic_assembly/small/cylinder,
|
||||
/obj/item/electronic_assembly/small/scanner,
|
||||
/obj/item/electronic_assembly/small/hook,
|
||||
/obj/item/electronic_assembly/small/box,
|
||||
/obj/item/electronic_assembly/small/dildo,
|
||||
/obj/item/electronic_assembly/medium/default,
|
||||
/obj/item/electronic_assembly/medium/box,
|
||||
/obj/item/electronic_assembly/medium/clam,
|
||||
/obj/item/electronic_assembly/medium/medical,
|
||||
/obj/item/electronic_assembly/medium/gun,
|
||||
/obj/item/electronic_assembly/medium/radio,
|
||||
/obj/item/electronic_assembly/medium/dildo,
|
||||
/obj/item/electronic_assembly/large/default,
|
||||
/obj/item/electronic_assembly/large/scope,
|
||||
/obj/item/electronic_assembly/large/terminal,
|
||||
@@ -89,4 +92,4 @@ PROCESSING_SUBSYSTEM_DEF(circuit)
|
||||
/obj/item/card/data/full_color,
|
||||
/obj/item/card/data/disk
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -76,6 +76,7 @@ SUBSYSTEM_DEF(shuttle)
|
||||
if(!supply)
|
||||
WARNING("No /obj/docking_port/mobile/supply placed on the map!")
|
||||
realtimeofstart = world.realtime
|
||||
auto_call = CONFIG_GET(number/auto_transfer_delay)
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/shuttle/proc/initial_load()
|
||||
|
||||
@@ -116,7 +116,7 @@ SUBSYSTEM_DEF(throwing)
|
||||
return
|
||||
|
||||
dist_travelled++
|
||||
|
||||
|
||||
if (dist_travelled > MAX_THROWING_DIST)
|
||||
finalize()
|
||||
return
|
||||
@@ -154,7 +154,7 @@ SUBSYSTEM_DEF(throwing)
|
||||
/datum/thrownthing/proc/hitcheck()
|
||||
for (var/thing in get_turf(thrownthing))
|
||||
var/atom/movable/AM = thing
|
||||
if (AM == thrownthing)
|
||||
if (AM == thrownthing || (AM == thrower && !ismob(thrownthing)))
|
||||
continue
|
||||
if (AM.density && !(AM.pass_flags & LETPASSTHROW) && !(AM.flags_1 & ON_BORDER_1))
|
||||
finalize(hit=TRUE, target=AM)
|
||||
|
||||
@@ -564,6 +564,9 @@ SUBSYSTEM_DEF(ticker)
|
||||
|
||||
if(news_message)
|
||||
send2otherserver(news_source, news_message,"News_Report")
|
||||
return news_message
|
||||
else
|
||||
return "We regret to inform you that shit be whack, yo. None of our reporters have any idea of what may or may not have gone on."
|
||||
|
||||
/datum/controller/subsystem/ticker/proc/GetTimeLeft()
|
||||
if(isnull(SSticker.timeLeft))
|
||||
|
||||
@@ -14,7 +14,8 @@ SUBSYSTEM_DEF(traumas)
|
||||
//phobia types is to pull from randomly for brain traumas, e.g. conspiracies is for special assignment only
|
||||
phobia_types = list("spiders", "space", "security", "clowns", "greytide", "lizards",
|
||||
"skeletons", "snakes", "robots", "doctors", "authority", "the supernatural",
|
||||
"aliens", "strangers", "birds", "falling", "anime", "mimes", "cats"
|
||||
"aliens", "strangers", "birds", "falling", "anime", "mimes", "cats", "syndicate",
|
||||
"eye"
|
||||
)
|
||||
|
||||
phobia_words = list("spiders" = strings(PHOBIA_FILE, "spiders"),
|
||||
@@ -36,7 +37,9 @@ SUBSYSTEM_DEF(traumas)
|
||||
"falling" = strings(PHOBIA_FILE, "falling"),
|
||||
"anime" = strings(PHOBIA_FILE, "anime"),
|
||||
"mimes" = strings(PHOBIA_FILE, "mimes"),
|
||||
"cats" = strings(PHOBIA_FILE, "cats")
|
||||
"cats" = strings(PHOBIA_FILE, "cats"),
|
||||
"syndicate"= strings(PHOBIA_FILE, "syndicate"),
|
||||
"eye" = strings(PHOBIA_FILE, "eye")
|
||||
)
|
||||
|
||||
phobia_mobs = list("spiders" = typecacheof(list(/mob/living/simple_animal/hostile/poison/giant_spider)),
|
||||
@@ -56,7 +59,9 @@ SUBSYSTEM_DEF(traumas)
|
||||
"birds" = typecacheof(list(/mob/living/simple_animal/parrot, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken,
|
||||
/mob/living/simple_animal/pet/penguin)),
|
||||
"anime" = typecacheof(list(/mob/living/simple_animal/hostile/guardian)),
|
||||
"cats"= typecacheof(list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/pet/cat, /mob/living/simple_animal/hostile/cat_butcherer))
|
||||
"cats"= typecacheof(list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/pet/cat, /mob/living/simple_animal/hostile/cat_butcherer)),
|
||||
"syndicate" = typecacheof(list(/mob/living/simple_animal/hostile/syndicate, /mob/living/simple_animal/hostile/viscerator, /mob/living/simple_animal/hostile/carp/cayenne, /mob/living/silicon/robot/modules/syndicate)),
|
||||
"eye" = typecacheof(list(/mob/living/simple_animal/hostile/asteroid/basilisk/watcher, /mob/living/simple_animal/hostile/carp/eyeball))
|
||||
)
|
||||
|
||||
|
||||
@@ -157,7 +162,23 @@ SUBSYSTEM_DEF(traumas)
|
||||
/obj/item/clothing/under/sexymime, /obj/item/toy/figure/mime, /obj/item/toy/crayon/mime, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced, /obj/mecha/combat/reticence)),
|
||||
|
||||
"cats" = typecacheof(list(/obj/item/organ/ears/cat, /obj/item/organ/tail/cat, /obj/item/laser_pointer, /obj/item/toy/cattoy, /obj/item/clothing/head/kitty,
|
||||
/obj/item/clothing/head/collectable/kitty, /obj/item/melee/chainofcommand/tailwhip/kitty, /obj/item/stack/sheet/animalhide/cat))
|
||||
/obj/item/clothing/head/collectable/kitty, /obj/item/melee/chainofcommand/tailwhip/kitty, /obj/item/stack/sheet/animalhide/cat)),
|
||||
|
||||
"syndicate" = typecacheof(list(/obj/item/stack/tile/mineral/plastitanium, /obj/machinery/computer/shuttle/syndicate, /obj/machinery/computer/shuttle/syndicate/recall, /obj/machinery/computer/shuttle/syndicate/drop_pod, /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate, /obj/machinery/recharge_station,
|
||||
/obj/machinery/porta_turret/syndicate, /obj/structure/closet/syndicate, /obj/machinery/suit_storage_unit/syndicate, /obj/item/clothing/under/syndicate, /obj/item/folder/syndicate, /obj/item/documents/syndicate, /obj/item/clothing/glasses/phantomthief/syndicate, /obj/item/antag_spawner/nuke_ops, /obj/item/storage/box/syndicate,
|
||||
/obj/structure/fluff/empty_sleeper/syndicate, /obj/item/implant/radio/syndicate, /obj/item/clothing/head/helmet/space/syndicate, /obj/machinery/nuclearbomb/syndicate, /obj/item/grenade/syndieminibomb, /obj/item/storage/backpack/duffelbag/syndie, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver/syndie,
|
||||
/obj/item/gun/ballistic/automatic/shotgun/bulldog, /obj/item/gun/ballistic/automatic/c20r, /obj/item/gun/ballistic/automatic/m90, /obj/item/gun/ballistic/automatic/l6_saw, /obj/item/storage/belt/grenade/full, /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate, /obj/item/gun/energy/kinetic_accelerator/crossbow,
|
||||
/obj/item/melee/transforming/energy/sword/saber, /obj/item/twohanded/dualsaber, /obj/item/melee/powerfist, /obj/item/storage/box/syndie_kit, /obj/item/grenade/spawnergrenade/manhacks, /obj/item/grenade/chem_grenade/bioterrorfoam, /obj/item/reagent_containers/spray/chemsprayer/bioterror, /obj/item/ammo_box/magazine/m10mm,
|
||||
/obj/item/ammo_box/magazine/pistolm9mm, /obj/item/ammo_box/a357, /obj/item/ammo_box/magazine/m12g, /obj/item/ammo_box/magazine/mm195x129, /obj/item/antag_spawner/nuke_ops, /obj/mecha/combat/gygax/dark, /obj/mecha/combat/marauder/mauler, /obj/item/soap/syndie, /obj/item/gun/syringe/syndicate, /obj/item/cartridge/virus/syndicate,
|
||||
/obj/item/cartridge/virus/frame, /obj/item/chameleon, /obj/item/storage/box/syndie_kit/cutouts, /obj/item/clothing/suit/space/hardsuit/syndi, /obj/item/card/emag, /obj/item/storage/toolbox/syndicate, /obj/item/storage/book/bible/syndicate, /obj/item/encryptionkey/binary, /obj/item/encryptionkey/syndicate, /obj/item/aiModule/syndicate,
|
||||
/obj/item/clothing/shoes/magboots/syndie, /obj/item/powersink, /obj/item/sbeacondrop, /obj/item/sbeacondrop/bomb, /obj/item/syndicatedetonator, /obj/item/shield/energy, /obj/item/assault_pod, /obj/item/slimepotion/slime/sentience/nuclear, /obj/item/stack/telecrystal, /obj/item/jammer, /obj/item/codespeak_manual/unlimited,
|
||||
/obj/item/toy/cards/deck/syndicate, /obj/item/storage/secure/briefcase/syndie, /obj/item/storage/fancy/cigarettes/cigpack_syndicate, /obj/item/toy/syndicateballoon, /obj/item/clothing/gloves/rapid, /obj/item/paper/fluff/ruins/thederelict/syndie_mission, /obj/item/organ/cyberimp/eyes/hud/security/syndicate, /obj/item/clothing/head/HoS/syndicate,
|
||||
/obj/machinery/computer/pod/old/syndicate, /obj/machinery/vending/medical/syndicate_access, /obj/item/mmi/syndie, /obj/item/target/syndicate, /obj/machinery/vending/cigarette/syndicate, /obj/item/robot_module/syndicate, /obj/item/clothing/mask/gas/syndicate, /obj/machinery/power/singularity_beacon/syndicate, /obj/item/clothing/head/syndicatefake,
|
||||
/obj/item/radio/headset/syndicate, /obj/item/gun/ballistic/automatic/pistol/antitank/syndicate, /obj/item/pda/syndicate, /obj/item/clothing/suit/armor/vest/capcarapace/syndicate, /obj/item/gun/ballistic/automatic/flechette, /obj/item/ammo_box/magazine/flechette, /obj/item/clothing/suit/toggle/lawyer/black/syndie, /obj/item/melee/transforming/energy/sword/cx/traitor,
|
||||
/obj/structure/sign/poster/contraband/syndicate_pistol, /obj/structure/sign/poster/contraband/syndicate_recruitment, /obj/item/bedsheet/syndie, /obj/item/borg/upgrade/syndicate, /obj/item/tank/jetpack/oxygen/harness, /obj/item/firing_pin/implant/pindicate, /obj/item/reagent_containers/glass/bottle/traitor, /obj/item/storage/belt/military,
|
||||
/obj/item/twohanded/shockpaddles/syndicate, /obj/item/clothing/mask/cigarette/syndicate, /obj/item/toy/plush/nukeplushie)),
|
||||
|
||||
"eye" = typecacheof(list(/obj/item/organ/eyes, /obj/item/reagent_containers/syringe))
|
||||
)
|
||||
|
||||
phobia_turfs = list("space" = typecacheof(list(/turf/open/space, /turf/open/floor/holofloor/space, /turf/open/floor/fakespace)),
|
||||
@@ -165,18 +186,19 @@ SUBSYSTEM_DEF(traumas)
|
||||
/turf/open/floor/plasteel/cult, /turf/closed/wall/mineral/cult)),
|
||||
"aliens" = typecacheof(list(/turf/open/floor/plating/abductor, /turf/open/floor/plating/abductor2,
|
||||
/turf/open/floor/mineral/abductor, /turf/closed/wall/mineral/abductor)),
|
||||
"falling" = typecacheof(list(/turf/open/chasm, /turf/open/floor/fakepit))
|
||||
"falling" = typecacheof(list(/turf/open/chasm, /turf/open/floor/fakepit)),
|
||||
"syndicate" = typecacheof(list(/turf/closed/wall/mineral/plastitanium, /turf/open/floor/mineral/plastitanium, /turf/open/floor/plasteel/shuttle/red/syndicate))
|
||||
)
|
||||
|
||||
phobia_species = list("lizards" = typecacheof(list(/datum/species/lizard)),
|
||||
"skeletons" = typecacheof(list(/datum/species/skeleton, /datum/species/plasmaman)),
|
||||
"conspiracies" = typecacheof(list(/datum/species/abductor, /datum/species/lizard, /datum/species/synth)),
|
||||
"robots" = typecacheof(list(/datum/species/android)),
|
||||
"conspiracies" = typecacheof(list(/datum/species/abductor, /datum/species/lizard, /datum/species/synth, /datum/species/corporate)),
|
||||
"robots" = typecacheof(list(/datum/species/android, /datum/species/synth)),
|
||||
"the supernatural" = typecacheof(list(/datum/species/golem/clockwork, /datum/species/golem/runic)),
|
||||
"aliens" = typecacheof(list(/datum/species/abductor, /datum/species/jelly, /datum/species/pod,
|
||||
/datum/species/shadow)),
|
||||
"aliens" = typecacheof(list(/datum/species/abductor, /datum/species/jelly, /datum/species/pod, /datum/species/shadow)),
|
||||
"anime" = typecacheof(list(/datum/species/human/felinid)),
|
||||
"cats" = typecacheof(list(/datum/species/human/felinid))
|
||||
"cats" = typecacheof(list(/datum/species/human/felinid)),
|
||||
"syndicate" = typecacheof(list(/datum/species/corporate, /datum/species/zombie/infectious))
|
||||
)
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -228,6 +228,7 @@ SUBSYSTEM_DEF(vote)
|
||||
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(vp)] to vote.</font>")
|
||||
time_remaining = round(vp/10)
|
||||
for(var/c in GLOB.clients)
|
||||
SEND_SOUND(c, sound('sound/misc/server-ready.ogg'))
|
||||
var/client/C = c
|
||||
var/datum/action/vote/V = new
|
||||
if(question)
|
||||
|
||||
@@ -195,11 +195,16 @@
|
||||
/datum/action/item_action/toggle_firemode
|
||||
name = "Toggle Firemode"
|
||||
|
||||
/datum/action/item_action/rcl
|
||||
/datum/action/item_action/rcl_col
|
||||
name = "Change Cable Color"
|
||||
icon_icon = 'icons/mob/actions/actions_items.dmi'
|
||||
button_icon_state = "rcl_rainbow"
|
||||
|
||||
/datum/action/item_action/rcl_gui
|
||||
name = "Toggle Fast Wiring Gui"
|
||||
icon_icon = 'icons/mob/actions/actions_items.dmi'
|
||||
button_icon_state = "rcl_gui"
|
||||
|
||||
/datum/action/item_action/startchainsaw
|
||||
name = "Pull The Starting Cord"
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
lose_text = "<span class='notice'>You feel smart again.</span>"
|
||||
|
||||
/datum/brain_trauma/mild/dumbness/on_gain()
|
||||
owner.add_trait(TRAIT_DUMB, TRAUMA_TRAIT)
|
||||
ADD_TRAIT(owner, TRAIT_DUMB, TRAUMA_TRAIT)
|
||||
SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "dumb", /datum/mood_event/oblivious)
|
||||
..()
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
..()
|
||||
|
||||
/datum/brain_trauma/mild/dumbness/on_lose()
|
||||
owner.remove_trait(TRAIT_DUMB, TRAUMA_TRAIT)
|
||||
REMOVE_TRAIT(owner, TRAIT_DUMB, TRAUMA_TRAIT)
|
||||
owner.derpspeech = 0
|
||||
SEND_SIGNAL(owner, COMSIG_CLEAR_MOOD_EVENT, "dumb")
|
||||
..()
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
lose_text = "<span class='notice'>You suddenly remember how to speak.</span>"
|
||||
|
||||
/datum/brain_trauma/severe/mute/on_gain()
|
||||
owner.add_trait(TRAIT_MUTE, TRAUMA_TRAIT)
|
||||
ADD_TRAIT(owner, TRAIT_MUTE, TRAUMA_TRAIT)
|
||||
..()
|
||||
|
||||
/datum/brain_trauma/severe/mute/on_lose()
|
||||
owner.remove_trait(TRAIT_MUTE, TRAUMA_TRAIT)
|
||||
REMOVE_TRAIT(owner, TRAIT_MUTE, TRAUMA_TRAIT)
|
||||
..()
|
||||
|
||||
/datum/brain_trauma/severe/aphasia
|
||||
@@ -121,7 +121,7 @@
|
||||
stress -= 4
|
||||
|
||||
/datum/brain_trauma/severe/monophobia/proc/check_alone()
|
||||
if(owner.has_trait(TRAIT_BLIND))
|
||||
if(HAS_TRAIT(owner, TRAIT_BLIND))
|
||||
return TRUE
|
||||
for(var/mob/M in oview(owner, 7))
|
||||
if(!isliving(M)) //ghosts ain't people
|
||||
@@ -183,11 +183,11 @@
|
||||
lose_text = "<span class='notice'>You feel in control of your hands again.</span>"
|
||||
|
||||
/datum/brain_trauma/severe/discoordination/on_gain()
|
||||
owner.add_trait(TRAIT_MONKEYLIKE, TRAUMA_TRAIT)
|
||||
ADD_TRAIT(owner, TRAIT_MONKEYLIKE, TRAUMA_TRAIT)
|
||||
..()
|
||||
|
||||
/datum/brain_trauma/severe/discoordination/on_lose()
|
||||
owner.remove_trait(TRAIT_MONKEYLIKE, TRAUMA_TRAIT)
|
||||
REMOVE_TRAIT(owner, TRAIT_MONKEYLIKE, TRAUMA_TRAIT)
|
||||
..()
|
||||
|
||||
/datum/brain_trauma/severe/pacifism
|
||||
@@ -198,9 +198,9 @@
|
||||
lose_text = "<span class='notice'>You no longer feel compelled to not harm.</span>"
|
||||
|
||||
/datum/brain_trauma/severe/pacifism/on_gain()
|
||||
owner.add_trait(TRAIT_PACIFISM, TRAUMA_TRAIT)
|
||||
ADD_TRAIT(owner, TRAIT_PACIFISM, TRAUMA_TRAIT)
|
||||
..()
|
||||
|
||||
/datum/brain_trauma/severe/pacifism/on_lose()
|
||||
owner.remove_trait(TRAIT_PACIFISM, TRAUMA_TRAIT)
|
||||
REMOVE_TRAIT(owner, TRAIT_PACIFISM, TRAUMA_TRAIT)
|
||||
..()
|
||||
@@ -192,7 +192,7 @@
|
||||
return //no random switching
|
||||
|
||||
/datum/brain_trauma/severe/split_personality/brainwashing/on_hear(message, speaker, message_language, raw_message, radio_freq)
|
||||
if(owner.has_trait(TRAIT_DEAF) || owner == speaker)
|
||||
if(HAS_TRAIT(owner, TRAIT_DEAF) || owner == speaker)
|
||||
return message
|
||||
if(findtext(message, codeword))
|
||||
message = replacetext(message, codeword, "<span class='warning'>[codeword]</span>")
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
if(ishuman(AM))
|
||||
var/mob/living/carbon/human/H = AM
|
||||
if(H.has_trait(TRAIT_PIERCEIMMUNE))
|
||||
if(HAS_TRAIT(H, TRAIT_PIERCEIMMUNE))
|
||||
return
|
||||
|
||||
if((flags & CALTROP_IGNORE_WALKERS) && H.m_intent == MOVE_INTENT_WALK)
|
||||
@@ -46,7 +46,7 @@
|
||||
return
|
||||
|
||||
var/damage = rand(min_damage, max_damage)
|
||||
if(H.has_trait(TRAIT_LIGHT_STEP))
|
||||
if(HAS_TRAIT(H, TRAIT_LIGHT_STEP))
|
||||
damage *= 0.75
|
||||
H.apply_damage(damage, BRUTE, picked_def_zone)
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
if (!wearer)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
return
|
||||
if(!wearer.has_trait(TRAIT_DEAF))
|
||||
if(!HAS_TRAIT(wearer, TRAIT_DEAF))
|
||||
var/obj/item/organ/ears/ears = wearer.getorganslot(ORGAN_SLOT_EARS)
|
||||
if (ears)
|
||||
ears.deaf = max(ears.deaf - 1, (ears.ear_damage < UNHEALING_EAR_DAMAGE ? 0 : 1)) // Do not clear deafness while above the unhealing ear damage threshold
|
||||
|
||||
@@ -1,39 +1,105 @@
|
||||
/datum/component/footstep
|
||||
var/steps = 0
|
||||
var/volume
|
||||
var/e_range
|
||||
|
||||
/datum/component/footstep/Initialize(volume_ = 0.5, e_range_ = -1)
|
||||
if(!isliving(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
volume = volume_
|
||||
e_range = e_range_
|
||||
RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), .proc/play_footstep)
|
||||
|
||||
/datum/component/footstep/proc/play_footstep()
|
||||
var/turf/open/T = get_turf(parent)
|
||||
if(!istype(T))
|
||||
return
|
||||
var/mob/living/LM = parent
|
||||
var/v = volume
|
||||
var/e = e_range
|
||||
if(!T.footstep || LM.lying || !LM.canmove || LM.resting || LM.buckled || LM.throwing || LM.movement_type & (VENTCRAWLING | FLYING))
|
||||
return
|
||||
if(iscarbon(LM))
|
||||
var/mob/living/carbon/C = LM
|
||||
if(!C.get_bodypart(BODY_ZONE_L_LEG) && !C.get_bodypart(BODY_ZONE_R_LEG))
|
||||
return
|
||||
if(ishuman(C) && C.m_intent == MOVE_INTENT_WALK)
|
||||
v /= 2
|
||||
e -= 5
|
||||
steps++
|
||||
if(steps >= 3)
|
||||
steps = 0
|
||||
else
|
||||
return
|
||||
if(prob(80) && !LM.has_gravity(T)) // don't need to step as often when you hop around
|
||||
return
|
||||
playsound(T, pick(GLOB.footstep[T.footstep][1]),
|
||||
GLOB.footstep[T.footstep][2] * v,
|
||||
TRUE,
|
||||
GLOB.footstep[T.footstep][3] + e)
|
||||
/datum/component/footstep
|
||||
var/steps = 0
|
||||
var/volume
|
||||
var/e_range
|
||||
|
||||
/datum/component/footstep/Initialize(volume_ = 0.5, e_range_ = -1)
|
||||
if(!isliving(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
volume = volume_
|
||||
e_range = e_range_
|
||||
RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), .proc/play_footstep)
|
||||
|
||||
/datum/component/footstep/proc/play_footstep()
|
||||
var/turf/open/T = get_turf(parent)
|
||||
if(!istype(T))
|
||||
return
|
||||
|
||||
var/mob/living/LM = parent
|
||||
var/v = volume
|
||||
var/e = e_range
|
||||
if(!T.footstep || LM.buckled || LM.lying || !LM.canmove || LM.resting || LM.buckled || LM.throwing || LM.movement_type & (VENTCRAWLING | FLYING))
|
||||
if (LM.lying && !(!T.footstep || LM.movement_type & (VENTCRAWLING | FLYING))) //play crawling sound if we're lying
|
||||
playsound(T, 'sound/effects/footstep/crawl1.ogg', 15 * v)
|
||||
return
|
||||
|
||||
if(iscarbon(LM))
|
||||
var/mob/living/carbon/C = LM
|
||||
if(!C.get_bodypart(BODY_ZONE_L_LEG) && !C.get_bodypart(BODY_ZONE_R_LEG))
|
||||
return
|
||||
if(ishuman(C) && C.m_intent == MOVE_INTENT_WALK)
|
||||
v /= 2
|
||||
e -= 5
|
||||
steps++
|
||||
|
||||
if(steps >= 3)
|
||||
steps = 0
|
||||
|
||||
else
|
||||
return
|
||||
|
||||
if(prob(80) && !LM.has_gravity(T)) // don't need to step as often when you hop around
|
||||
return
|
||||
|
||||
//begin playsound shenanigans//
|
||||
|
||||
//for barefooted non-clawed mobs like monkeys
|
||||
if(isbarefoot(LM))
|
||||
playsound(T, pick(GLOB.barefootstep[T.barefootstep][1]),
|
||||
GLOB.barefootstep[T.barefootstep][2] * v,
|
||||
TRUE,
|
||||
GLOB.barefootstep[T.barefootstep][3] + e)
|
||||
return
|
||||
|
||||
//for xenomorphs, dogs, and other clawed mobs
|
||||
if(isclawfoot(LM))
|
||||
if(isalienadult(LM)) //xenos are stealthy and get quieter footsteps
|
||||
v /= 3
|
||||
e -= 5
|
||||
|
||||
playsound(T, pick(GLOB.clawfootstep[T.clawfootstep][1]),
|
||||
GLOB.clawfootstep[T.clawfootstep][2] * v,
|
||||
TRUE,
|
||||
GLOB.clawfootstep[T.clawfootstep][3] + e)
|
||||
return
|
||||
|
||||
//for megafauna and other large and imtimidating mobs such as the bloodminer
|
||||
if(isheavyfoot(LM))
|
||||
playsound(T, pick(GLOB.heavyfootstep[T.heavyfootstep][1]),
|
||||
GLOB.heavyfootstep[T.heavyfootstep][2] * v,
|
||||
TRUE,
|
||||
GLOB.heavyfootstep[T.heavyfootstep][3] + e)
|
||||
return
|
||||
|
||||
//for slimes
|
||||
if(isslime(LM))
|
||||
playsound(T, 'sound/effects/footstep/slime1.ogg', 15 * v)
|
||||
return
|
||||
|
||||
//for (simple) humanoid mobs (clowns, russians, pirates, etc.)
|
||||
if(isshoefoot(LM))
|
||||
if(!ishuman(LM))
|
||||
playsound(T, pick(GLOB.footstep[T.footstep][1]),
|
||||
GLOB.footstep[T.footstep][2] * v,
|
||||
TRUE,
|
||||
GLOB.footstep[T.footstep][3] + e)
|
||||
return
|
||||
if(ishuman(LM)) //for proper humans, they're special
|
||||
var/mob/living/carbon/human/H = LM
|
||||
var/feetCover = (H.wear_suit && (H.wear_suit.body_parts_covered & FEET)) || (H.w_uniform && (H.w_uniform.body_parts_covered & FEET))
|
||||
|
||||
if (H.dna.features["taur"] == "Naga" || H.dna.features["taur"] == "Tentacle") //are we a naga or tentacle taur creature
|
||||
playsound(T, 'sound/effects/footstep/crawl1.ogg', 15 * v)
|
||||
return
|
||||
|
||||
if(H.shoes || feetCover) //are we wearing shoes
|
||||
playsound(T, pick(GLOB.footstep[T.footstep][1]),
|
||||
GLOB.footstep[T.footstep][2] * v,
|
||||
TRUE,
|
||||
GLOB.footstep[T.footstep][3] + e)
|
||||
|
||||
if((!H.shoes && !feetCover)) //are we NOT wearing shoes
|
||||
playsound(T, pick(GLOB.barefootstep[T.barefootstep][1]),
|
||||
GLOB.barefootstep[T.barefootstep][2] * v,
|
||||
TRUE,
|
||||
GLOB.barefootstep[T.barefootstep][3] + e)
|
||||
@@ -15,7 +15,7 @@
|
||||
/datum/component/mood/Initialize()
|
||||
if(!isliving(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
|
||||
|
||||
START_PROCESSING(SSmood, src)
|
||||
|
||||
RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT, .proc/add_event)
|
||||
@@ -150,17 +150,17 @@
|
||||
else
|
||||
owner.crit_threshold -= (holdmyinsanityeffect - insanity_effect)
|
||||
|
||||
if(owner.has_trait(TRAIT_DEPRESSION))
|
||||
if(HAS_TRAIT(owner, TRAIT_DEPRESSION))
|
||||
if(prob(0.05))
|
||||
add_event(null, "depression", /datum/mood_event/depression)
|
||||
clear_event(null, "jolly")
|
||||
if(owner.has_trait(TRAIT_JOLLY))
|
||||
if(HAS_TRAIT(owner, TRAIT_JOLLY))
|
||||
if(prob(0.05))
|
||||
add_event(null, "jolly", /datum/mood_event/jolly)
|
||||
clear_event(null, "depression")
|
||||
|
||||
holdmyinsanityeffect = insanity_effect
|
||||
|
||||
|
||||
HandleNutrition(owner)
|
||||
|
||||
/datum/component/mood/proc/DecreaseSanity(amount, minimum = SANITY_INSANE)
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
/datum/component/storage/concrete
|
||||
var/drop_all_on_deconstruct = TRUE
|
||||
var/drop_all_on_destroy = FALSE
|
||||
var/drop_all_on_break = FALSE
|
||||
var/unlock_on_break = FALSE
|
||||
var/transfer_contents_on_component_transfer = FALSE
|
||||
var/list/datum/component/storage/slaves = list()
|
||||
|
||||
@@ -16,6 +18,7 @@
|
||||
. = ..()
|
||||
RegisterSignal(parent, COMSIG_ATOM_CONTENTS_DEL, .proc/on_contents_del)
|
||||
RegisterSignal(parent, COMSIG_OBJ_DECONSTRUCT, .proc/on_deconstruct)
|
||||
RegisterSignal(parent, COMSIG_OBJ_BREAK, .proc/on_break)
|
||||
|
||||
/datum/component/storage/concrete/Destroy()
|
||||
var/atom/real_location = real_location()
|
||||
@@ -100,6 +103,12 @@
|
||||
if(drop_all_on_deconstruct)
|
||||
do_quick_empty()
|
||||
|
||||
/datum/component/storage/concrete/proc/on_break(datum/source, damage_flag)
|
||||
if(drop_all_on_break)
|
||||
do_quick_empty()
|
||||
if(unlock_on_break)
|
||||
set_locked(source, FALSE)
|
||||
|
||||
/datum/component/storage/concrete/can_see_contents()
|
||||
. = ..()
|
||||
for(var/i in slaves)
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
/datum/component/storage/concrete/emergency
|
||||
drop_all_on_break = TRUE
|
||||
unlock_on_break = TRUE
|
||||
locked = TRUE
|
||||
|
||||
/datum/component/storage/concrete/emergency/Initialize()
|
||||
. = ..()
|
||||
RegisterSignal(parent, COMSIG_ATOM_EMAG_ACT, .proc/unlock_me)
|
||||
|
||||
/datum/component/storage/concrete/emergency/signal_insertion_attempt(datum/source, obj/item/I, mob/M, silent = FALSE, force = FALSE)
|
||||
if(!silent && istype(I, /obj/item/card/emag))
|
||||
silent = TRUE // suppresses the message
|
||||
return ..()
|
||||
|
||||
/datum/component/storage/concrete/check_locked(datum/source, mob/user, message = FALSE)
|
||||
. = locked && GLOB.security_level < SEC_LEVEL_RED
|
||||
if(message && . && user)
|
||||
to_chat(user, "The storage unit will only unlock during a Red or Delta security alert.")
|
||||
|
||||
/datum/component/storage/concrete/emergency/proc/unlock_me(datum/source)
|
||||
if(locked)
|
||||
set_locked(source, FALSE)
|
||||
@@ -19,6 +19,22 @@
|
||||
max_items = 1
|
||||
attack_hand_interact = FALSE
|
||||
|
||||
/datum/component/storage/concrete/pockets/small/collar
|
||||
max_items = 1
|
||||
|
||||
/datum/component/storage/concrete/pockets/small/collar/Initialize()
|
||||
. = ..()
|
||||
can_hold = typecacheof(list(
|
||||
/obj/item/reagent_containers/food/snacks/cookie,
|
||||
/obj/item/reagent_containers/food/snacks/sugarcookie))
|
||||
|
||||
/datum/component/storage/concrete/pockets/small/collar/locked/Initialize()
|
||||
. = ..()
|
||||
can_hold = typecacheof(list(
|
||||
/obj/item/reagent_containers/food/snacks/cookie,
|
||||
/obj/item/reagent_containers/food/snacks/sugarcookie,
|
||||
/obj/item/key/collar))
|
||||
|
||||
/datum/component/storage/concrete/pockets/tiny
|
||||
max_items = 1
|
||||
max_w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
@@ -156,8 +156,7 @@
|
||||
next += slave.parent
|
||||
|
||||
/datum/component/storage/proc/attack_self(datum/source, mob/M)
|
||||
if(locked)
|
||||
to_chat(M, "<span class='warning'>[parent] seems to be locked!</span>")
|
||||
if(check_locked(source, M, TRUE))
|
||||
return FALSE
|
||||
if((M.get_active_held_item() == parent) && allow_quick_empty)
|
||||
quick_empty(M)
|
||||
@@ -166,8 +165,7 @@
|
||||
if(!isitem(O) || !click_gather || SEND_SIGNAL(O, COMSIG_CONTAINS_STORAGE))
|
||||
return FALSE
|
||||
. = COMPONENT_NO_ATTACK
|
||||
if(locked)
|
||||
to_chat(M, "<span class='warning'>[parent] seems to be locked!</span>")
|
||||
if(check_locked(source, M, TRUE))
|
||||
return FALSE
|
||||
var/atom/A = parent
|
||||
var/obj/item/I = O
|
||||
@@ -238,8 +236,7 @@
|
||||
var/atom/A = parent
|
||||
if((!ishuman(M) && (A.loc != M)) || (M.stat != CONSCIOUS) || M.restrained() || !M.canmove)
|
||||
return
|
||||
if(locked)
|
||||
to_chat(M, "<span class='warning'>[parent] seems to be locked!</span>")
|
||||
if(check_locked(null, M, TRUE))
|
||||
return FALSE
|
||||
A.add_fingerprint(M)
|
||||
to_chat(M, "<span class='notice'>You start dumping out [parent].</span>")
|
||||
@@ -281,7 +278,7 @@
|
||||
|
||||
/datum/component/storage/proc/set_locked(datum/source, new_state)
|
||||
locked = new_state
|
||||
if(locked)
|
||||
if(check_locked())
|
||||
close_all()
|
||||
|
||||
/datum/component/storage/proc/_process_numerical_display()
|
||||
@@ -456,8 +453,7 @@
|
||||
var/atom/A = parent
|
||||
var/atom/dump_destination = dest_object.get_dumping_location()
|
||||
if(A.Adjacent(M) && dump_destination && M.Adjacent(dump_destination))
|
||||
if(locked)
|
||||
to_chat(M, "<span class='warning'>[parent] seems to be locked!</span>")
|
||||
if(check_locked(null, M, TRUE))
|
||||
return FALSE
|
||||
if(dump_destination.storage_contents_dump_act(src, M))
|
||||
playsound(A, "rustle", 50, 1, -5)
|
||||
@@ -563,10 +559,9 @@
|
||||
var/atom/host = parent
|
||||
if(real_location == I.loc)
|
||||
return FALSE //Means the item is already in the storage item
|
||||
if(locked)
|
||||
if(check_locked(null, M, !stop_messages))
|
||||
if(M && !stop_messages)
|
||||
host.add_fingerprint(M)
|
||||
to_chat(M, "<span class='warning'>[host] seems to be locked!</span>")
|
||||
return FALSE
|
||||
if(real_location.contents.len >= max_items)
|
||||
if(!stop_messages)
|
||||
@@ -659,8 +654,10 @@
|
||||
/datum/component/storage/proc/on_check()
|
||||
return TRUE
|
||||
|
||||
/datum/component/storage/proc/check_locked()
|
||||
return locked
|
||||
/datum/component/storage/proc/check_locked(datum/source, mob/user, message = FALSE)
|
||||
. = locked
|
||||
if(message && . && user)
|
||||
to_chat(user, "<span class='warning'>[parent] seems to be locked!</span>")
|
||||
|
||||
/datum/component/storage/proc/signal_take_type(datum/source, type, atom/destination, amount = INFINITY, check_adjacent = FALSE, force = FALSE, mob/user, list/inserted)
|
||||
if(!force)
|
||||
@@ -720,9 +717,7 @@
|
||||
|
||||
if(A.loc == user)
|
||||
. = COMPONENT_NO_ATTACK_HAND
|
||||
if(locked)
|
||||
to_chat(user, "<span class='warning'>[parent] seems to be locked!</span>")
|
||||
else
|
||||
if(!check_locked(source, user, TRUE))
|
||||
show_to(user)
|
||||
A.do_jiggle()
|
||||
|
||||
@@ -747,8 +742,7 @@
|
||||
/datum/component/storage/proc/on_alt_click(datum/source, mob/user)
|
||||
if(!isliving(user) || !user.CanReach(parent))
|
||||
return
|
||||
if(locked)
|
||||
to_chat(user, "<span class='warning'>[parent] seems to be locked!</span>")
|
||||
if(check_locked(source, user, TRUE))
|
||||
return
|
||||
|
||||
var/atom/A = parent
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
if(!IsAvailable())
|
||||
return
|
||||
var/turf/T = get_turf(target)
|
||||
if(target in view(user.client.view, get_turf(user)))
|
||||
if(target in view(user.client.view, user))
|
||||
var/obj/spot1 = new phaseout(get_turf(user), user.dir)
|
||||
user.forceMove(T)
|
||||
playsound(T, dash_sound, 25, 1)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
var/gc_destroyed //Time when this object was destroyed.
|
||||
var/list/active_timers //for SStimer
|
||||
var/list/datum_components //for /datum/components
|
||||
var/list/status_traits
|
||||
var/list/comp_lookup //it used to be for looking up components which had registered a signal but now anything can register
|
||||
var/list/signal_procs
|
||||
var/signal_enabled = FALSE
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
/mob/living/carbon/AirborneContractDisease(datum/disease/D, force_spread)
|
||||
if(internal)
|
||||
return
|
||||
if(has_trait(TRAIT_NOBREATH))
|
||||
if(HAS_TRAIT(src, TRAIT_NOBREATH))
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
|
||||
/mob/living/carbon/human/CanContractDisease(datum/disease/D)
|
||||
if(dna)
|
||||
if(has_trait(TRAIT_VIRUSIMMUNE) && !D.bypasses_immunity)
|
||||
if(HAS_TRAIT(src, TRAIT_VIRUSIMMUNE) && !D.bypasses_immunity)
|
||||
return FALSE
|
||||
|
||||
for(var/thing in D.required_organs)
|
||||
|
||||
@@ -233,7 +233,7 @@
|
||||
|
||||
/datum/symptom/heal/coma/CanHeal(datum/disease/advance/A)
|
||||
var/mob/living/M = A.affected_mob
|
||||
if(M.has_trait(TRAIT_DEATHCOMA))
|
||||
if(HAS_TRAIT(M, TRAIT_DEATHCOMA))
|
||||
return power
|
||||
else if(M.IsUnconscious() || M.stat == UNCONSCIOUS)
|
||||
return power * 0.9
|
||||
@@ -364,15 +364,15 @@
|
||||
/datum/symptom/heal/plasma/CanHeal(datum/disease/advance/A)
|
||||
var/mob/living/M = A.affected_mob
|
||||
var/datum/gas_mixture/environment
|
||||
var/list/gases
|
||||
var/plasmamount
|
||||
|
||||
. = 0
|
||||
|
||||
if(M.loc)
|
||||
environment = M.loc.return_air()
|
||||
if(environment)
|
||||
gases = environment.gases
|
||||
if(gases["plasma"] && gases["plasma"][MOLES] > gases["plasma"][GAS_META][META_GAS_MOLES_VISIBLE]) //if there's enough plasma in the air to see
|
||||
plasmamount = environment.gases[/datum/gas/plasma]
|
||||
if(plasmamount && plasmamount > GLOB.meta_gas_visibility[/datum/gas/plasma]) //if there's enough plasma in the air to see
|
||||
. += power * 0.5
|
||||
if(M.reagents.has_reagent("plasma"))
|
||||
. += power * 0.75
|
||||
|
||||
@@ -85,14 +85,14 @@
|
||||
if(4, 5)
|
||||
M.restoreEars()
|
||||
|
||||
if(M.has_trait(TRAIT_BLIND, EYE_DAMAGE))
|
||||
if(HAS_TRAIT_FROM(M, TRAIT_BLIND, EYE_DAMAGE))
|
||||
if(prob(20))
|
||||
to_chat(M, "<span class='notice'>Your vision slowly returns...</span>")
|
||||
M.cure_blind(EYE_DAMAGE)
|
||||
M.cure_nearsighted(EYE_DAMAGE)
|
||||
M.blur_eyes(35)
|
||||
|
||||
else if(M.has_trait(TRAIT_NEARSIGHT, EYE_DAMAGE))
|
||||
else if(HAS_TRAIT_FROM(M, TRAIT_NEARSIGHT, EYE_DAMAGE))
|
||||
to_chat(M, "<span class='notice'>You can finally focus your eyes on distant objects.</span>")
|
||||
M.cure_nearsighted(EYE_DAMAGE)
|
||||
M.blur_eyes(10)
|
||||
|
||||
@@ -61,7 +61,7 @@ Bonus
|
||||
M.become_nearsighted(EYE_DAMAGE)
|
||||
if(prob(eyes.eye_damage - 10 + 1))
|
||||
if(!remove_eyes)
|
||||
if(!M.has_trait(TRAIT_BLIND))
|
||||
if(!HAS_TRAIT(M, TRAIT_BLIND))
|
||||
to_chat(M, "<span class='userdanger'>You go blind!</span>")
|
||||
M.become_blind(EYE_DAMAGE)
|
||||
else
|
||||
|
||||
@@ -57,8 +57,8 @@
|
||||
if(H.stat == CONSCIOUS)
|
||||
H.visible_message("<span class='userdanger'>[H] clutches at [H.p_their()] chest as if [H.p_their()] heart is stopping!</span>")
|
||||
H.adjustStaminaLoss(60)
|
||||
H.reagents.add_reagent("corazone", 3) // To give the victim a final chance to shock their heart before losing consciousness
|
||||
H.set_heartattack(TRUE)
|
||||
H.reagents.add_reagent("corazone", 3) // To give the victim a final chance to shock their heart before losing consciousness
|
||||
cure()
|
||||
|
||||
else
|
||||
|
||||
+4
-1
@@ -9,6 +9,7 @@
|
||||
var/list/features = list("FFF") //first value is mutant color
|
||||
var/real_name //Stores the real name of the person who originally got this dna datum. Used primarely for changelings,
|
||||
var/nameless = FALSE
|
||||
var/custom_species //siiiiigh I guess this is important
|
||||
var/list/mutations = list() //All mutations are from now on here
|
||||
var/list/temporary_mutations = list() //Timers for temporary mutations
|
||||
var/list/previous = list() //For temporary name/ui/ue/blood_type modifications
|
||||
@@ -45,6 +46,7 @@
|
||||
destination.dna.features = features.Copy()
|
||||
destination.dna.real_name = real_name
|
||||
destination.dna.nameless = nameless
|
||||
destination.dna.custom_species = custom_species
|
||||
destination.dna.temporary_mutations = temporary_mutations.Copy()
|
||||
if(ishuman(destination))
|
||||
var/mob/living/carbon/human/H = destination
|
||||
@@ -62,6 +64,7 @@
|
||||
new_dna.species = new species.type
|
||||
new_dna.real_name = real_name
|
||||
new_dna.nameless = nameless
|
||||
new_dna.custom_species = custom_species
|
||||
new_dna.mutations = mutations.Copy()
|
||||
|
||||
/datum/dna/proc/add_mutation(mutation_name)
|
||||
@@ -202,7 +205,7 @@
|
||||
|
||||
|
||||
/datum/dna/proc/is_same_as(datum/dna/D)
|
||||
if(uni_identity == D.uni_identity && struc_enzymes == D.struc_enzymes && real_name == D.real_name && nameless == D.nameless)
|
||||
if(uni_identity == D.uni_identity && struc_enzymes == D.struc_enzymes && real_name == D.real_name && nameless == D.nameless && custom_species == D.custom_species)
|
||||
if(species.type == D.species.type && features == D.features && blood_type == D.blood_type)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
|
||||
if(isliving(user))
|
||||
var/mob/living/L = user
|
||||
if(L.has_trait(TRAIT_EMOTEMUTE))
|
||||
if(HAS_TRAIT(L, TRAIT_EMOTEMUTE))
|
||||
return FALSE
|
||||
|
||||
/datum/emote/sound
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user