diff --git a/.github/workflows/autowiki.yml b/.github/workflows/autowiki.yml index 72c5b8816ce0..b36db1444bbe 100644 --- a/.github/workflows/autowiki.yml +++ b/.github/workflows/autowiki.yml @@ -9,7 +9,7 @@ permissions: jobs: autowiki: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: "Check for AUTOWIKI_USERNAME" id: secrets_set diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index f844f8da5747..54384fb14e95 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -11,8 +11,9 @@ on: - master jobs: run_linters: + if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Run Linters - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: @@ -66,8 +67,9 @@ jobs: cat check_regex_output.txt compile_all_maps: + if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Compile Maps - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Python setup @@ -90,54 +92,22 @@ jobs: tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_MAPS -DFULL_INIT run_all_tests: + if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Integration Tests - runs-on: ubuntu-20.04 - strategy: - fail-fast: false - services: - mysql: - image: mysql:latest - env: - MYSQL_ROOT_PASSWORD: root - ports: - - 3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 - steps: - - uses: actions/checkout@v3 - - name: Setup cache - id: cache-byond - uses: actions/cache@v3 - with: - path: ~/BYOND - key: ${{ runner.os }}-byond-cache-${{ hashFiles('Dockerfile') }} - - name: Install BYOND - if: steps.cache-byond.outputs.cache-hit != 'true' - run: bash tools/ci/install_byond.sh - - name: Setup database - run: | - sudo systemctl start mysql - mysql -u root -proot -e 'CREATE DATABASE tg_ci;' - mysql -u root -proot tg_ci < SQL/tgstation_schema.sql - mysql -u root -proot -e 'CREATE DATABASE tg_ci_prefixed;' - mysql -u root -proot tg_ci_prefixed < SQL/tgstation_schema_prefixed.sql - - name: Install rust-g - run: | - sudo dpkg --add-architecture i386 - sudo apt update || true - sudo apt install -o APT::Immediate-Configure=false libssl1.1:i386 - bash tools/ci/install_rust_g.sh - - name: Install auxmos - run: | - bash tools/ci/install_auxmos.sh - - name: Compile Tests - run: | - bash tools/ci/install_byond.sh - source $HOME/BYOND/byond/bin/byondsetup - tools/build/build --ci dm -DCIBUILDING -DANSICOLORS - - name: Run Tests - run: | - source $HOME/BYOND/byond/bin/byondsetup - bash tools/ci/run_server.sh + uses: ./.github/workflows/run_integration_tests.yml + +# run_alternate_tests: +# if: "!contains(github.event.head_commit.message, '[ci skip]')" +# name: Alternate Tests +# strategy: +# fail-fast: false +# matrix: +# major: [515] +# minor: [1614] +# uses: ./.github/workflows/run_integration_tests.yml +# with: +# major: ${{ matrix.major }} +# minor: ${{ matrix.minor }} test_windows: if: "!contains(github.event.head_commit.message, '[ci skip]')" diff --git a/.github/workflows/compile_changelogs.yml b/.github/workflows/compile_changelogs.yml index 70b4ac9a9331..48071cb3adde 100644 --- a/.github/workflows/compile_changelogs.yml +++ b/.github/workflows/compile_changelogs.yml @@ -8,7 +8,7 @@ on: jobs: compile: name: "Compile changelogs" - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: "Check for ACTION_ENABLER secret and pass it to output if it exists to be checked by later steps" id: value_holder diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml index 6c14be7547b6..1d7c299831a2 100644 --- a/.github/workflows/docker_publish.yml +++ b/.github/workflows/docker_publish.yml @@ -9,7 +9,7 @@ on: jobs: publish: if: "!contains(github.event.head_commit.message, '[ci skip]')" - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/generate_documentation.yml b/.github/workflows/generate_documentation.yml index 8011516d27a2..e987d05ad2a9 100644 --- a/.github/workflows/generate_documentation.yml +++ b/.github/workflows/generate_documentation.yml @@ -21,7 +21,7 @@ jobs: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Restore SpacemanDMM cache diff --git a/.github/workflows/make_changelogs.yml b/.github/workflows/make_changelogs.yml index aceb4aee3130..1a30c8183e35 100644 --- a/.github/workflows/make_changelogs.yml +++ b/.github/workflows/make_changelogs.yml @@ -7,7 +7,7 @@ on: jobs: MakeCL: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, '[ci skip]')" steps: - name: Checkout diff --git a/.github/workflows/round_id_linker.yml b/.github/workflows/round_id_linker.yml index bd4d02c17983..3885068be756 100644 --- a/.github/workflows/round_id_linker.yml +++ b/.github/workflows/round_id_linker.yml @@ -5,7 +5,7 @@ on: jobs: link_rounds: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: shiptest-ss13/round_linker@v2.0.0 with: diff --git a/.github/workflows/run_integration_tests.yml b/.github/workflows/run_integration_tests.yml new file mode 100644 index 000000000000..53f5df377591 --- /dev/null +++ b/.github/workflows/run_integration_tests.yml @@ -0,0 +1,61 @@ +# This is a reusable workflow to run integration tests. +# This is run for every single map in ci_suite.yml. You might want to edit that instead. +name: Run Integration Tests +on: + workflow_call: + inputs: + major: + required: false + type: string + minor: + required: false + type: string +jobs: + run_integration_tests: + runs-on: ubuntu-latest + services: + mysql: + image: mysql:latest + env: + MYSQL_ROOT_PASSWORD: root + ports: + - 3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + steps: + - uses: actions/checkout@v3 + - name: Setup cache + id: cache-byond + uses: actions/cache@v3 + with: + path: ~/BYOND + key: ${{ runner.os }}-byond-cache-${{ hashFiles('Dockerfile') }} + - name: Setup database + run: | + sudo systemctl start mysql + mysql -u root -proot -e 'CREATE DATABASE tg_ci;' + mysql -u root -proot tg_ci < SQL/tgstation_schema.sql + mysql -u root -proot -e 'CREATE DATABASE tg_ci_prefixed;' + mysql -u root -proot tg_ci_prefixed < SQL/tgstation_schema_prefixed.sql + - name: Install rust-g + run: | + sudo dpkg --add-architecture i386 + sudo apt update || true + sudo apt install -o APT::Immediate-Configure=false libssl-dev:i386 + bash tools/ci/install_rust_g.sh + - name: Install auxmos + run: | + bash tools/ci/install_auxmos.sh + - name: Configure version + if: ${{ inputs.major }} + run: | + echo "BYOND_MAJOR=${{ inputs.major }}" >> $GITHUB_ENV + echo "BYOND_MINOR=${{ inputs.minor }}" >> $GITHUB_ENV + - name: Compile Tests + run: | + bash tools/ci/install_byond.sh + source $HOME/BYOND/byond/bin/byondsetup + tools/build/build --ci dm -DCIBUILDING -DANSICOLORS + - name: Run Tests + run: | + source $HOME/BYOND/byond/bin/byondsetup + bash tools/ci/run_server.sh diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 01209a2828e3..a19c1911c18e 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -10,7 +10,7 @@ permissions: jobs: stale: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/stale@v4 diff --git a/.github/workflows/update_tgs_dmapi.yml b/.github/workflows/update_tgs_dmapi.yml index 9f863ce8c123..8aa77d0d6310 100644 --- a/.github/workflows/update_tgs_dmapi.yml +++ b/.github/workflows/update_tgs_dmapi.yml @@ -7,7 +7,7 @@ on: jobs: update-dmapi: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest name: Update the TGS DMAPI steps: - name: Clone diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm index 2dd6c4cbea84..661098d293d2 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm @@ -1456,32 +1456,34 @@ /area/ruin) "dA" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/line, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, +/obj/effect/turf_decal/weather/snow{ + dir = 10 + }, /turf/open/floor/plasteel/dark{ initial_gas_mix = "ICEMOON_ATMOS" }, /area/ruin) "dB" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/line, -/obj/effect/turf_decal/weather/snow/corner, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 }, +/obj/effect/turf_decal/weather/snow, /turf/open/floor/plasteel/dark{ initial_gas_mix = "ICEMOON_ATMOS" }, /area/ruin) "dC" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/line, -/obj/effect/turf_decal/weather/snow/corner, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, +/obj/effect/turf_decal/weather/snow{ + dir = 6 + }, /turf/open/floor/plasteel/dark{ initial_gas_mix = "ICEMOON_ATMOS" }, diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_oldstation.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_oldstation.dmm index 1d6aaa0388d5..a88474aa87e1 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_oldstation.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_oldstation.dmm @@ -2601,26 +2601,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/kitchen) -"hX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/structure/sign/poster/retro/lasergun{ - pixel_x = 32 - }, -/obj/item/gun/energy/laser/retro/old{ - pixel_x = -2; - pixel_y = -2 - }, -/obj/item/gun/energy/laser/retro/old{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/structure/rack, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/sec) "hY" = ( /obj/structure/chair, /obj/effect/decal/cleanable/dirt, @@ -4087,6 +4067,34 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/rnd) +"lO" = ( +/obj/structure/table, +/obj/item/storage/firstaid/ancient, +/obj/effect/decal/cleanable/dirt, +/obj/item/defibrillator, +/obj/item/paper/fluff/ruins/oldstation/protosleep{ + default_raw_text = "*Prototype Sleeper*

We have deliverted the lastest in medical technology to the medical bay for your use." + }, +/obj/machinery/power/apc{ + dir = 1; + name = "Beta Station Medbay APC"; + pixel_y = 23; + start_charge = 0 + }, +/obj/effect/turf_decal/corner/opaque/blue, +/obj/effect/turf_decal/corner/opaque/blue{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/airless{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/ruin/space/has_grav/ancientstation/medbay) "lQ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -4236,34 +4244,6 @@ /obj/item/pipe_dispenser, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/mining) -"mu" = ( -/obj/structure/table, -/obj/item/storage/firstaid/ancient, -/obj/effect/decal/cleanable/dirt, -/obj/item/defibrillator, -/obj/item/paper/fluff/ruins/oldstation/protosleep{ - default_raw_text = "*Prototype Sleeper*

We have deliverted the lastest in medical technology to the medical bay for your use." - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Beta Station Medbay APC"; - pixel_y = 23; - start_charge = 0 - }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/airless{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/space/has_grav/ancientstation/medbay) "mv" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end{ dir = 8 @@ -5816,6 +5796,15 @@ initial_gas_mix = "ICEMOON_ATMOS" }, /area/ruin/space/has_grav/ancientstation/medbay) +"vr" = ( +/obj/machinery/light/directional/east, +/obj/structure/table/reinforced, +/obj/item/paper/fluff/ruins/oldstation/protosing{ + default_raw_text = "fucking uhhh tesla -I'll finish this later, Professor Fiddler"; + name = "Tesla Generator" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) "vs" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ @@ -7738,6 +7727,26 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation) +"Nz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/red, +/obj/effect/turf_decal/corner/opaque/red{ + dir = 4 + }, +/obj/structure/sign/poster/retro/lasergun{ + pixel_x = 32 + }, +/obj/item/gun/energy/laser/retro{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/item/gun/energy/laser/retro{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/structure/rack, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/sec) "NC" = ( /obj/machinery/power/smes/engineering{ charge = 0 @@ -8450,15 +8459,6 @@ /obj/effect/spawner/lootdrop/maintenance/seven, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/hydroponics) -"UT" = ( -/obj/machinery/light/directional/east, -/obj/structure/table/reinforced, -/obj/item/paper/fluff/ruins/oldstation/protosing{ - default_raw_text = "fucking uhhh tesla -I'll finish this later, Professor Fiddler"; - name = "Tesla Generator" - }, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) "UV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -9033,7 +9033,7 @@ ch Sd je AK -mu +lO dD kb eH @@ -11443,7 +11443,7 @@ fO fO MI wd -hX +Nz im eJ lg @@ -12530,7 +12530,7 @@ Yr ca jA mm -UT +vr jA GF lc diff --git a/_maps/RandomRuins/JungleRuins/jungle_demon.dmm b/_maps/RandomRuins/JungleRuins/jungle_demon.dmm index 2185de838688..3e1476a84861 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_demon.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_demon.dmm @@ -157,7 +157,7 @@ /area/ruin/powered) "pm" = ( /obj/structure/table/reinforced, -/obj/item/upgradescroll, +/obj/item/paper, /turf/open/floor/plasteel/dark, /area/ruin/powered) "pE" = ( @@ -220,9 +220,27 @@ /turf/open/floor/plasteel/dark, /area/ruin/powered) "tR" = ( -/obj/structure/closet/gimmick/tacticool, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/under/syndicate, +/obj/structure/closet/syndicate{ + desc = "It's a basic storage unit."; + name = "uniform closet" + }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, +/obj/item/clothing/under/syndicate, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/head/helmet/operator, +/obj/item/clothing/head/helmet/operator, +/obj/item/clothing/suit/armor/vest/syndie, +/obj/item/clothing/suit/armor/vest/syndie, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, /turf/open/floor/plasteel/dark, /area/ruin/powered) "uj" = ( @@ -494,8 +512,11 @@ /turf/open/floor/plasteel/dark, /area/ruin/powered) "PA" = ( -/obj/machinery/suit_storage_unit/syndicate, /obj/effect/decal/cleanable/dirt, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/syndi/scarlet, +/obj/item/clothing/mask/breath, +/obj/item/tank/internals/oxygen/red, /turf/open/floor/plasteel/dark, /area/ruin/powered) "QI" = ( diff --git a/_maps/RandomRuins/JungleRuins/jungle_spider.dmm b/_maps/RandomRuins/JungleRuins/jungle_spider.dmm deleted file mode 100644 index 14c11868d3af..000000000000 --- a/_maps/RandomRuins/JungleRuins/jungle_spider.dmm +++ /dev/null @@ -1,266 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/template_noop, -/area/template_noop) -"c" = ( -/obj/structure/flora/tree/jungle, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"e" = ( -/obj/structure/spider/stickyweb, -/obj/item/reagent_containers/food/snacks/spidereggs, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"f" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"g" = ( -/obj/structure/spider/stickyweb, -/obj/machinery/door/airlock/research, -/turf/open/floor/plating/dirt/jungle/dark/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"i" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"j" = ( -/obj/effect/decal/cleanable/glass, -/obj/structure/barricade/wooden, -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"k" = ( -/obj/effect/decal/remains/human, -/obj/item/clothing/head/helmet/swat/nanotrasen, -/obj/effect/decal/cleanable/blood, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"l" = ( -/obj/structure/spider/spiderling, -/turf/open/floor/plating/dirt/jungle/dark/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"m" = ( -/mob/living/simple_animal/hostile/poison/giant_spider/nurse, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"o" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/jungle/dark/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"q" = ( -/obj/effect/decal/cleanable/glass, -/obj/structure/barricade/wooden, -/obj/structure/grille/broken, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"r" = ( -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"s" = ( -/obj/item/paper/guides/jobs/medical/cloning, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"t" = ( -/obj/structure/spider/spiderling, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"u" = ( -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"v" = ( -/obj/structure/spider/spiderling, -/obj/structure/spider/cocoon, -/obj/item/pda/geneticist, -/obj/effect/decal/cleanable/blood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/circuitboard/machine/dnascanner, -/obj/item/circuitboard/computer/cloning, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"w" = ( -/obj/machinery/clonepod, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"x" = ( -/obj/effect/decal/cleanable/insectguts, -/obj/machinery/door/airlock/research, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"y" = ( -/turf/open/floor/plating/dirt/jungle/dark/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"A" = ( -/obj/structure/closet/wardrobe/genetics_white, -/obj/item/storage/firstaid/toxin, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"C" = ( -/obj/item/storage/belt/security/webbing, -/turf/open/floor/plating/dirt/jungle/dark/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"D" = ( -/obj/effect/decal/cleanable/ash/large, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"G" = ( -/obj/structure/spider/spiderling, -/obj/structure/spider/cocoon, -/obj/item/research_notes/loot/medium, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"I" = ( -/obj/structure/spider/stickyweb, -/obj/item/organ/heart/gland/spiderman, -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/food/snacks/spiderlollipop, -/obj/item/reagent_containers/food/snacks/spiderlollipop, -/obj/item/reagent_containers/food/snacks/spiderlollipop, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"K" = ( -/turf/closed/wall/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"L" = ( -/obj/effect/decal/cleanable/glass, -/obj/structure/barricade/wooden, -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"M" = ( -/obj/structure/spider/spiderling, -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"N" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/mob/living/simple_animal/hostile/poison/giant_spider/nurse, -/turf/open/floor/plating/dirt/jungle/dark/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"O" = ( -/obj/item/melee/flyswatter, -/obj/item/reagent_containers/spray/pestspray, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"P" = ( -/obj/effect/decal/cleanable/glass, -/obj/structure/barricade/wooden, -/obj/structure/grille/broken, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"Q" = ( -/obj/effect/decal/cleanable/glass, -/obj/structure/barricade/wooden, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"T" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"U" = ( -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plating/dirt/jungle/dark/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"V" = ( -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plating/dirt/jungle/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"W" = ( -/obj/item/flamethrower, -/obj/item/tank/internals/plasma/full, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/dark/lit, -/area/overmap_encounter/planetoid/jungle/explored) -"X" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider, -/obj/item/reagent_containers/food/snacks/spidereggs, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) - -(1,1,1) = {" -K -K -K -P -K -K -M -r -a -"} -(2,1,1) = {" -K -X -e -f -v -L -o -i -c -"} -(3,1,1) = {" -K -I -u -m -A -K -f -o -f -"} -(4,1,1) = {" -K -U -l -W -w -g -o -f -t -"} -(5,1,1) = {" -P -f -C -k -s -x -O -y -V -"} -(6,1,1) = {" -q -N -T -D -G -j -i -r -a -"} -(7,1,1) = {" -K -K -Q -K -K -K -f -a -a -"} diff --git a/_maps/RandomRuins/RockRuins/rockplanet_clock.dmm b/_maps/RandomRuins/RockRuins/rockplanet_clock.dmm deleted file mode 100644 index 3a8da9995006..000000000000 --- a/_maps/RandomRuins/RockRuins/rockplanet_clock.dmm +++ /dev/null @@ -1,628 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"br" = ( -/obj/structure/table/bronze, -/obj/item/toy/clockwork_watch, -/turf/open/floor/bronze, -/area/ruin/powered) -"bw" = ( -/obj/structure/girder/bronze, -/turf/open/floor/bronze, -/area/ruin/powered) -"by" = ( -/obj/structure/fluff/clockwork/clockgolem_remains, -/turf/open/floor/bronze, -/area/ruin/powered) -"cn" = ( -/obj/item/clothing/shoes/sandal/magic, -/obj/structure/table/bronze, -/turf/open/floor/bronze, -/area/ruin/powered) -"ct" = ( -/obj/structure/fluff/clockwork/alloy_shards/medium_gearbit, -/turf/open/floor/bronze, -/area/ruin/powered) -"fy" = ( -/obj/item/golem_shell/servant, -/turf/open/floor/bronze, -/area/ruin/powered) -"fK" = ( -/obj/machinery/computer/monitor{ - dir = 4 - }, -/turf/open/floor/bronze, -/area/ruin/powered) -"gA" = ( -/obj/machinery/computer/message_monitor{ - dir = 8 - }, -/turf/open/floor/bronze, -/area/ruin/powered) -"hb" = ( -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/bronze, -/area/ruin/powered) -"hm" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/bronze, -/area/ruin/powered) -"hn" = ( -/obj/effect/decal/cleanable/garbage, -/turf/open/floor/bronze, -/area/ruin/powered) -"hU" = ( -/obj/machinery/computer/teleporter, -/turf/open/floor/bronze, -/area/ruin/powered) -"iX" = ( -/obj/structure/girder/bronze, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/bronze, -/area/ruin/powered) -"iY" = ( -/obj/machinery/door/airlock/bronze/seethru, -/obj/structure/trap/chill, -/turf/open/floor/bronze, -/area/ruin/powered) -"jG" = ( -/obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/bronze, -/area/ruin/powered) -"jK" = ( -/obj/effect/decal/cleanable/robot_debris/limb, -/turf/open/floor/bronze, -/area/ruin/powered) -"kd" = ( -/obj/structure/fluff/clockwork/alloy_shards/medium_gearbit, -/obj/structure/chair/comfy/shuttle/bronze{ - dir = 4 - }, -/turf/open/floor/bronze, -/area/ruin/powered) -"ks" = ( -/obj/structure/girder/bronze, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/bronze, -/area/ruin/powered) -"lm" = ( -/obj/structure/fluff/clockwork/alloy_shards, -/turf/open/floor/bronze, -/area/ruin/powered) -"mG" = ( -/obj/structure/chair/comfy/shuttle/bronze, -/turf/open/floor/bronze, -/area/ruin/powered) -"nM" = ( -/obj/machinery/door/airlock/bronze, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/bronze, -/area/ruin/powered) -"oj" = ( -/obj/structure/fluff/clockwork/alloy_shards, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"oW" = ( -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"pi" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/trap/fire, -/turf/open/floor/bronze, -/area/ruin/powered) -"pt" = ( -/obj/item/gun/magic/wand/nothing, -/obj/structure/table/bronze, -/turf/open/floor/bronze, -/area/ruin/powered) -"pV" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/bronze, -/area/ruin/powered) -"rM" = ( -/obj/structure/table/bronze, -/obj/item/stack/tile/bronze/thirty, -/turf/open/floor/bronze, -/area/ruin/powered) -"sS" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/trap/stun, -/turf/open/floor/bronze, -/area/ruin/powered) -"tg" = ( -/obj/structure/fluff/clockwork/alloy_shards, -/obj/machinery/quantumpad, -/turf/open/floor/bronze, -/area/ruin/powered) -"tI" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/bronze, -/area/ruin/powered) -"uk" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/bronze, -/area/ruin/powered) -"ur" = ( -/obj/machinery/quantumpad, -/obj/structure/trap/damage, -/turf/open/floor/bronze, -/area/ruin/powered) -"uM" = ( -/obj/item/clothing/under/color/black, -/obj/structure/table/bronze, -/turf/open/floor/bronze, -/area/ruin/powered) -"uS" = ( -/obj/structure/fluff/clockwork/clockgolem_remains, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/bronze, -/area/ruin/powered) -"wq" = ( -/obj/machinery/power/smes, -/turf/open/floor/bronze, -/area/ruin/powered) -"wv" = ( -/obj/effect/decal/cleanable/robot_debris, -/turf/open/floor/bronze, -/area/ruin/powered) -"xb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/closed/wall/mineral/bronze, -/area/ruin/powered) -"xt" = ( -/obj/structure/fluff/clockwork/alloy_shards/medium_gearbit, -/obj/structure/closet/crate/grave/loot, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"xV" = ( -/obj/structure/chair/comfy/shuttle/bronze{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/bronze, -/area/ruin/powered) -"zj" = ( -/obj/effect/decal/cleanable/robot_debris/old, -/turf/open/floor/bronze, -/area/ruin/powered) -"zz" = ( -/obj/structure/chair/comfy/shuttle/bronze, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/bronze, -/area/ruin/powered) -"Bh" = ( -/obj/machinery/door/airlock/bronze/seethru, -/turf/open/floor/bronze, -/area/ruin/powered) -"BX" = ( -/obj/structure/lattice, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Ci" = ( -/obj/structure/table/bronze, -/obj/item/clothing/suit/bronze, -/turf/open/floor/bronze, -/area/ruin/powered) -"DL" = ( -/obj/structure/table/bronze, -/obj/item/stack/sheet/glass/fifty, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/bronze, -/area/ruin/powered) -"EB" = ( -/obj/structure/closet/crate/grave/loot, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"FE" = ( -/obj/structure/table/bronze, -/turf/open/floor/bronze, -/area/ruin/powered) -"Gk" = ( -/obj/structure/fluff/clockwork/alloy_shards/medium_gearbit, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"GD" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"GT" = ( -/obj/item/toy/plush/plushvar, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"HK" = ( -/obj/effect/mine/stun, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/bronze, -/area/ruin/powered) -"Id" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/remains/human, -/turf/open/floor/bronze, -/area/ruin/powered) -"Iu" = ( -/obj/structure/fluff/clockwork/clockgolem_remains, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/trap/stun, -/turf/open/floor/bronze, -/area/ruin/powered) -"Ji" = ( -/obj/item/flashlight/lantern, -/turf/open/floor/bronze, -/area/ruin/powered) -"Jl" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/remains/human, -/turf/open/floor/bronze, -/area/ruin/powered) -"Ju" = ( -/obj/effect/decal/cleanable/robot_debris/old, -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/bronze, -/area/ruin/powered) -"Nr" = ( -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"NP" = ( -/turf/open/floor/bronze, -/area/ruin/powered) -"Oa" = ( -/obj/structure/fluff/clockwork/alloy_shards/medium_gearbit, -/obj/effect/mine/stun, -/turf/open/floor/bronze, -/area/ruin/powered) -"Os" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/trap/chill, -/turf/open/floor/bronze, -/area/ruin/powered) -"OB" = ( -/turf/template_noop, -/area/template_noop) -"OC" = ( -/obj/structure/table/bronze, -/obj/item/clothing/head/bronze, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/bronze, -/area/ruin/powered) -"PA" = ( -/obj/structure/fluff/clockwork/blind_eye, -/obj/structure/table/bronze, -/turf/open/floor/bronze, -/area/ruin/powered) -"Qs" = ( -/turf/closed/wall/mineral/bronze, -/area/ruin/powered) -"Rt" = ( -/obj/structure/chair/comfy/shuttle/bronze{ - dir = 4 - }, -/turf/open/floor/bronze, -/area/ruin/powered) -"TL" = ( -/obj/structure/statue/bronze/marx, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"TV" = ( -/obj/item/reagent_containers/food/drinks/trophy/bronze_cup, -/obj/structure/table/bronze, -/turf/open/floor/bronze, -/area/ruin/powered) -"VV" = ( -/obj/structure/girder/bronze, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/bronze, -/area/ruin/powered) -"Wm" = ( -/obj/effect/mine/stun, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Wx" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/effect/decal/cleanable/robot_debris/limb, -/turf/open/floor/bronze, -/area/ruin/powered) -"WK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/bronze, -/area/ruin/powered) -"WT" = ( -/obj/structure/table/bronze, -/obj/item/clothing/shoes/bronze, -/turf/open/floor/bronze, -/area/ruin/powered) -"Xi" = ( -/obj/structure/table/bronze, -/obj/item/nullrod/spear, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/bronze, -/area/ruin/powered) -"XY" = ( -/obj/structure/window/bronze/fulltile, -/obj/structure/grille, -/turf/open/floor/bronze, -/area/ruin/powered) -"Ye" = ( -/obj/structure/fluff/clockwork/alloy_shards, -/obj/structure/lattice, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Ys" = ( -/obj/machinery/door/airlock/bronze, -/turf/open/floor/bronze, -/area/ruin/powered) -"YQ" = ( -/obj/item/book/granter/spell/smoke, -/obj/structure/table/bronze, -/turf/open/floor/bronze, -/area/ruin/powered) -"Zs" = ( -/obj/structure/lattice, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"ZY" = ( -/obj/structure/chair/comfy/shuttle/bronze{ - dir = 8 - }, -/turf/open/floor/bronze, -/area/ruin/powered) - -(1,1,1) = {" -Qs -Ys -Ys -Qs -Qs -Qs -Qs -Qs -Qs -Qs -Qs -Qs -OB -OB -OB -"} -(2,1,1) = {" -Qs -hm -NP -hn -bw -Qs -VV -pV -NP -NP -cn -XY -OB -OB -OB -"} -(3,1,1) = {" -Qs -kd -Iu -wv -NP -Bh -HK -WK -hm -NP -uM -XY -xt -Wm -OB -"} -(4,1,1) = {" -XY -gA -Ji -lm -hb -Bh -WK -tI -lm -by -NP -Qs -oW -GD -OB -"} -(5,1,1) = {" -Qs -fK -uk -NP -TV -Qs -DL -Jl -Ji -sS -NP -Ys -BX -oj -OB -"} -(6,1,1) = {" -Qs -ZY -NP -NP -PA -Qs -rM -NP -NP -zj -NP -Ys -BX -Gk -Nr -"} -(7,1,1) = {" -Qs -ks -WK -WK -bw -Qs -ks -br -Xi -FE -bw -Qs -EB -Nr -Nr -"} -(8,1,1) = {" -Qs -Qs -Bh -iY -xb -Qs -Qs -xb -Qs -Qs -Qs -Qs -Nr -GT -TL -"} -(9,1,1) = {" -Qs -VV -NP -NP -iX -Qs -VV -xV -Rt -NP -bw -Qs -Zs -oW -Nr -"} -(10,1,1) = {" -Qs -hU -NP -Oa -wq -Qs -mG -Ci -WT -NP -pi -nM -BX -Nr -Nr -"} -(11,1,1) = {" -Qs -tg -Id -Ji -NP -Qs -zz -OC -fy -uk -WK -nM -Wm -Nr -Nr -"} -(12,1,1) = {" -XY -ur -uS -NP -NP -Bh -WK -NP -Wx -ct -WK -xb -oW -GD -OB -"} -(13,1,1) = {" -Qs -NP -NP -jK -jG -Bh -WK -Os -NP -Ju -YQ -XY -EB -OB -OB -"} -(14,1,1) = {" -Qs -NP -NP -NP -bw -Qs -ks -Ji -by -by -pt -XY -Ye -BX -OB -"} -(15,1,1) = {" -Qs -Ys -Ys -Qs -Qs -Qs -Qs -Qs -Qs -Qs -Qs -Qs -OB -OB -OB -"} diff --git a/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm b/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm index 5ba299eb454c..9b5adb277fa8 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm @@ -61,8 +61,9 @@ "bU" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt/dust, -/obj/item/stack/sheet/mineral/gold/fifty, /obj/machinery/light/dim/directional/north, +/obj/item/spacecash/bundle/c1000, +/obj/item/spacecash/bundle/loadsamoney, /turf/open/floor/plasteel/patterned/brushed, /area/ruin/powered) "cb" = ( @@ -86,10 +87,6 @@ "cg" = ( /obj/structure/rack, /obj/item/stack/sheet/mineral/gold/twenty, -/obj/item/circuitboard/machine/protolathe{ - pixel_x = -7; - pixel_y = 4 - }, /obj/item/circuitboard/computer/rdconsole, /turf/open/floor/plasteel/patterned, /area/ruin/powered) @@ -141,7 +138,8 @@ /area/ruin/powered) "dJ" = ( /obj/structure/rack, -/obj/item/storage/firstaid/tactical, +/obj/item/circuitboard/machine/techfab/department/cargo, +/obj/item/stack/sheet/mineral/diamond/five, /turf/open/floor/plating/rust, /area/ruin/powered) "dN" = ( @@ -432,14 +430,18 @@ /turf/open/floor/plating/rust, /area/ruin/powered) "kC" = ( -/obj/machinery/door/keycard, +/obj/machinery/door/keycard{ + puzzle_id = "factory4" + }, /turf/open/floor/plasteel/patterned/brushed, /area/ruin/powered) "kI" = ( -/obj/machinery/door/keycard, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/door/keycard{ + puzzle_id = "factory4" + }, /turf/open/floor/plating/rust, /area/ruin/powered) "kM" = ( @@ -449,11 +451,11 @@ /area/ruin/powered) "kN" = ( /obj/structure/rack, -/obj/item/melee/greykingsword, /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable{ icon_state = "0-8" }, +/obj/item/gun/energy/plasmacutter/adv, /turf/open/floor/plating/rust, /area/ruin/powered) "kU" = ( @@ -599,10 +601,8 @@ /turf/open/floor/plasteel/patterned, /area/ruin/powered) "of" = ( -/obj/machinery/conveyor/auto{ - dir = 8 - }, -/obj/machinery/light/dim/directional/north, +/obj/structure/disposalpipe/segment, +/obj/machinery/conveyor/auto, /turf/open/floor/engine, /area/ruin/powered) "oh" = ( @@ -681,8 +681,8 @@ /area/ruin/powered) "pi" = ( /obj/structure/rack, -/obj/item/construction/rcd/loaded, /obj/machinery/light/dim/directional/north, +/obj/item/stack/sheet/mineral/diamond/five, /turf/open/floor/plating/rust, /area/ruin/powered) "pk" = ( @@ -734,29 +734,29 @@ /turf/open/floor/engine, /area/ruin/powered) "pP" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/obj/structure/railing/corner, +/obj/item/toy/plush/moth, +/obj/structure/table/greyscale, /turf/open/floor/engine, /area/ruin/powered) "pU" = ( /obj/effect/turf_decal/industrial/warning/dust{ dir = 1 }, -/obj/structure/railing, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/engine, /area/ruin/powered) "qb" = ( -/obj/structure/railing{ - dir = 10 - }, /obj/structure/table/greyscale, /obj/item/laser_pointer/blue{ pixel_x = 10; pixel_y = 9 }, /obj/item/megaphone, +/obj/structure/railing{ + dir = 10 + }, /turf/open/floor/plasteel/patterned/brushed, /area/ruin/powered) "qd" = ( @@ -767,19 +767,10 @@ /turf/open/floor/engine, /area/ruin/powered) "qm" = ( -/obj/structure/railing, /obj/structure/chair/plastic, +/obj/structure/railing, /turf/open/floor/plasteel/patterned, /area/ruin/powered) -"qt" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/powered) "qv" = ( /obj/structure/railing{ dir = 10 @@ -837,6 +828,9 @@ /area/ruin/powered) "rv" = ( /obj/machinery/recycler/deathtrap, +/obj/machinery/conveyor/auto{ + dir = 4 + }, /turf/open/floor/engine, /area/ruin/powered) "rO" = ( @@ -880,11 +874,6 @@ }, /turf/open/floor/engine, /area/ruin/powered) -"sH" = ( -/obj/structure/railing/corner, -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/engine, -/area/ruin/powered) "sK" = ( /obj/structure/closet/secure/loot, /obj/machinery/light/dim/directional/east, @@ -893,25 +882,37 @@ /turf/open/floor/plasteel/patterned, /area/ruin/powered) "sN" = ( -/obj/machinery/conveyor/inverted, -/obj/structure/grille, /obj/structure/cable, /obj/machinery/light/dim/directional/north, -/turf/open/floor/engine, +/obj/structure/grille, +/turf/open/floor/plating, /area/ruin/powered) "sV" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/railing{ - dir = 6 +/obj/machinery/disposal/deliveryChute{ + dir = 4 }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/conveyor/auto, /turf/open/floor/engine, /area/ruin/powered) "td" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 4 +/obj/machinery/power/emitter/welded{ + active = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable, +/obj/machinery/light/dim/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 6 }, +/obj/machinery/conveyor/auto, /turf/open/floor/engine, /area/ruin/powered) "te" = ( @@ -920,29 +921,21 @@ }, /turf/open/floor/engine, /area/ruin/powered) -"tu" = ( -/obj/machinery/conveyor/auto{ - dir = 4 - }, -/obj/item/shard, -/obj/item/shard, -/obj/item/shard, -/obj/item/shard, -/obj/item/shard, -/turf/open/floor/engine, -/area/ruin/powered) "tw" = ( -/obj/machinery/disposal/deliveryChute{ +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/conveyor/auto{ dir = 8 }, /turf/open/floor/engine, /area/ruin/powered) "tC" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/structure/railing{ - dir = 10 +/obj/machinery/conveyor/auto{ + dir = 8 }, /turf/open/floor/engine, /area/ruin/powered) @@ -1018,19 +1011,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, /area/ruin/powered) -"vz" = ( -/obj/machinery/disposal/deliveryChute, -/turf/open/floor/engine, -/area/ruin/powered) "vJ" = ( -/obj/structure/disposalpipe/segment{ +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing{ dir = 6 }, -/turf/open/floor/engine, +/turf/open/floor/plating, /area/ruin/powered) "vK" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/conveyor/auto{ + dir = 1 }, /turf/open/floor/engine, /area/ruin/powered) @@ -1110,26 +1103,23 @@ /turf/open/floor/engine, /area/ruin/powered) "yw" = ( -/obj/machinery/power/emitter/ctf{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/engine, +/turf/closed/wall/r_wall, /area/ruin/powered) "za" = ( -/obj/machinery/power/emitter/ctf{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/engine, -/area/ruin/powered) -"zg" = ( +/obj/structure/disposalpipe/segment, /obj/machinery/conveyor/auto{ dir = 1 }, -/obj/item/shard, -/obj/item/shard, -/obj/item/shard, -/obj/item/shard, -/obj/item/shard, +/turf/open/floor/engine, +/area/ruin/powered) +"zg" = ( +/obj/effect/turf_decal/industrial/warning/dust/corner, /turf/open/floor/engine, /area/ruin/powered) "zh" = ( @@ -1205,10 +1195,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, /area/ruin/powered) -"Br" = ( -/obj/machinery/conveyor/inverted, -/turf/open/floor/engine, -/area/ruin/powered) "Bz" = ( /obj/effect/turf_decal/industrial/warning/dust{ dir = 4 @@ -1223,27 +1209,16 @@ /turf/open/floor/engine, /area/ruin/powered) "BE" = ( -/obj/machinery/conveyor/auto{ - dir = 1 +/obj/machinery/power/terminal{ + dir = 4 }, -/obj/item/shard/plasma, -/obj/item/shard/plasma, -/obj/item/shard/plasma, -/obj/item/shard/plasma, -/obj/item/shard/plasma, -/turf/open/floor/engine, +/turf/closed/indestructible/reinforced, /area/ruin/powered) "BQ" = ( /obj/structure/table/greyscale, -/obj/item/keycard, -/turf/open/floor/engine, -/area/ruin/powered) -"BR" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 8 +/obj/item/keycard{ + puzzle_id = "factory4" }, -/obj/effect/turf_decal/number/zero, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, /area/ruin/powered) "BW" = ( @@ -1343,30 +1318,18 @@ /obj/effect/turf_decal/industrial/warning/dust, /turf/open/floor/engine, /area/ruin/powered) -"EB" = ( -/obj/machinery/conveyor/inverted, -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/engine, -/area/ruin/powered) "EE" = ( /obj/effect/turf_decal/industrial/warning/dust{ dir = 4 }, /obj/structure/sign/number/four, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, /area/ruin/powered) "EG" = ( /obj/structure/table/greyscale, -/turf/open/floor/engine, -/area/ruin/powered) -"Fa" = ( -/obj/machinery/conveyor/auto, -/obj/item/shard/plasma, -/obj/item/shard/plasma, -/obj/item/shard/plasma, -/obj/item/shard/plasma, -/obj/item/shard/plasma, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/engine, /area/ruin/powered) "Fb" = ( @@ -1458,6 +1421,7 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/jungle/mook, /turf/open/floor/engine, /area/ruin/powered) "Gu" = ( @@ -1467,18 +1431,13 @@ /turf/open/floor/engine, /area/ruin/powered) "Gv" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 1 - }, +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/engine, /area/ruin/powered) "Gz" = ( -/obj/machinery/conveyor/auto, -/obj/item/shard, -/obj/item/shard, -/obj/item/shard, -/obj/item/shard, -/obj/item/shard, +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 1 + }, /turf/open/floor/engine, /area/ruin/powered) "GE" = ( @@ -1492,10 +1451,6 @@ /obj/machinery/conveyor/auto, /turf/open/floor/engine, /area/ruin/powered) -"GN" = ( -/obj/structure/plasticflaps, -/turf/open/floor/engine, -/area/ruin/powered) "GO" = ( /obj/structure/table/greyscale, /obj/item/keycard/stockroom, @@ -1540,16 +1495,19 @@ /obj/machinery/light/broken/directional/east, /turf/open/floor/plating/asteroid/rockplanet, /area/overmap_encounter/planetoid/rockplanet/explored) -"HL" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/engine, -/area/ruin/powered) "HT" = ( +/obj/machinery/power/emitter/welded{ + dir = 1; + active = 1 + }, +/obj/structure/cable, +/obj/machinery/light/dim/directional/south, /obj/structure/disposalpipe/segment{ dir = 9 }, +/obj/machinery/conveyor/auto{ + dir = 1 + }, /turf/open/floor/engine, /area/ruin/powered) "HU" = ( @@ -1574,32 +1532,29 @@ /turf/open/floor/engine, /area/ruin/powered) "It" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/machinery/disposal/deliveryChute{ + dir = 8 }, -/obj/structure/railing{ - dir = 5 +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/conveyor/auto{ + dir = 1 }, /turf/open/floor/engine, /area/ruin/powered) "IA" = ( -/obj/machinery/conveyor/auto{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/item/shard, -/obj/item/shard, -/obj/item/shard, -/obj/item/shard, -/obj/item/shard, +/obj/machinery/conveyor/auto, /turf/open/floor/engine, /area/ruin/powered) "IF" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/railing{ - dir = 9 +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 }, +/obj/effect/turf_decal/number/zero, /turf/open/floor/engine, /area/ruin/powered) "IM" = ( @@ -1701,37 +1656,22 @@ }, /turf/open/floor/engine, /area/ruin/powered) -"KC" = ( -/obj/effect/turf_decal/industrial/warning/dust, -/obj/structure/railing/corner{ +"KL" = ( +/obj/structure/chair/plastic{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"KJ" = ( -/obj/effect/turf_decal/industrial/warning/dust, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"KL" = ( /obj/structure/railing{ dir = 9 }, -/obj/structure/chair/plastic{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/brushed, +/turf/open/floor/plasteel/patterned, /area/ruin/powered) "Lb" = ( -/obj/structure/railing{ - dir = 5 - }, /obj/structure/chair/plastic{ dir = 8 }, +/obj/structure/railing{ + dir = 5 + }, /turf/open/floor/plasteel/patterned, /area/ruin/powered) "Lp" = ( @@ -1793,6 +1733,9 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/open/floor/plating/rust, /area/ruin/powered) "Mr" = ( @@ -1923,12 +1866,11 @@ /turf/open/floor/plasteel/patterned, /area/ruin/powered) "QK" = ( -/obj/machinery/conveyor/inverted, -/obj/structure/grille, /obj/structure/cable, /obj/item/keycard/entry, /obj/machinery/light/dim/directional/north, -/turf/open/floor/engine, +/obj/structure/grille, +/turf/open/floor/plating, /area/ruin/powered) "Rd" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -2040,9 +1982,6 @@ /turf/open/floor/plasteel/patterned, /area/ruin/powered) "TE" = ( -/obj/structure/railing{ - dir = 1 - }, /obj/structure/table/greyscale, /obj/item/spacecash/bundle/c1000{ pixel_y = 10 @@ -2052,6 +1991,9 @@ pixel_y = 2 }, /obj/item/toy/cards/deck/kotahi, +/obj/structure/railing{ + dir = 1 + }, /turf/open/floor/plating, /area/ruin/powered) "TM" = ( @@ -2154,10 +2096,15 @@ /turf/open/floor/plating, /area/ruin/powered) "XU" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, /obj/machinery/conveyor/auto{ - dir = 4 + dir = 1 }, -/obj/machinery/light/dim/directional/south, /turf/open/floor/engine, /area/ruin/powered) "XX" = ( @@ -2774,7 +2721,7 @@ GV aB aB bf -bf +BE bf hj jL @@ -2824,12 +2771,12 @@ jO ln oG ro -uQ +hJ Op tR DI uW -GN +hJ ro JC Mp @@ -2867,7 +2814,7 @@ jR pk ol rv -uQ +pP hJ AY DO @@ -2910,12 +2857,12 @@ jR lC ol ro -uQ +hJ aQ xg Ep qd -uQ +hJ ro Jt LQ @@ -3083,8 +3030,8 @@ lQ oo sd uQ -yw -yw +uQ +uQ uQ Ga GS @@ -3127,9 +3074,9 @@ px st vi QK -Br -EB -Br +te +te +te GU tR Kj @@ -3170,9 +3117,9 @@ pC sx vi sN -Br -Br -Br +te +te +te Hs Ai Kn @@ -3212,8 +3159,8 @@ mu pE sd uQ -za -za +uQ +uQ uQ Go HG @@ -3296,14 +3243,14 @@ iS hJ mE pG -sH -vs -rh -Bz -EE -rh -rh -xg +tR +Ai +tR +tR +Ai +tR +tR +tR Ew LQ gv @@ -3338,16 +3285,16 @@ aB aB hJ my -pP -sV -vz +pG +tR +tR zg -BC -BC -te -Gv -It -KC +Bz +EE +GS +tR +tR +Lp Nn zC Pa @@ -3381,16 +3328,16 @@ aB bf hi mR -pU -td -vJ -vz -BE -BC +pG +tR +hJ Gv -HL -td -KJ +ro +ro +Gv +hJ +tR +Ew NK hi hi @@ -3425,15 +3372,15 @@ bf hj Mq pU -ro +yw td -hJ of -BC -hJ -td +of IA -KJ +ro +ro +hJ +Ew LT hi aB @@ -3468,14 +3415,14 @@ bf hj no qb -te -tR -te +Gv +sV +BC BQ EG -rO -rO -rO +ro +It +Gv KL NP hi @@ -3511,14 +3458,14 @@ je kC nq qm -tu -tw hJ -ro +tw +tC +vK XU +za +HT hJ -tw -BC TE GR hi @@ -3553,15 +3500,15 @@ hf jq kI nt -pE -tw -vK -vz -ro -Fa +vJ +tR +hJ Gv -HT -tw +BC +BC +Gv +hJ +tR Lb IO hi @@ -3596,16 +3543,16 @@ bf bf hi lC -qt -tC -vz -rO -ro -ro -Gz -Gv +pG +tR +tR +Ip IF -JV +Fb +Gz +tR +tR +Ew NK Ph hj @@ -3640,14 +3587,14 @@ bf hi ob pG -sC -rS -uT -BR -Fb -uT -uT -Gu +tR +Ai +tR +Ai +tR +tR +tR +tR Lp Mr Pt diff --git a/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm b/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm new file mode 100644 index 000000000000..7ca31921e401 --- /dev/null +++ b/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm @@ -0,0 +1,4760 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aw" = ( +/obj/structure/bonfire/prelit, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aL" = ( +/obj/structure/door_assembly/door_assembly_centcom{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"aN" = ( +/obj/machinery/space_heater, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"aX" = ( +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ba" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Crew Berth" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/nanotrasen) +"bv" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/hull_plating, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cd" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "9-10" + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"cl" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ruin/rockplanet/nanotrasen) +"cr" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cO" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/hull_plating, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cP" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/rock{ + icon_state = "redrocks2" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cU" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 8 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"df" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"dB" = ( +/turf/open/floor/plasteel/tech/grid, +/area/ruin/rockplanet/nanotrasen) +"dJ" = ( +/obj/structure/flora/rock{ + icon_state = "redrock2" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dM" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ei" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/door_assembly/door_assembly_hatch{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"eo" = ( +/turf/open/floor/plating/asteroid/rockplanet/plating/scorched, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fc" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/frame/machine, +/turf/open/floor/plating{ + icon_state = "wet_cracked2" + }, +/area/ruin/rockplanet/nanotrasen) +"fd" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fe" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/sink{ + pixel_y = 30 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"fw" = ( +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"fF" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/rockplanet/nanotrasen) +"fK" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"fM" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/rockplanet/nanotrasen) +"ga" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/layer2{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"gn" = ( +/obj/structure/flora/rock/asteroid, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit{ + icon_state = "plastic" + }, +/area/ruin/rockplanet/nanotrasen) +"gO" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 4; + pixel_x = 3 + }, +/obj/effect/decal/cleanable/glass/plasma, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"gY" = ( +/turf/open/floor/plating/asteroid/rockplanet/mud, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ha" = ( +/obj/structure/cable{ + icon_state = "2-5" + }, +/turf/open/floor/plating/asteroid/rockplanet/plating/scorched, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hc" = ( +/obj/effect/gibspawner, +/turf/open/floor/plasteel/tech, +/area/ruin/rockplanet/nanotrasen) +"hm" = ( +/obj/structure/bed/pod, +/obj/effect/mob_spawn/human/corpse/damaged, +/obj/structure/curtain/cloth, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"hy" = ( +/obj/effect/turf_decal/spline/fancy/opaque/yellow{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/item/stack/sheet/metal/five, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"hV" = ( +/obj/structure/flora/rock{ + icon_state = "basalt" + }, +/turf/open/floor/plating/asteroid/rockplanet/mud, +/area/overmap_encounter/planetoid/rockplanet/explored) +"il" = ( +/obj/effect/turf_decal/spline/fancy/opaque/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"ip" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/nanotrasen) +"is" = ( +/obj/item/chair/greyscale, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"iN" = ( +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"iZ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/yellow{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/nanotrasen) +"jl" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/girder/displaced, +/obj/effect/decal/cleanable/glass/plasma, +/turf/open/floor/plasteel/tech, +/area/ruin/rockplanet/nanotrasen) +"jm" = ( +/turf/closed/mineral/random/rockplanet, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jw" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jC" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/magmawing, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jD" = ( +/obj/effect/turf_decal/weather/dirt/corner, +/obj/structure/flora/rock{ + icon_state = "redrock2" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jI" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/plating/scorched, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kf" = ( +/obj/structure/table_frame, +/turf/open/floor/plating/ashplanet/rocky, +/area/ruin/rockplanet/nanotrasen) +"kN" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"kS" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "2-9" + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"kV" = ( +/obj/structure/flora/rock{ + icon_state = "redrocks2" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lg" = ( +/turf/closed/wall, +/area/ruin/rockplanet/nanotrasen) +"lw" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lz" = ( +/obj/machinery/power/smes/shuttle/precharged, +/turf/open/floor/plating/asteroid/rockplanet/plating/scorched, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mu" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/ruin/rockplanet/nanotrasen) +"mW" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/mud, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nf" = ( +/turf/open/floor/plating/asteroid/rockplanet/plasteel, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nB" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"on" = ( +/turf/closed/mineral/random/rockplanet, +/area/ruin/rockplanet/nanotrasen) +"oq" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 8; + name = "Air to Distro" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/rockplanet/plasteel, +/area/overmap_encounter/planetoid/rockplanet/explored) +"or" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/frame/machine, +/obj/effect/spawner/lootdrop/salvage_matter_bin, +/turf/open/floor/plating/asteroid/rockplanet/plasteel, +/area/overmap_encounter/planetoid/rockplanet/explored) +"oz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/nanotrasen) +"oI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/yellow{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/arrowaxe_small/center{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/nanotrasen) +"oW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"oZ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pb" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"po" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pH" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pJ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pV" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 8; + name = "Air to Distro" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/ruin/rockplanet/nanotrasen) +"qp" = ( +/obj/effect/turf_decal/spline/fancy/opaque/yellow{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/nanotrasen) +"qL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"qM" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"qU" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/metal/ten, +/obj/item/stack/cable_coil/random/five, +/obj/item/stack/cable_coil/random/five, +/obj/structure/cable/yellow{ + icon_state = "4-5" + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"rc" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rD" = ( +/obj/structure/frame/machine, +/turf/open/floor/plating/dirt/jungle/lit, +/area/ruin/rockplanet/nanotrasen) +"rH" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 8 + }, +/obj/structure/flora/driftlog, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rW" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rY" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/frame/machine, +/obj/machinery/light/small/directional/north, +/obj/effect/spawner/lootdrop/salvage_matter_bin, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"sn" = ( +/obj/structure/frame/machine, +/obj/item/stock_parts/manipulator/femto, +/turf/open/floor/plating/asteroid/rockplanet/plasteel, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sy" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sK" = ( +/obj/effect/turf_decal/weather/dirt/corner, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sR" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/closed/wall/mineral/sandstone, +/area/ruin/rockplanet/nanotrasen) +"sX" = ( +/obj/structure/cable/yellow{ + icon_state = "5-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/ruin/rockplanet/nanotrasen) +"sZ" = ( +/turf/closed/wall/rust, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tA" = ( +/obj/structure/flora/tree/dead/tall/grey, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tI" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/rock{ + icon_state = "redrocks1" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tN" = ( +/turf/closed/wall, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tX" = ( +/obj/machinery/holopad/emergency/command, +/turf/open/floor/plasteel/tech, +/area/ruin/rockplanet/nanotrasen) +"uh" = ( +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"uo" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/item/stack/cable_coil/random/five, +/obj/item/wirecutters, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"uu" = ( +/obj/machinery/door/airlock/engineering{ + dir = 1; + name = "Engineering" + }, +/turf/closed/wall, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uB" = ( +/turf/open/floor/plasteel/tech, +/area/ruin/rockplanet/nanotrasen) +"uD" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uK" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/nanotrasen) +"uL" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uN" = ( +/obj/structure/table, +/obj/item/crowbar/large, +/obj/item/clothing/mask/breath{ + pixel_x = 14; + pixel_y = 7 + }, +/obj/item/clothing/mask/breath{ + pixel_x = 14; + pixel_y = 4 + }, +/obj/item/clothing/mask/breath{ + pixel_x = 14; + pixel_y = 1 + }, +/obj/item/stock_parts/capacitor/adv{ + pixel_x = -5; + pixel_y = 11 + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"uT" = ( +/obj/structure/flora/tree/cactus, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vi" = ( +/obj/structure/flora/rock{ + icon_state = "redrocks3" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vl" = ( +/mob/living/simple_animal/hostile/asteroid/goliath/beast/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vw" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-10" + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"vF" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vL" = ( +/obj/structure/flora/rock{ + icon_state = "redrocks1" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vM" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/rockplanet/grass, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vN" = ( +/obj/effect/turf_decal/spline/fancy/opaque/yellow{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"vS" = ( +/turf/open/floor/plating/asteroid/rockplanet/hull_plating, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vW" = ( +/obj/effect/turf_decal/weather/dirt/corner, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wf" = ( +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"wq" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 8 + }, +/obj/structure/railing, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wW" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xk" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/computer/monitor{ + dir = 1; + icon_state = "computer_broken" + }, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/plasteel/tech, +/area/ruin/rockplanet/nanotrasen) +"xG" = ( +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/rack, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"yb" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yn" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/grass, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yw" = ( +/obj/structure/flora/rock/asteroid{ + icon_state = "asteroid2" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"zg" = ( +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/effect/decal/cleanable/glass/plasma, +/turf/open/floor/plating/asteroid/rockplanet/lit{ + icon_state = "plastic" + }, +/area/ruin/rockplanet/nanotrasen) +"zh" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit{ + icon_state = "plastic" + }, +/area/ruin/rockplanet/nanotrasen) +"zp" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/machinery/telecomms/receiver, +/turf/open/floor/plating{ + icon_state = "wet_cracked0" + }, +/area/ruin/rockplanet/nanotrasen) +"zw" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/rockplanet/plasteel, +/area/overmap_encounter/planetoid/rockplanet/explored) +"zx" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"zz" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 4; + piping_layer = 2 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/ruin/rockplanet/nanotrasen) +"zF" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/closed/mineral/random/rockplanet, +/area/overmap_encounter/planetoid/rockplanet/explored) +"zH" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/ruin/rockplanet/nanotrasen) +"zU" = ( +/obj/item/banner/medical/mundane, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"Ab" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/ruin/rockplanet/nanotrasen) +"AS" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"AX" = ( +/obj/effect/turf_decal/spline/fancy/opaque/yellow{ + dir = 4 + }, +/obj/machinery/light/small/broken/directional/east, +/obj/effect/turf_decal/arrowaxe_small/left{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/nanotrasen) +"Ba" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plating/asteroid/rockplanet/plasteel, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bc" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"Bt" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"BA" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"BX" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 4 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Cm" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/closed/wall/mineral/sandstone, +/area/ruin/rockplanet/nanotrasen) +"CC" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/dirt/jungle/lit, +/area/ruin/rockplanet/nanotrasen) +"CN" = ( +/turf/open/floor/plating/asteroid/rockplanet/stairs, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CT" = ( +/obj/effect/turf_decal/weather/dirt/corner, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DJ" = ( +/obj/structure/flora/rock/asteroid{ + icon_state = "asteroid2" + }, +/obj/structure/flora/driftlog, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DP" = ( +/obj/effect/turf_decal/weather/dirt/corner, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DR" = ( +/obj/structure/closet/crate, +/obj/item/weldingtool/mini, +/obj/item/clothing/mask/gas/welding, +/obj/item/reagent_containers/glass/bottle/welding_fuel, +/obj/item/reagent_containers/glass/bottle/welding_fuel, +/obj/item/reagent_containers/glass/bottle/welding_fuel, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"Ec" = ( +/turf/open/floor/plating/dirt/jungle/lit, +/area/ruin/rockplanet/nanotrasen) +"Em" = ( +/obj/structure/rack, +/obj/item/storage/firstaid{ + pixel_x = 3; + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/rag{ + pixel_x = -3 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/ruin/rockplanet/nanotrasen) +"En" = ( +/obj/effect/decal/cleanable/robot_debris/gib, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Er" = ( +/obj/structure/flora/rock{ + icon_state = "basalt2" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ew" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/rockplanet/nanotrasen) +"EF" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/nanotrasen) +"EI" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/gibspawner, +/obj/effect/decal/remains/human, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/rockplanet/nanotrasen) +"EK" = ( +/obj/effect/turf_decal/weather/dirt/corner, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"EL" = ( +/obj/structure/table_frame, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"EM" = ( +/obj/structure/frame, +/obj/item/stock_parts/micro_laser/high, +/turf/open/floor/engine/hull/interior, +/area/ruin/rockplanet/nanotrasen) +"Fk" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/ruin/rockplanet/nanotrasen) +"FI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/yellow{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/nanotrasen) +"FJ" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/ruin/rockplanet/nanotrasen) +"FP" = ( +/obj/structure/frame/machine, +/turf/open/floor/plating/asteroid/rockplanet/plating/scorched, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Gu" = ( +/obj/structure/closet/crate, +/obj/item/gun/energy/laser, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"GA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"GB" = ( +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 5 + }, +/obj/item/chair/stool/bar, +/turf/open/floor/plating/asteroid/rockplanet/lit{ + icon_state = "plastic" + }, +/area/ruin/rockplanet/nanotrasen) +"GK" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/overmap_encounter/planetoid/rockplanet/explored) +"He" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/pond, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Hi" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Hr" = ( +/obj/structure/rack, +/obj/item/ammo_box/magazine/m45, +/obj/item/ammo_box/magazine/m45{ + pixel_x = -5 + }, +/obj/item/ammo_box/magazine/m45{ + pixel_x = 7 + }, +/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag, +/turf/open/floor/plating/ashplanet/rocky, +/area/ruin/rockplanet/nanotrasen) +"HG" = ( +/obj/structure/flora/driftlog, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"HL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/freezer{ + dir = 8; + name = "Head" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/nanotrasen) +"Io" = ( +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/rockplanet/hull_plating, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ir" = ( +/obj/structure/railing, +/obj/structure/closet/crate, +/obj/item/gun/energy/laser, +/obj/item/stock_parts/cell/high, +/turf/open/floor/plating/asteroid/rockplanet/hull_plating, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Iw" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IG" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"IH" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IX" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt/corner, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IY" = ( +/obj/effect/decal/cleanable/glass/plasma, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"Jf" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Jy" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-6" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"JA" = ( +/obj/effect/turf_decal/weather/dirt/corner, +/obj/structure/flora/rock{ + icon_state = "redrocks3" + }, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JL" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/grass, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"Kl" = ( +/obj/effect/turf_decal/weather/dirt/corner, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Kn" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"KA" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/structure/chair/plastic{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/hull_plating, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KL" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"KN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KW" = ( +/obj/effect/decal/cleanable/robot_debris/gib, +/obj/item/stack/sheet/metal/five{ + pixel_x = 3; + pixel_y = 9 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KX" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Le" = ( +/obj/effect/turf_decal/spline/plain/transparent/green{ + dir = 4; + icon_state = "spline_plain_cee" + }, +/obj/structure/frame/machine, +/obj/effect/spawner/lootdrop/salvage_matter_bin, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/rockplanet/nanotrasen) +"Lk" = ( +/turf/open/floor/plasteel/grimy, +/area/ruin/rockplanet/nanotrasen) +"Ly" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"LA" = ( +/obj/structure/cable{ + icon_state = "4-10" + }, +/turf/open/floor/plating/asteroid/rockplanet/plating/scorched, +/area/overmap_encounter/planetoid/rockplanet/explored) +"LN" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"LW" = ( +/obj/structure/rack, +/obj/machinery/recharger{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/item/stock_parts/cell{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/stock_parts/cell{ + pixel_x = -7; + pixel_y = 2 + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"LX" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cursed_money{ + pixel_x = 3; + pixel_y = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/rockplanet/nanotrasen) +"Md" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Me" = ( +/obj/structure/table, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 10; + pixel_y = 10 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 1; + pixel_y = 7 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 10; + pixel_y = 3 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 1; + pixel_y = 3 + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"Mi" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/pond, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ms" = ( +/obj/structure/flora/rock{ + icon_state = "basalt" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"MV" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"MW" = ( +/obj/structure/salvageable/autolathe, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"NV" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Oc" = ( +/obj/structure/cable/yellow{ + icon_state = "4-5" + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"Op" = ( +/turf/closed/wall/yesdiag, +/area/ruin/rockplanet/nanotrasen) +"Or" = ( +/mob/living/simple_animal/hostile/asteroid/basilisk/whitesands, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ot" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/nanotrasen) +"Ox" = ( +/obj/effect/turf_decal/spline/fancy/opaque/yellow{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/techfloor/hole, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/nanotrasen) +"OM" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/rockplanet/pond, +/area/overmap_encounter/planetoid/rockplanet/explored) +"OP" = ( +/obj/structure/rack, +/obj/item/storage/fancy/cigarettes/cigars, +/obj/item/lighter/greyscale, +/turf/open/floor/plating/asteroid/rockplanet/plasteel, +/area/overmap_encounter/planetoid/rockplanet/explored) +"OS" = ( +/obj/structure/rack, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/reagent_containers/hypospray/medipen/morphine{ + pixel_y = -3 + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"OY" = ( +/obj/item/reagent_containers/glass/bucket/wooden{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/stack/sheet/cotton/cloth/ten{ + pixel_x = -15; + pixel_y = 8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet/grass, +/area/overmap_encounter/planetoid/rockplanet/explored) +"OZ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Pn" = ( +/obj/machinery/power/smes/engineering{ + charge = 1000 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/ashplanet/rocky, +/area/ruin/rockplanet/nanotrasen) +"PD" = ( +/obj/structure/bed{ + icon_state = "dirty_mattress"; + name = "dirty mattress" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"PH" = ( +/obj/structure/frame/machine, +/turf/open/floor/plating/asteroid/rockplanet/hull_plating, +/area/overmap_encounter/planetoid/rockplanet/explored) +"PI" = ( +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/plating/asteroid/rockplanet/pond, +/area/overmap_encounter/planetoid/rockplanet/explored) +"PX" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/computer/secure_data/laptop{ + dir = 8; + pixel_x = 2; + pixel_y = 6 + }, +/turf/open/floor/plating/asteroid/rockplanet/hull_plating, +/area/ruin/rockplanet/nanotrasen) +"Qc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/command{ + dir = 8; + name = "Bridge"; + req_access_txt = "19" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/nanotrasen) +"Qv" = ( +/turf/template_noop, +/area/template_noop) +"Rj" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/effect/decal/cleanable/glass/plasma, +/turf/open/floor/plasteel/tech, +/area/ruin/rockplanet/nanotrasen) +"Rk" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/nanotrasen) +"Rn" = ( +/obj/machinery/power/shuttle/engine/electric, +/turf/open/floor/plating/asteroid/rockplanet/hull_plating, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RB" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RM" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/obj/structure/flora/rock{ + icon_state = "redrocks3" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RN" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/ruin/rockplanet/nanotrasen) +"Sh" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Si" = ( +/obj/machinery/power/shieldwallgen/atmos{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/hull_plating, +/area/overmap_encounter/planetoid/rockplanet/explored) +"So" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/item/stack/sheet/metal/five, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"SH" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"SN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Tb" = ( +/obj/structure/mecha_wreckage/ripley/firefighter, +/turf/open/floor/plating/asteroid/rockplanet/plating/scorched, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Tn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/nanotrasen) +"TJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/engineering{ + dir = 1; + name = "Engineering" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/nanotrasen) +"TL" = ( +/obj/effect/turf_decal/spline/fancy/opaque/yellow{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"TT" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ui" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/techfloor, +/obj/structure/frame/computer{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/rockplanet/nanotrasen) +"UX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"Vy" = ( +/obj/effect/decal/cleanable/xenoblood/xgibs, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wl" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wm" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/driftlog, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xb" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xj" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/plasteel, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"Xq" = ( +/obj/structure/flora/rock{ + icon_state = "redrocks1" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xy" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ruin/rockplanet/nanotrasen) +"XH" = ( +/turf/open/floor/plating/asteroid/rockplanet/pond, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XK" = ( +/turf/closed/wall/rust, +/area/ruin/rockplanet/nanotrasen) +"XX" = ( +/obj/structure/mineral_door/sandstone, +/turf/open/floor/plating/dirt/jungle/lit, +/area/ruin/rockplanet/nanotrasen) +"Yl" = ( +/obj/structure/table, +/obj/item/modular_computer/laptop{ + pixel_x = 3; + pixel_y = 8 + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"Ym" = ( +/turf/closed/wall/yesdiag, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Yq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/door_assembly/door_assembly_com{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/nanotrasen) +"Yy" = ( +/mob/living/simple_animal/hostile/asteroid/gutlunch, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"YC" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/structure/curtain, +/turf/open/floor/plating, +/area/ruin/rockplanet/nanotrasen) +"YQ" = ( +/turf/closed/wall/mineral/sandstone, +/area/ruin/rockplanet/nanotrasen) +"YT" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/rockplanet/nanotrasen) +"YW" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos, +/area/ruin/rockplanet/nanotrasen) +"Zc" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "6-8" + }, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"Ze" = ( +/obj/structure/closet/crate, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/obj/item/stack/sheet/metal/ten, +/turf/open/floor/plating/asteroid/rockplanet/plasteel, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Zf" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/machinery/light/small/broken/directional/south, +/obj/structure/rack, +/obj/item/stock_parts/subspace/crystal{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/stock_parts/subspace/filter, +/obj/item/circuitboard/machine/telecomms/relay, +/turf/open/floor/plating{ + icon_state = "wet_cracked2" + }, +/area/ruin/rockplanet/nanotrasen) +"Zy" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/rockplanet/nanotrasen) +"ZE" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ZO" = ( +/obj/structure/rack, +/turf/open/floor/plasteel/rockvault, +/area/ruin/rockplanet/nanotrasen) +"ZS" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ZZ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/machinery/light/small/broken/directional/north, +/obj/structure/table_frame, +/turf/open/floor/plating/asteroid/rockplanet/lit{ + icon_state = "plastic" + }, +/area/ruin/rockplanet/nanotrasen) + +(1,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +iN +iN +iN +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(2,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +iN +Kl +Hi +iN +vi +iN +iN +iN +iN +Kl +Hi +iN +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(3,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +iN +iN +Kl +pJ +Md +TT +iN +iN +iN +iN +iN +iN +aX +Ly +Hi +iN +iN +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(4,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +kV +iN +vi +iN +aX +gY +gY +TT +iN +iN +iN +iN +iN +iN +aX +gY +Ly +Hi +iN +iN +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(5,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +iN +iN +iN +aX +gY +gY +TT +iN +HG +iN +iN +iN +iN +rc +RB +gY +TT +iN +iN +iN +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(6,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +uT +iN +Er +aX +gY +pH +yb +iN +iN +iN +Kl +Hi +iN +iN +aX +gY +TT +iN +iN +iN +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(7,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +iN +iN +iN +iN +aX +gY +TT +iN +iN +iN +iN +rc +yb +iN +iN +aX +gY +TT +iN +iN +iN +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(8,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +tA +dJ +iN +iN +DP +KN +sK +Hi +iN +iN +iN +iN +iN +vl +Kl +Md +gY +TT +iN +iN +kV +iN +Qv +Qv +Qv +Qv +Qv +Qv +"} +(9,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +iN +iN +iN +iN +aX +gY +wW +TT +iN +iN +Yy +iN +iN +iN +aX +gY +gY +TT +iN +iN +iN +iN +Qv +Qv +Qv +Qv +Qv +Qv +"} +(10,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +iN +iN +iN +iN +aX +gY +gY +TT +iN +iN +iN +iN +iN +vi +DP +SN +gY +TT +vi +iN +iN +iN +Qv +Qv +Qv +Qv +Qv +Qv +"} +(11,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +jm +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +Ms +iN +iN +iN +Kl +Md +gY +gY +TT +iN +iN +iN +iN +iN +iN +aX +gY +gY +TT +iN +iN +iN +iN +Qv +Qv +Qv +Qv +Qv +Qv +"} +(12,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +iN +iN +iN +iN +iN +kV +aX +gY +gY +gY +TT +iN +KX +KX +KX +KX +iN +aX +gY +gY +TT +iN +iN +Ms +iN +Qv +Qv +Qv +Qv +Qv +Qv +"} +(13,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +iN +iN +iN +iN +iN +iN +aX +gY +gY +gY +TT +KX +iN +iN +iN +iN +EK +Md +gY +pH +yb +iN +iN +iN +iN +iN +Qv +Qv +Qv +Qv +Qv +"} +(14,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +Xq +iN +iN +KX +KX +KX +BA +gY +gY +pH +yb +iN +iN +iN +gn +DJ +aX +gY +gY +TT +iN +iN +iN +iN +iN +vi +Qv +Qv +Qv +Qv +Qv +"} +(15,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +KX +iN +iN +iN +rc +RB +gY +TT +iN +iN +iN +yw +aw +iN +aX +gY +mW +fd +iN +iN +Yy +iN +iN +iN +Qv +Qv +Qv +Qv +Qv +"} +(16,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +iN +iN +iN +aX +gY +TT +iN +iN +iN +HG +yw +vi +DP +qM +nB +uL +iN +Xq +iN +iN +iN +iN +iN +Qv +Qv +Qv +Qv +"} +(17,1,1) = {" +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +Er +iN +iN +iN +vi +aX +gY +TT +iN +iN +iN +iN +Kl +Hi +aX +gY +Ly +cU +iN +iN +iN +iN +Er +iN +iN +Qv +Qv +Qv +Qv +"} +(18,1,1) = {" +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +iN +iN +iN +aX +pH +sy +bv +bv +Io +TT +aX +TT +aX +gY +gY +TT +KX +iN +iN +iN +iN +tA +iN +Qv +Qv +Qv +Qv +"} +(19,1,1) = {" +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +Yy +iN +iN +Or +rc +vW +wq +vS +cO +Ir +TT +aX +Ly +Iw +gY +gY +Ly +Wl +pJ +Hi +vi +iN +iN +dJ +jm +jm +jm +Qv +"} +(20,1,1) = {" +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +iN +gn +iN +Kl +Md +dM +vS +PX +KA +TT +aX +gY +rW +RB +gY +Ym +sZ +jI +Ym +tN +iN +jm +jm +jm +jm +jm +Qv +"} +(21,1,1) = {" +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +iN +Kl +Md +gY +dM +vS +CN +CN +TT +rc +OZ +vW +Md +Ym +sZ +Ba +nf +tN +jm +jm +jm +jm +jm +jm +jm +Qv +"} +(22,1,1) = {" +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +Xq +iN +aX +gY +gY +NV +vF +CT +SH +iN +iN +iN +aX +gY +gY +vS +nf +Tb +Ym +jm +jm +jm +jm +jm +jm +Qv +Qv +"} +(23,1,1) = {" +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +iN +iN +iN +iN +aX +gY +gY +TT +Kl +Md +TT +iN +iN +iN +aX +gY +gY +mu +Si +sZ +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +"} +(24,1,1) = {" +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +iN +kV +iN +iN +iN +aX +gY +gY +TT +aX +gY +jC +iN +iN +iN +DP +lw +gY +rW +tI +jm +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +"} +(25,1,1) = {" +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +vi +iN +iN +iN +iN +iN +vi +aX +IH +gY +TT +Wm +gY +TT +Kl +Hi +iN +aX +gY +Xb +rH +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +"} +(26,1,1) = {" +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +iN +Er +iN +iN +iN +iN +rc +ZE +gY +TT +aX +gY +TT +aX +TT +Kl +Md +gY +gY +Ly +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +"} +(27,1,1) = {" +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +uT +iN +iN +iN +iN +iN +iN +vl +iN +iN +aX +gY +TT +rc +OZ +yb +aX +Ly +Md +gY +gY +EM +XK +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +"} +(28,1,1) = {" +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +iN +iN +iN +iN +iN +iN +iN +jD +Md +gY +Ly +JA +pJ +pJ +Md +gY +gY +lg +cl +Bc +XK +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +"} +(29,1,1) = {" +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +pJ +iN +iN +iN +iN +iN +Xq +iN +iN +iN +iN +aX +gY +gY +gY +oZ +gY +gY +gY +gY +Bt +lg +zx +Xk +XK +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +"} +(30,1,1) = {" +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +vM +Sh +Hi +iN +iN +tA +iN +iN +iN +Er +Kl +Md +gY +gY +YQ +Xy +XK +YQ +XX +XK +XK +XK +kN +pb +XK +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +"} +(31,1,1) = {" +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +PI +gY +gY +Ly +Hi +iN +iN +iN +iN +iN +iN +aX +gY +gY +mu +YQ +uh +XK +zg +zh +lg +Le +XK +XK +UX +XK +on +Zy +Zy +jm +jm +jm +jm +jm +jm +Qv +Qv +"} +(32,1,1) = {" +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +He +OM +gY +yn +Ly +Hi +iN +iN +vi +iN +iN +aX +gY +cr +ZS +YQ +dB +lg +ZZ +mz +lg +YT +lg +fw +oz +Kn +ga +LW +Zy +on +jm +jm +jm +jm +jm +Qv +Qv +"} +(33,1,1) = {" +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +XH +He +OM +JL +hV +TT +iN +iN +iN +iN +iN +cP +gY +YQ +YQ +YQ +fM +lg +GB +gs +lg +ei +XK +Rk +Jy +wf +df +Oc +Hr +Zy +on +jm +jm +jm +jm +Qv +Qv +"} +(34,1,1) = {" +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +XH +PI +OY +vM +TT +uT +kV +iN +Kl +pJ +Iw +gY +Cm +Zf +lg +uK +XK +XK +ip +lg +qL +XK +rY +Ot +kS +YW +Zc +wf +qU +on +jm +jm +jm +jm +Qv +Qv +"} +(35,1,1) = {" +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +XH +He +Mi +jm +yb +iN +iN +iN +aX +gY +uD +YQ +sR +Ec +CC +GA +Ox +hy +vN +FI +qp +TJ +Tn +EF +Zy +IG +Ab +cd +sX +on +jm +jm +jm +jm +Qv +Qv +"} +(36,1,1) = {" +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +XH +jm +jm +iN +Or +iN +Kl +AS +OZ +ZE +YQ +zp +Ec +fc +rD +TL +AX +oI +il +iZ +XK +lg +aL +Zy +pV +Fk +vw +wf +on +jm +jm +jm +jm +Qv +Qv +"} +(37,1,1) = {" +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +iN +aX +Ly +Hi +aX +YQ +rD +uo +lg +lg +ba +XK +Qc +lg +HL +XK +uh +uh +on +zz +KL +Pn +xG +on +jm +jm +jm +jm +Qv +Qv +"} +(38,1,1) = {" +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +iN +KX +aX +gY +IX +Md +YQ +So +fK +XK +uh +MV +lg +Ew +lg +fe +lg +Gu +on +Zy +Zy +zH +Zy +Zy +on +on +jm +jm +jm +Qv +Qv +"} +(39,1,1) = {" +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +Er +iN +BA +mW +uD +gY +XK +DR +lg +lg +Lk +PD +lg +Ew +lg +YC +lg +lg +Zy +Yl +FJ +KL +MW +Em +ZO +Zy +jm +jm +Qv +Qv +Qv +"} +(40,1,1) = {" +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Xq +iN +iN +Kl +pJ +Md +gY +BX +jw +Op +XK +Op +XK +XK +lg +lg +Yq +XK +XK +XK +jm +Zy +kf +wf +Fk +wf +FJ +wf +Zy +jm +jm +Qv +Qv +Qv +"} +(41,1,1) = {" +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +vi +aX +gY +gY +gY +Ly +AS +OZ +RB +gY +XK +LN +is +uB +EI +JN +xk +lg +jm +on +uN +FJ +aN +oW +wf +zU +on +jm +jm +Qv +Qv +Qv +"} +(42,1,1) = {" +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +iN +Kl +Md +gY +po +gY +gY +TT +iN +kV +jm +jm +LX +hc +uh +tX +fF +Ui +lg +jm +on +Me +wf +FJ +wf +wf +FJ +Zy +jm +Qv +Qv +Qv +Qv +"} +(43,1,1) = {" +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +Yy +Kl +Md +Ym +sZ +gY +gY +pH +RM +iN +iN +jm +jm +jm +zF +IY +jl +gO +Rj +lg +jm +on +EL +FJ +wf +hm +OS +hm +Zy +jm +Qv +Qv +Qv +Qv +"} +(44,1,1) = {" +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +vi +iN +iN +aX +Ym +tN +Bt +gY +gY +TT +iN +iN +iN +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +on +on +RN +Zy +Zy +on +on +jm +Qv +Qv +Qv +Qv +"} +(45,1,1) = {" +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +tA +iN +aX +uu +eo +eo +tN +Ym +TT +iN +Ms +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +vL +GK +GK +GK +GK +GK +jm +jm +Qv +Qv +Qv +Qv +Qv +"} +(46,1,1) = {" +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +Ym +sZ +nf +nf +nf +Ze +sZ +TT +iN +iN +jm +jm +jm +jm +jm +jm +jm +jm +jm +GK +GK +Vy +GK +GK +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +Qv +"} +(47,1,1) = {" +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +sZ +sZ +sZ +nf +Xj +OP +tN +Ym +TT +kV +iN +jm +jm +jm +jm +jm +jm +jm +jm +GK +GK +GK +GK +GK +jm +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +Qv +"} +(48,1,1) = {" +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +iN +iN +iN +tN +ha +zw +oq +or +Jf +Ym +OZ +yb +iN +jm +jm +jm +jm +jm +jm +jm +GK +GK +GK +KW +GK +GK +GK +jm +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +Qv +"} +(49,1,1) = {" +Qv +Qv +Qv +jm +jm +jm +iN +iN +iN +iN +Ms +iN +sZ +LA +eo +sZ +sn +Jf +Ym +iN +iN +iN +dJ +jm +jm +jm +jm +jm +En +GK +GK +GK +GK +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +Qv +"} +(50,1,1) = {" +Qv +Qv +Qv +jm +jm +jm +dJ +iN +iN +iN +iN +iN +PH +lz +eo +sZ +Jf +Ym +iN +iN +iN +Qv +jm +jm +jm +jm +jm +Vy +GK +GK +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +Qv +Qv +"} +(51,1,1) = {" +Qv +Qv +Qv +Qv +jm +Qv +iN +iN +iN +vi +iN +iN +Rn +FP +sZ +Ym +iN +iN +vi +iN +Qv +Qv +jm +jm +jm +GK +GK +GK +GK +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(52,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +iN +iN +vS +tN +Ym +iN +kV +Yy +iN +iN +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(53,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +uT +iN +sZ +Ym +iN +iN +tA +iN +iN +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(54,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +iN +iN +vi +iN +iN +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(55,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +Er +iN +iN +Qv +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(56,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +iN +iN +iN +iN +Qv +Qv +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(57,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +jm +jm +jm +jm +jm +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} +(58,1,1) = {" +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +Qv +"} diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_golemhijack.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_golemhijack.dmm deleted file mode 100644 index 8953d652b99a..000000000000 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_golemhijack.dmm +++ /dev/null @@ -1,1390 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"at" = ( -/obj/item/mining_scanner, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/overmap_encounter/planetoid/sand/explored) -"aZ" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ruin/unpowered) -"bb" = ( -/obj/item/shard{ - icon_state = "small" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"bW" = ( -/obj/structure/shuttle/engine/heater{ - dir = 1 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plating, -/area/ruin/unpowered) -"cj" = ( -/obj/effect/mob_spawn/human/corpse{ - mob_species = /datum/species/golem - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/mineral/titanium/white, -/area/ruin/unpowered) -"cs" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/white/line{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"cB" = ( -/obj/effect/turf_decal/trimline/opaque/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/machinery/mecha_part_fabricator/maint, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"cW" = ( -/obj/structure/door_assembly/door_assembly_min{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/unpowered) -"dz" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/turf/open/floor/mineral/plastitanium, -/area/overmap_encounter/planetoid/sand/explored) -"eM" = ( -/obj/item/pickaxe{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/card/id/mining, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/titanium/yellow, -/area/overmap_encounter/planetoid/sand/explored) -"fb" = ( -/obj/item/crowbar, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/overmap_encounter/planetoid/sand/explored) -"fo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/mineral/titanium/purple, -/area/ruin/unpowered) -"fz" = ( -/turf/open/floor/plating/asteroid/whitesands, -/area/ruin/unpowered) -"ha" = ( -/obj/item/rack_parts, -/turf/open/floor/mineral/plastitanium, -/area/overmap_encounter/planetoid/sand/explored) -"hh" = ( -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/overmap_encounter/planetoid/sand/explored) -"hi" = ( -/obj/item/resonator, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"ht" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/overmap_encounter/planetoid/sand/explored) -"hJ" = ( -/obj/item/shard{ - icon_state = "medium" - }, -/turf/open/floor/plating/asteroid/whitesands, -/area/overmap_encounter/planetoid/sand/explored) -"hM" = ( -/obj/item/storage/box, -/obj/item/light/bulb/broken, -/obj/item/light/tube/broken, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/unpowered) -"iE" = ( -/obj/structure/AIcore/deactivated, -/turf/open/floor/mineral/titanium/white, -/area/ruin/unpowered) -"jp" = ( -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/white/line{ - dir = 8 - }, -/obj/structure/table, -/obj/item/storage/firstaid/brute, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"jw" = ( -/obj/item/bedsheet/rd/royal_cape, -/obj/item/toy/figure/rd{ - name = "the Liberator action figure"; - pixel_x = 7; - pixel_y = -5; - toysay = "Yeah, go do whatever." - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating, -/area/ruin/unpowered) -"jy" = ( -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/trimline/opaque/purple/line{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"jO" = ( -/obj/item/storage/part_replacer/bluespace/tier2, -/turf/open/floor/mineral/titanium/white, -/area/ruin/unpowered) -"kJ" = ( -/obj/item/stack/sheet/mineral/wood, -/obj/item/stack/sheet/mineral/wood, -/obj/item/stack/sheet/mineral/wood, -/obj/item/stack/sheet/mineral/wood, -/obj/item/mining_scanner{ - pixel_x = -7; - pixel_y = 5 - }, -/turf/open/floor/mineral/plastitanium, -/area/overmap_encounter/planetoid/sand/explored) -"kT" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"lJ" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"mO" = ( -/obj/structure/window/reinforced, -/obj/structure/shuttle/engine/heater{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/unpowered) -"mS" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/turf/open/floor/plating, -/area/ruin/unpowered) -"nL" = ( -/obj/item/light/bulb/broken{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/light/tube/broken{ - pixel_x = -10; - pixel_y = 6 - }, -/obj/effect/decal/cleanable/oil, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel, -/area/ruin/unpowered) -"nX" = ( -/obj/machinery/door/airlock/titanium, -/turf/open/floor/plating, -/area/ruin/unpowered) -"nZ" = ( -/obj/item/storage/bag/ore, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/item/rack_parts, -/obj/item/resonator{ - pixel_x = -6; - pixel_y = -6 - }, -/turf/open/floor/mineral/plastitanium, -/area/overmap_encounter/planetoid/sand/explored) -"od" = ( -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/ruin/unpowered) -"oP" = ( -/obj/item/toy/plush/lizardplushie{ - desc = "Awww! It looks like it will snuggle all of your internal organs!"; - name = "ashwalker plushie" - }, -/obj/effect/mob_spawn/human/corpse{ - mob_species = /datum/species/lizard/ashwalker - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/mineral/titanium/white, -/area/ruin/unpowered) -"pb" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/overmap_encounter/planetoid/sand/explored) -"pC" = ( -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"pQ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"qU" = ( -/obj/structure/table, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/ruin/unpowered) -"qY" = ( -/obj/structure/door_assembly/door_assembly_com, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"rm" = ( -/obj/structure/girder, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"rC" = ( -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/white/corner{ - dir = 1 - }, -/obj/structure/table, -/obj/item/areaeditor/blueprints{ - desc = "Use to build new structures in the wastes."; - name = "land claim" - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"sb" = ( -/obj/structure/frame/machine, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"sh" = ( -/obj/machinery/door/airlock/titanium, -/turf/open/floor/plating/asteroid/whitesands, -/area/ruin/unpowered) -"sm" = ( -/obj/structure/frame/machine, -/turf/open/floor/plating, -/area/ruin/unpowered) -"sF" = ( -/obj/item/rack_parts, -/obj/item/storage/bag/ore, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/sand/explored) -"sO" = ( -/obj/item/storage/box, -/obj/structure/table, -/obj/item/light/bulb/broken, -/obj/item/light/tube/broken{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/shard, -/obj/effect/mob_spawn/human/corpse{ - mob_species = /datum/species/lizard/ashwalker - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"tg" = ( -/obj/item/light/bulb/broken{ - pixel_x = -3; - pixel_y = -9 - }, -/obj/item/shard{ - icon_state = "medium" - }, -/obj/effect/decal/cleanable/oil, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/unpowered) -"tv" = ( -/obj/item/light/bulb/broken{ - pixel_x = -4; - pixel_y = -4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/unpowered) -"tw" = ( -/obj/item/mining_scanner{ - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/titanium/yellow, -/area/overmap_encounter/planetoid/sand/explored) -"tH" = ( -/obj/item/pickaxe{ - pixel_x = -6; - pixel_y = 17 - }, -/obj/item/mining_scanner, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/overmap_encounter/planetoid/sand/explored) -"uA" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/overmap_encounter/planetoid/sand/explored) -"uY" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/ruin/unpowered) -"vc" = ( -/obj/item/pickaxe, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/mineral/titanium/white, -/area/ruin/unpowered) -"vd" = ( -/obj/item/rack_parts, -/turf/open/floor/plating/asteroid/whitesands, -/area/overmap_encounter/planetoid/sand/explored) -"vD" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "medium" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"vI" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/clothing/head/hardhat/mining{ - pixel_x = -6; - pixel_y = -6 - }, -/obj/item/clothing/head/hardhat/mining{ - pixel_x = -2; - pixel_y = -2 - }, -/obj/item/clothing/head/hardhat/mining{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/mineral/plastitanium, -/area/overmap_encounter/planetoid/sand/explored) -"wd" = ( -/obj/effect/turf_decal/trimline/opaque/purple/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/opaque/purple/corner{ - dir = 8 - }, -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "small" - }, -/obj/effect/mob_spawn/human/corpse{ - mob_species = /datum/species/golem - }, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"wl" = ( -/obj/machinery/washing_machine, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"ww" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"wH" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/ruin/unpowered) -"xA" = ( -/obj/item/storage/box/rndboards, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/mineral/titanium/white, -/area/ruin/unpowered) -"xJ" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/unpowered) -"xX" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/overmap_encounter/planetoid/sand/explored) -"yc" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/overmap_encounter/planetoid/sand/explored) -"yI" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/sand/explored) -"yX" = ( -/obj/item/light/bulb/broken{ - pixel_x = 3; - pixel_y = -1 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"zF" = ( -/turf/template_noop, -/area/template_noop) -"zP" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ruin/unpowered) -"Al" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard, -/obj/item/shard{ - icon_state = "small" - }, -/turf/open/floor/plating, -/area/ruin/unpowered) -"AG" = ( -/obj/machinery/mineral/ore_redemption{ - input_dir = 4; - output_dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/unpowered) -"AW" = ( -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/trimline/opaque/white/line{ - dir = 9 - }, -/obj/structure/table, -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/cut/green, -/obj/item/circuitboard/machine/reagentgrinder, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"CL" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/white/line{ - dir = 4 - }, -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/cut/random, -/obj/item/surgicaldrill/advanced, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"EO" = ( -/obj/effect/turf_decal/trimline/opaque/purple/line{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"EZ" = ( -/obj/machinery/door/airlock/titanium, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"FK" = ( -/obj/item/resonator, -/obj/effect/mob_spawn/human/corpse{ - mob_species = /datum/species/golem - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/mineral/titanium/purple, -/area/ruin/unpowered) -"Gf" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/purple/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"Gm" = ( -/turf/open/floor/plating, -/area/ruin/unpowered) -"Gn" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/titanium/purple, -/area/ruin/unpowered) -"Gs" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/freezer, -/area/overmap_encounter/planetoid/sand/explored) -"GZ" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "small" - }, -/turf/open/floor/plating, -/area/ruin/unpowered) -"Hm" = ( -/obj/item/card/id/mining, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/overmap_encounter/planetoid/sand/explored) -"HB" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/unpowered) -"HE" = ( -/obj/machinery/cell_charger, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/titanium/purple, -/area/ruin/unpowered) -"HK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"Ie" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating, -/area/ruin/unpowered) -"Il" = ( -/obj/machinery/shower, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/freezer, -/area/overmap_encounter/planetoid/sand/explored) -"IC" = ( -/turf/open/floor/mineral/titanium/purple, -/area/ruin/unpowered) -"JF" = ( -/obj/machinery/door/airlock/external, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"Ks" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/freezer, -/area/overmap_encounter/planetoid/sand/explored) -"Kt" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/decal/cleanable/oil/slippery, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"KT" = ( -/obj/structure/rack, -/obj/item/card/id/mining, -/obj/item/clothing/head/hardhat/mining, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/overmap_encounter/planetoid/sand/explored) -"Lz" = ( -/obj/structure/frame/machine, -/obj/effect/decal/cleanable/oil, -/obj/item/stack/cable_coil/cut/random, -/obj/item/clothing/suit/space/hardsuit/mining, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"Mx" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/whitesands, -/area/ruin/unpowered) -"MT" = ( -/obj/structure/frame/machine, -/obj/item/shard, -/obj/item/book/manual/wiki/research_and_development{ - name = "Sacred Text of the Liberator"; - pixel_y = -5 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"Nm" = ( -/obj/machinery/door/airlock/titanium, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"Nz" = ( -/turf/open/floor/plating/asteroid/whitesands, -/area/overmap_encounter/planetoid/sand/explored) -"Pe" = ( -/obj/structure/ore_box, -/turf/open/floor/mineral/plastitanium, -/area/overmap_encounter/planetoid/sand/explored) -"PD" = ( -/obj/item/pickaxe, -/turf/open/floor/plating, -/area/ruin/unpowered) -"PN" = ( -/obj/structure/rack, -/obj/item/spear, -/obj/item/shard{ - icon_state = "medium" - }, -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "small" - }, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"Qi" = ( -/obj/item/light/bulb/broken{ - pixel_x = -13; - pixel_y = -12 - }, -/obj/item/light/tube/broken{ - pixel_x = -10; - pixel_y = -6 - }, -/obj/item/shard{ - icon_state = "small" - }, -/obj/effect/decal/cleanable/oil, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel, -/area/ruin/unpowered) -"Qq" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/ruin/unpowered) -"Qr" = ( -/obj/item/shard, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/trimline/opaque/purple/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"QX" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/purple/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"Rb" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/white/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/white/corner, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"RJ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/titanium/white, -/area/ruin/unpowered) -"RX" = ( -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/emergency{ - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"SN" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "small" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"Tc" = ( -/obj/item/spear, -/obj/effect/mob_spawn/human/corpse{ - mob_species = /datum/species/lizard/ashwalker - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"Um" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/trimline/opaque/purple/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"Uz" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ruin/unpowered) -"Wm" = ( -/obj/structure/frame/machine, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"Wt" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/trimline/opaque/white/line{ - dir = 8 - }, -/obj/machinery/autolathe, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"WO" = ( -/obj/structure/door_assembly/door_assembly_com, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/ruin/unpowered) -"Xx" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating, -/area/ruin/unpowered) -"XQ" = ( -/obj/item/shard, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"YG" = ( -/obj/item/resonator/upgraded, -/obj/effect/mob_spawn/human/corpse{ - mob_species = /datum/species/golem - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/ruin/unpowered) -"YN" = ( -/obj/item/light/tube/broken{ - pixel_x = -10; - pixel_y = -7 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/ruin/unpowered) -"YZ" = ( -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/unpowered) -"ZD" = ( -/obj/structure/rack, -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket, -/obj/item/storage/bag/trash{ - pixel_x = 6 - }, -/turf/open/floor/plating, -/area/ruin/unpowered) -"ZM" = ( -/obj/item/spear/bonespear, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/unpowered) -"ZP" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/unpowered) -"ZT" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/oil/slippery, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"ZY" = ( -/obj/item/light/bulb/broken{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/light/tube/broken{ - pixel_x = 12; - pixel_y = -7 - }, -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/unpowered) - -(1,1,1) = {" -zF -zF -zF -zP -zP -aZ -aZ -rm -aZ -wH -Nz -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -"} -(2,1,1) = {" -Uz -Uz -aZ -zP -uY -ZD -RX -wH -Gs -pb -Nz -Nz -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -"} -(3,1,1) = {" -xJ -mO -aZ -wl -ZP -ZP -fz -aZ -Il -hh -pb -yI -Nz -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -"} -(4,1,1) = {" -xJ -mO -aZ -Xx -Tc -fz -fz -nX -Ks -Nz -hh -Nz -Nz -Nz -zF -zF -zF -zF -zF -zF -zF -zF -zF -"} -(5,1,1) = {" -Uz -Uz -kT -rm -Nm -kT -PD -rm -pb -hh -uA -ht -hJ -Nz -zF -zF -zF -zF -zF -zF -zF -zF -zF -"} -(6,1,1) = {" -xJ -mO -lJ -Gm -fz -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -mS -mS -aZ -nX -nX -aZ -aZ -Nz -zF -zF -"} -(7,1,1) = {" -xJ -mO -rm -fz -yX -od -kT -AW -jp -qU -Wt -lJ -Qr -jy -EO -lJ -ZP -Um -pQ -Ie -Nz -Nz -zF -"} -(8,1,1) = {" -aZ -aZ -aZ -sm -YG -HK -aZ -rC -hi -RJ -RJ -lJ -lJ -Gn -Gn -jw -pQ -XQ -pQ -WO -fb -hh -Nz -"} -(9,1,1) = {" -JF -pC -JF -HB -ZY -YN -EZ -ww -cj -lJ -iE -vc -IC -HE -sb -Gn -bb -SN -SN -Ie -yc -Nz -yc -"} -(10,1,1) = {" -JF -pC -JF -tv -hM -nL -EZ -RJ -RJ -oP -Gm -xA -lJ -Gn -Wm -fo -MT -wd -vD -wH -Nz -pb -pb -"} -(11,1,1) = {" -aZ -aZ -aZ -Lz -Qi -sO -aZ -cB -RJ -ZM -RJ -jO -Qq -FK -lJ -pQ -pQ -pQ -pQ -qY -pb -hh -Nz -"} -(12,1,1) = {" -xJ -bW -aZ -Kt -tg -PN -aZ -cs -lJ -Rb -CL -lJ -QX -Gf -Mx -pQ -Gf -pQ -lJ -pb -Nz -Nz -Nz -"} -(13,1,1) = {" -xJ -bW -aZ -ZT -YZ -aZ -aZ -aZ -aZ -cW -aZ -AG -Al -aZ -aZ -aZ -cW -GZ -Ie -Nz -zF -zF -zF -"} -(14,1,1) = {" -Uz -Uz -aZ -aZ -sh -aZ -vI -nZ -Hm -xX -Nz -Nz -Nz -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -"} -(15,1,1) = {" -xJ -mO -aZ -Pe -tw -pb -at -Nz -Nz -Nz -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -"} -(16,1,1) = {" -xJ -mO -aZ -kJ -eM -tH -pb -Hm -Nz -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -"} -(17,1,1) = {" -Uz -Uz -aZ -aZ -dz -sF -ha -KT -vd -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -"} -(18,1,1) = {" -zF -zF -zF -aZ -aZ -Nz -Nz -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -zF -"} diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_youreinsane.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_youreinsane.dmm deleted file mode 100644 index e8932e8b51ed..000000000000 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_youreinsane.dmm +++ /dev/null @@ -1,320 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/template_noop, -/area/template_noop) -"b" = ( -/turf/open/floor/plating{ - icon_state = "panelscorched"; - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"c" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating{ - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"f" = ( -/turf/open/floor/plating/asteroid/whitesands, -/area/ruin/unpowered) -"g" = ( -/obj/effect/turf_decal/industrial/outline/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"i" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/item/disk/plantgene, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"j" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 - }, -/turf/closed/wall/r_wall, -/area/ruin/unpowered) -"k" = ( -/obj/structure/window/plasma/reinforced, -/obj/machinery/power/rad_collector/anchored, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 - }, -/turf/open/floor/plating/asteroid/whitesands, -/area/ruin/unpowered) -"n" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"r" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/unpowered) -"s" = ( -/obj/effect/turf_decal/industrial/outline/yellow{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"t" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/engine, -/area/ruin/unpowered) -"u" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/turf/closed/wall/r_wall, -/area/ruin/unpowered) -"w" = ( -/turf/closed/wall/r_wall, -/area/ruin/unpowered) -"x" = ( -/obj/effect/mob_spawn/human/engineer{ - gender = "female" - }, -/obj/item/clothing/suit/radiation, -/obj/item/clothing/head/radiation{ - pixel_x = -1; - pixel_y = 9 - }, -/obj/item/geiger_counter, -/turf/open/floor/engine, -/area/ruin/unpowered) -"y" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/ruin/unpowered) -"z" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"B" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered) -"C" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/unpowered) -"E" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"G" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"H" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating{ - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"I" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/unpowered) -"J" = ( -/obj/structure/window/plasma/reinforced{ - dir = 1 - }, -/obj/structure/frame/machine, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"L" = ( -/obj/structure/window/plasma/reinforced{ - dir = 1 - }, -/obj/machinery/power/rad_collector/anchored, -/obj/machinery/atmospherics/pipe/manifold/general/visible, -/turf/open/floor/plating{ - icon_state = "platingdmg1"; - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"Q" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, -/obj/structure/girder, -/turf/open/floor/plating{ - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"R" = ( -/obj/structure/window/plasma/reinforced, -/obj/machinery/power/rad_collector/anchored, -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 1 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"S" = ( -/turf/open/floor/plating{ - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"T" = ( -/obj/structure/window/plasma/reinforced{ - dir = 1 - }, -/obj/structure/frame/machine, -/obj/machinery/atmospherics/pipe/manifold/general/visible, -/turf/open/floor/engine, -/area/ruin/unpowered) -"V" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg1"; - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"W" = ( -/obj/machinery/door/airlock/engineering/glass/critical{ - heat_proof = 1; - name = "Supermatter Chamber"; - req_access_txt = "10"; - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"X" = ( -/obj/structure/girder, -/turf/open/floor/plating{ - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) -"Y" = ( -/obj/machinery/door/airlock/engineering/glass/critical{ - heat_proof = 1; - name = "Supermatter Chamber"; - req_access_txt = "10"; - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/unpowered) -"Z" = ( -/obj/structure/window/plasma/reinforced, -/obj/structure/frame/machine, -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 1 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1"; - initial_gas_mix = "ws_atmos" - }, -/area/ruin/unpowered) - -(1,1,1) = {" -a -z -X -w -W -w -H -B -a -"} -(2,1,1) = {" -s -z -w -z -x -G -w -g -a -"} -(3,1,1) = {" -w -X -Q -u -Y -j -y -w -w -"} -(4,1,1) = {" -a -V -R -I -i -r -L -f -a -"} -(5,1,1) = {" -a -z -Z -I -E -r -T -n -b -"} -(6,1,1) = {" -S -S -k -I -C -t -J -C -a -"} -(7,1,1) = {" -X -w -w -w -c -w -w -X -w -"} diff --git a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm index 73c7dd734c00..f477717d9b81 100644 --- a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm +++ b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm @@ -82,7 +82,7 @@ dir = 1 }, /obj/effect/turf_decal/corner/opaque/grey, -/obj/machinery/rnd/production/protolathe, +/obj/machinery/rnd/production/techfab/department/medical, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav) "cW" = ( @@ -1924,7 +1924,7 @@ /obj/effect/turf_decal/trimline/opaque/purple/line{ dir = 4 }, -/turf/open/space, +/turf/open/floor/plating, /area/ruin/space/has_grav) "XX" = ( /obj/structure/window/reinforced{ diff --git a/_maps/RandomRuins/SpaceRuins/lab4071.dmm b/_maps/RandomRuins/SpaceRuins/lab4071.dmm index 2f4c94d3c939..0e35f81af2f8 100644 --- a/_maps/RandomRuins/SpaceRuins/lab4071.dmm +++ b/_maps/RandomRuins/SpaceRuins/lab4071.dmm @@ -231,17 +231,6 @@ /turf/open/floor/plasteel/mono/white, /area/ruin/space/has_grav/crazylab/crew) "dO" = ( -/obj/effect/mob_spawn/human/syndicate/battlecruiser/assault{ - assignedrole = "Unlicensed Chemist"; - dir = 4; - flavour_text = "Despite all the setbacks, you have finally found a place to practice your craft in relative peace, thanks to a shady deal with a criminal organization. You now work for them as a contract chemist, but your goal of profit leaves you plenty of options."; - id_job = "Unlicensed Chemist"; - important_info = "Work together, use chemistry to turn a profit and help out the population of the Outer Rim."; - mob_name = "unlicensed chemist"; - name = "Unlicensed Chemist"; - outfit = /datum/outfit/job/chemist/juniorchemist; - short_desc = "You are a chemist in an illegal laboratory." - }, /obj/machinery/button/door{ id = 64; name = "Dorm Shutters"; @@ -254,34 +243,6 @@ /obj/structure/bookcase/random/reference, /turf/open/floor/plasteel/grimy, /area/ruin/space/has_grav/crazylab/crew) -"eh" = ( -/obj/effect/mob_spawn/human/syndicate/battlecruiser/assault{ - assignedrole = "Unlicensed Chemist"; - dir = 4; - flavour_text = "Despite all the setbacks, you have finally found a place to practice your craft in relative peace, thanks to a shady deal with a criminal organization. You now work for them as a contract chemist, but your goal of profit leaves you plenty of options."; - id_job = "Unlicensed Chemist"; - important_info = "Work together, use chemistry to turn a profit and help out the population of the Outer Rim."; - mob_name = "unlicensed chemist"; - name = "Unlicensed Chemist"; - outfit = /datum/outfit/job/chemist/juniorchemist; - short_desc = "You are a chemist in an illegal laboratory." - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/crazylab/crew) -"et" = ( -/obj/effect/mob_spawn/human/syndicate/battlecruiser/assault{ - assignedrole = "Unlicensed Chemist"; - dir = 8; - flavour_text = "Despite all the setbacks, you have finally found a place to practice your craft in relative peace, thanks to a shady deal with a criminal organization. You now work for them as a contract chemist, but your goal of profit leaves you plenty of options."; - id_job = "Unlicensed Chemist"; - important_info = "Work together, use chemistry to turn a profit and help out the population of the Outer Rim."; - mob_name = "unlicensed chemist"; - name = "Unlicensed Chemist"; - outfit = /datum/outfit/job/chemist/juniorchemist; - short_desc = "You are a chemist in an illegal laboratory." - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/crazylab/crew) "eA" = ( /obj/structure/bookcase/random/nonfiction, /turf/open/floor/plasteel/grimy, @@ -570,17 +531,6 @@ /area/ruin/space/has_grav/crazylab/crew) "jL" = ( /obj/machinery/light/directional/south, -/obj/effect/mob_spawn/human/syndicate/battlecruiser/assault{ - assignedrole = "Unlicensed Chemist"; - dir = 4; - flavour_text = "Despite all the setbacks, you have finally found a place to practice your craft in relative peace, thanks to a shady deal with a criminal organization. You now work for them as a contract chemist, but your goal of profit leaves you plenty of options."; - id_job = "Unlicensed Chemist"; - important_info = "Work together, use chemistry to turn a profit and help out the population of the Outer Rim."; - mob_name = "unlicensed chemist"; - name = "Unlicensed Chemist"; - outfit = /datum/outfit/job/chemist/juniorchemist; - short_desc = "You are a chemist in an illegal laboratory." - }, /turf/open/floor/plasteel/grimy, /area/ruin/space/has_grav/crazylab/crew) "jO" = ( @@ -4957,7 +4907,7 @@ GV GV ao cq -eh +gP gV jG lN @@ -4995,7 +4945,7 @@ GV GV ao cq -et +gP hf jO lS diff --git a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm deleted file mode 100644 index 43ec10644a73..000000000000 --- a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm +++ /dev/null @@ -1,377 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/template_noop, -/area/template_noop) -"b" = ( -/turf/closed/wall/mineral/titanium/overspace, -/area/ruin/space/has_grav/powered/mechtransport) -"c" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ruin/space/has_grav/powered/mechtransport) -"d" = ( -/turf/closed/wall/mineral/titanium, -/area/ruin/space/has_grav/powered/mechtransport) -"e" = ( -/obj/machinery/power/terminal, -/turf/closed/wall/mineral/titanium/overspace, -/area/ruin/space/has_grav/powered/mechtransport) -"f" = ( -/obj/structure/closet/crate/secure/loot, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/mineral/titanium/blue, -/area/ruin/space/has_grav/powered/mechtransport) -"g" = ( -/obj/structure/closet/crate/secure/loot, -/turf/open/floor/mineral/titanium/blue, -/area/ruin/space/has_grav/powered/mechtransport) -"h" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "mechaship1"; - name = "Mecha Cargo Ship Doors" - }, -/turf/open/floor/mineral/titanium/blue, -/area/ruin/space/has_grav/powered/mechtransport) -"i" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/titanium/blue, -/area/ruin/space/has_grav/powered/mechtransport) -"j" = ( -/obj/machinery/computer/helm{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/blue, -/area/ruin/space/has_grav/powered/mechtransport) -"k" = ( -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/mineral/titanium/blue, -/area/ruin/space/has_grav/powered/mechtransport) -"l" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/mineral/titanium/blue, -/area/ruin/space/has_grav/powered/mechtransport) -"m" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/titanium/blue, -/area/ruin/space/has_grav/powered/mechtransport) -"n" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/blue, -/area/ruin/space/has_grav/powered/mechtransport) -"o" = ( -/obj/machinery/power/smes/shuttle/micro/precharged, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/closed/wall/mineral/titanium/overspace, -/area/ruin/space/has_grav/powered/mechtransport) -"p" = ( -/obj/machinery/door/airlock/hatch{ - name = "Cockpit"; - req_access_txt = "101" - }, -/turf/open/floor/mineral/titanium, -/area/ruin/space/has_grav/powered/mechtransport) -"r" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/mineral/titanium/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"s" = ( -/turf/open/floor/mineral/titanium/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"t" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/titanium/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"u" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/mineral/titanium/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"v" = ( -/obj/structure/mecha_wreckage/phazon, -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"w" = ( -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"x" = ( -/obj/structure/mecha_wreckage/ripley/firefighter, -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"y" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"z" = ( -/obj/structure/mecha_wreckage/ripley, -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"A" = ( -/obj/mecha/working/ripley{ - ruin_mecha = 1 - }, -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"B" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"C" = ( -/obj/effect/decal/cleanable/robot_debris/up, -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"D" = ( -/obj/machinery/door/poddoor{ - id = "mechaship1"; - name = "Cargo Bay Door"; - dir = 4 - }, -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"E" = ( -/obj/effect/decal/cleanable/robot_debris, -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"F" = ( -/obj/structure/mecha_wreckage/durand, -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"G" = ( -/obj/item/stack/tile/plasteel, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"H" = ( -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"I" = ( -/obj/structure/lattice, -/turf/open/space, -/area/ruin/space/has_grav/powered/mechtransport) -"J" = ( -/obj/machinery/computer/mecha{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/blue, -/area/ruin/space/has_grav/powered/mechtransport) -"K" = ( -/obj/effect/decal/cleanable/robot_debris/gib, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"L" = ( -/obj/effect/decal/cleanable/robot_debris, -/obj/item/stack/tile/plasteel, -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"M" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg1" - }, -/area/ruin/space/has_grav/powered/mechtransport) -"N" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg2" - }, -/area/ruin/space/has_grav/powered/mechtransport) -"O" = ( -/obj/structure/mecha_wreckage/odysseus, -/turf/open/floor/mineral/titanium/yellow/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"P" = ( -/obj/item/stack/sheet/metal, -/turf/open/space, -/area/ruin/space/has_grav/powered/mechtransport) -"Q" = ( -/obj/structure/mecha_wreckage/gygax, -/turf/open/floor/mineral/titanium/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"R" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg3" - }, -/area/ruin/space/has_grav/powered/mechtransport) -"S" = ( -/obj/item/stack/rods, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"T" = ( -/turf/open/space, -/area/ruin/space/has_grav/powered/mechtransport) -"V" = ( -/obj/item/stack/rods, -/turf/open/space, -/area/ruin/space/has_grav/powered/mechtransport) -"W" = ( -/obj/machinery/power/smes/shuttle/micro/precharged, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/closed/wall/mineral/titanium, -/area/ruin/space/has_grav/powered/mechtransport) -"X" = ( -/obj/machinery/power/shuttle/engine/electric, -/obj/structure/cable, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/powered/mechtransport) -"Y" = ( -/obj/machinery/power/terminal, -/turf/closed/wall/mineral/titanium, -/area/ruin/space/has_grav/powered/mechtransport) - -(1,1,1) = {" -a -a -a -b -d -d -d -d -G -I -M -P -T -T -T -"} -(2,1,1) = {" -b -d -d -d -r -v -B -E -H -S -H -I -R -V -T -"} -(3,1,1) = {" -c -f -k -p -s -w -w -F -w -H -N -I -I -T -T -"} -(4,1,1) = {" -c -g -l -d -t -w -C -G -F -w -G -H -P -T -T -"} -(5,1,1) = {" -c -h -m -d -s -x -w -w -y -K -O -s -S -I -T -"} -(6,1,1) = {" -c -i -n -d -t -y -z -w -H -L -O -H -H -T -T -"} -(7,1,1) = {" -c -j -J -d -t -z -w -w -y -w -w -Q -Y -o -X -"} -(8,1,1) = {" -b -d -d -d -u -A -y -w -w -B -y -s -Y -W -X -"} -(9,1,1) = {" -a -a -a -b -d -d -D -D -D -D -D -d -e -o -X -"} diff --git a/_maps/RandomRuins/SpaceRuins/nuclear_dump.dmm b/_maps/RandomRuins/SpaceRuins/nuclear_dump.dmm deleted file mode 100644 index a953fc3f543c..000000000000 --- a/_maps/RandomRuins/SpaceRuins/nuclear_dump.dmm +++ /dev/null @@ -1,1719 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ac" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 - }, -/turf/open/floor/plasteel/dark/airless, -/area/space/nearstation) -"ce" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"cw" = ( -/obj/effect/turf_decal/syndicateemblem/top/right, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"cU" = ( -/obj/structure/radioactive/waste, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/unpowered) -"dl" = ( -/obj/machinery/power/emitter{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/vault, -/area/ruin/space/has_grav/nucleardump/supermatter) -"eo" = ( -/obj/structure/radioactive, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"fi" = ( -/turf/closed/wall, -/area/ruin/space/has_grav/nucleardump) -"fu" = ( -/obj/structure/radioactive, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/unpowered) -"gs" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"gw" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"gO" = ( -/mob/living/simple_animal/hostile/hivebot/mechanic, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"he" = ( -/obj/effect/mob_spawn/human/corpse/charredskeleton, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump/supermatter) -"ht" = ( -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/nucleardump) -"hH" = ( -/obj/item/paper/crumpled, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"im" = ( -/obj/effect/decal/cleanable/blood/gibs/body, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"iN" = ( -/obj/structure/lattice, -/turf/template_noop, -/area/space/nearstation) -"iZ" = ( -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"jm" = ( -/turf/closed/wall/r_wall/rust, -/area/ruin/space/has_grav/nucleardump) -"jD" = ( -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/nucleardump) -"jN" = ( -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/nucleardump/supermatter) -"kB" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"kN" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"kP" = ( -/obj/effect/turf_decal/radiation{ - pixel_y = 32 - }, -/turf/template_noop, -/area/space/nearstation) -"la" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/middle/right, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"ld" = ( -/obj/effect/decal/cleanable/blood/drip, -/obj/structure/radioactive, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"ls" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/nucleardump) -"lF" = ( -/obj/item/stack/sheet/plasmaglass, -/turf/open/floor/vault, -/area/ruin/space/has_grav/nucleardump/supermatter) -"lU" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/structure/sign/warning/radiation{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"ma" = ( -/turf/open/floor/plating/asteroid/airless, -/area/ruin/unpowered) -"mj" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/structure/radioactive/stack, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"mX" = ( -/obj/structure/radioactive, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/nucleardump) -"nM" = ( -/obj/item/flashlight/flare, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/nucleardump) -"ov" = ( -/obj/machinery/atmospherics/components/unary/tank/air, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"oC" = ( -/turf/closed/wall/r_wall/rust, -/area/ruin/space/has_grav/nucleardump/supermatter) -"oP" = ( -/obj/effect/decal/cleanable/blood, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"oT" = ( -/turf/closed/mineral/random, -/area/ruin/unpowered) -"oU" = ( -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/turf/open/floor/plasteel/dark/airless, -/area/space/nearstation) -"oV" = ( -/obj/effect/turf_decal/radiation{ - dir = 4; - pixel_x = -32 - }, -/turf/template_noop, -/area/space/nearstation) -"pe" = ( -/obj/effect/turf_decal/industrial/fire, -/turf/open/floor/plasteel/dark/airless, -/area/space/nearstation) -"pf" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"pJ" = ( -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"qy" = ( -/obj/effect/decal/cleanable/blood/footprints, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"qA" = ( -/obj/item/geiger_counter, -/turf/open/floor/plasteel/dark/airless, -/area/space/nearstation) -"qF" = ( -/obj/item/pipe, -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"qH" = ( -/obj/machinery/door/airlock/grunge, -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"qK" = ( -/obj/structure/rack, -/obj/item/storage/box/lethalshot, -/obj/item/gun/ballistic/shotgun/automatic/combat, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/nucleardump) -"rg" = ( -/obj/item/stack/ore/uranium, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/unpowered) -"rp" = ( -/obj/structure/radioactive/stack, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"rM" = ( -/obj/item/pipe, -/turf/open/floor/vault, -/area/ruin/space/has_grav/nucleardump/supermatter) -"rS" = ( -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"sN" = ( -/obj/structure/grille, -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"ua" = ( -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"un" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/eight, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/nucleardump) -"uo" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/nucleardump) -"ur" = ( -/obj/effect/turf_decal/syndicateemblem/top/left, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"uF" = ( -/obj/machinery/power/port_gen/pacman/super, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/nucleardump) -"vh" = ( -/obj/structure/sign/warning/radiation/rad_area{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/dark/airless, -/area/space/nearstation) -"vr" = ( -/obj/item/slimecross/chilling/green, -/turf/open/floor/vault, -/area/ruin/space/has_grav/nucleardump/supermatter) -"wc" = ( -/obj/structure/radioactive/supermatter, -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"wr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon{ - dir = 4 - }, -/obj/machinery/light/small/broken/directional/south, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/nucleardump) -"xR" = ( -/turf/closed/wall, -/area/space/nearstation) -"yn" = ( -/obj/machinery/light/broken/directional/north, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/nucleardump) -"yw" = ( -/obj/structure/grille/broken, -/obj/item/stack/sheet/plasmarglass, -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"zp" = ( -/obj/structure/cable{ - icon_state = "4-9" - }, -/turf/open/floor/vault, -/area/ruin/space/has_grav/nucleardump/supermatter) -"zx" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"zC" = ( -/obj/structure/catwalk, -/turf/template_noop, -/area/space/nearstation) -"zE" = ( -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"AO" = ( -/obj/structure/closet/crate/secure/loot, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/nucleardump) -"Bl" = ( -/mob/living/simple_animal/hostile/hivebot/range, -/obj/machinery/light/broken/directional/north, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"BW" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/vault, -/area/ruin/space/has_grav/nucleardump/supermatter) -"BX" = ( -/obj/structure/cable{ - icon_state = "4-6" - }, -/obj/machinery/atmospherics/pipe/manifold, -/turf/open/floor/vault, -/area/ruin/space/has_grav/nucleardump/supermatter) -"Dq" = ( -/obj/item/stack/sheet/mineral/plasma/five, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"DD" = ( -/obj/effect/decal/cleanable/blood/gibs/old, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"Ed" = ( -/mob/living/simple_animal/hostile/hivebot, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"EJ" = ( -/obj/structure/closet/secure/loot, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/nucleardump) -"EL" = ( -/obj/structure/barricade/wooden, -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/fire/fulltile, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"Fj" = ( -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"GN" = ( -/obj/effect/spawner/lootdrop/snowdin/dungeonmid, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/nucleardump) -"Hg" = ( -/obj/structure/closet/radiation, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"HH" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"Io" = ( -/obj/machinery/power/rad_collector, -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"IJ" = ( -/obj/effect/spawner/structure/window/hollow/plasma/directional{ - dir = 4 - }, -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"IM" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"Jb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/top/middle, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"Km" = ( -/obj/structure/window/plasma/reinforced/fulltile/unanchored, -/turf/open/floor/vault, -/area/ruin/space/has_grav/nucleardump/supermatter) -"KB" = ( -/turf/closed/wall, -/area/ruin/unpowered) -"KF" = ( -/turf/open/floor/plasteel/dark/airless, -/area/space/nearstation) -"KS" = ( -/mob/living/simple_animal/hostile/carp, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/bottom/middle, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"Ln" = ( -/obj/structure/radioactive/waste, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/nucleardump) -"LH" = ( -/obj/item/stack/ore/uranium, -/obj/item/stack/ore/uranium, -/obj/item/stack/ore/uranium, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/unpowered) -"Mo" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"MP" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"MX" = ( -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/nucleardump) -"Nk" = ( -/obj/machinery/atmospherics/components/unary/vent_pump{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/nucleardump) -"NV" = ( -/obj/structure/grille/broken, -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"Oq" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"OB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/bottom/right, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"OF" = ( -/obj/structure/radioactive/waste, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/nucleardump) -"OL" = ( -/obj/machinery/atmospherics/components/binary/valve/on, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"OP" = ( -/obj/item/stack/sheet/plasmarglass, -/turf/open/floor/vault, -/area/ruin/space/has_grav/nucleardump/supermatter) -"Py" = ( -/obj/structure/sign/warning/longtermwaste{ - pixel_y = 32 - }, -/obj/effect/mob_spawn/human/skeleton, -/turf/open/floor/plasteel/dark/airless, -/area/space/nearstation) -"Qa" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/vault, -/area/ruin/space/has_grav/nucleardump/supermatter) -"Qd" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"QE" = ( -/obj/structure/radioactive/stack, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/nucleardump) -"Ra" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"Ry" = ( -/obj/machinery/light/built/directional/south, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"RC" = ( -/mob/living/simple_animal/chicken, -/obj/item/melee/greykingsword, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/middle/middle, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"RD" = ( -/obj/effect/turf_decal/industrial/hatch/red, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/closet/crate/radiation, -/obj/item/stack/sheet/mineral/uranium/twenty, -/obj/item/coin/uranium, -/obj/effect/spawner/lootdrop/maintenance/four, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"RZ" = ( -/obj/machinery/door/airlock/vault/derelict, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump/supermatter) -"SS" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"Tm" = ( -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"Tw" = ( -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"Ud" = ( -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"UW" = ( -/turf/open/floor/plating/airless, -/area/space/nearstation) -"UY" = ( -/obj/structure/radioactive/waste, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"Vb" = ( -/obj/effect/radiation, -/turf/closed/wall, -/area/ruin/space/has_grav/nucleardump) -"VD" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/light/directional/east, -/turf/open/floor/engine/air, -/area/ruin/space/has_grav/nucleardump/supermatter) -"VE" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"VK" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/nucleardump) -"VL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/middle/left, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"VU" = ( -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/nucleardump) -"WH" = ( -/obj/effect/spawner/lootdrop/snowdin/dungeonlite, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/nucleardump) -"Yg" = ( -/obj/machinery/advanced_airlock_controller{ - pixel_y = -25 - }, -/obj/effect/mob_spawn/human/corpse/frontier, -/obj/item/tank/internals/emergency_oxygen/empty, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/nucleardump) -"Yj" = ( -/mob/living/simple_animal/hostile/hivebot/strong, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/nucleardump) -"Yx" = ( -/turf/open/floor/vault, -/area/ruin/space/has_grav/nucleardump/supermatter) -"YZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/bottom/left, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) -"Zh" = ( -/obj/machinery/door/airlock/grunge, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"Zi" = ( -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/structure/radioactive/waste, -/obj/structure/sign/warning/radiation{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/nucleardump) -"Zn" = ( -/turf/template_noop, -/area/template_noop) -"ZO" = ( -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/nucleardump) - -(1,1,1) = {" -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -"} -(2,1,1) = {" -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -"} -(3,1,1) = {" -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -oT -oT -oT -oT -oT -oT -oT -oT -Zn -Zn -Zn -Zn -Zn -Zn -"} -(4,1,1) = {" -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -Zn -Zn -Zn -Zn -Zn -Zn -"} -(5,1,1) = {" -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -Zn -Zn -Zn -"} -(6,1,1) = {" -Zn -Zn -Zn -Zn -Zn -Zn -oT -oT -oT -oT -oT -oT -oT -oT -fi -fi -fi -fi -fi -fi -fi -oT -oT -oT -oT -oT -oT -oT -oT -Zn -Zn -Zn -"} -(7,1,1) = {" -Zn -Zn -Zn -Zn -Zn -Zn -oT -oT -oT -oT -oT -oT -oT -fi -fi -VU -iZ -iZ -ZO -mX -fi -fi -oT -oT -oT -oT -oT -oT -oT -Zn -Zn -Zn -"} -(8,1,1) = {" -Zn -Zn -Zn -Zn -Zn -Zn -oT -oT -oT -oT -oT -oT -oT -fi -Ln -pJ -ur -VL -YZ -iZ -VU -fi -oT -oT -oT -oT -oT -oT -oT -Zn -Zn -Zn -"} -(9,1,1) = {" -Zn -Zn -Zn -oT -oT -oT -oT -oT -oT -oT -oT -oT -fu -fi -VU -iZ -Jb -RC -KS -gs -VU -fi -fi -fi -fi -fi -oT -oT -oT -Zn -Zn -Zn -"} -(10,1,1) = {" -Zn -Zn -Zn -oT -oT -oT -oT -oT -oT -oT -ma -rg -LH -fi -QE -iZ -cw -la -OB -gs -MX -fi -rp -RD -eo -fi -oT -oT -oT -Zn -Zn -Zn -"} -(11,1,1) = {" -Zn -Zn -oT -oT -oT -oT -oT -oT -ma -rg -fu -ma -cU -fi -ls -VU -kN -gs -Tw -VU -mX -fi -Ud -eo -UY -fi -oT -oT -oT -Zn -Zn -Zn -"} -(12,1,1) = {" -Zn -Zn -oT -oT -fi -fi -fi -fi -fi -fi -fi -fi -fi -fi -Vb -fi -fi -pf -fi -fi -fi -fi -ua -ua -Ud -fi -oT -oT -oT -Zn -Zn -Zn -"} -(13,1,1) = {" -Zn -Zn -oT -oT -fi -AO -AO -qK -fi -mj -Tm -kB -Tm -ld -Tm -kB -Tm -Ed -Tm -Fj -Hg -fi -Oq -ua -im -fi -oT -oT -oT -Zn -Zn -Zn -"} -(14,1,1) = {" -Zn -Zn -oT -oT -fi -EJ -GN -ht -fi -Bl -DD -Tm -hH -Tm -Tm -ld -oP -qy -qy -qy -Ry -fi -zE -gO -WH -fi -oT -oT -oT -Zn -Zn -Zn -"} -(15,1,1) = {" -Zn -Zn -Zn -oT -fi -yn -Yj -ht -Zh -Tm -SS -Fj -fi -fi -fi -fi -fi -fi -fi -MP -gw -qH -VE -VE -ce -fi -oT -oT -oT -Zn -Zn -Zn -"} -(16,1,1) = {" -Zn -Zn -Zn -oT -fi -uF -OF -un -fi -lU -zx -Zi -fi -oT -oT -oT -oT -oT -jD -VK -jD -jD -ov -OL -Mo -fi -oT -oT -oT -Zn -Zn -Zn -"} -(17,1,1) = {" -Zn -Zn -oT -oT -fi -fi -fi -fi -fi -fi -EL -fi -fi -oT -oT -oT -oT -oT -jD -Nk -Yg -jD -fi -fi -fi -fi -oT -oT -Zn -Zn -Zn -Zn -"} -(18,1,1) = {" -Zn -Zn -oT -oT -oT -jN -jN -jN -jN -jN -RZ -oC -oC -jN -jN -oC -oT -oT -jm -nM -wr -jm -oT -oT -oT -oT -oT -Zn -Zn -Zn -Zn -Zn -"} -(19,1,1) = {" -Zn -oT -oT -oT -oT -oC -jN -oC -jN -jN -he -jN -jN -jN -oC -oC -oT -oT -jD -jD -uo -jm -oT -oT -Zn -iN -Zn -Zn -Zn -Zn -Zn -Zn -"} -(20,1,1) = {" -Zn -oT -oT -oT -oT -oC -jN -Yx -rM -Yx -Qa -Yx -BX -Yx -oC -jN -oT -oT -oT -vh -ac -Qd -zC -Zn -Zn -iN -Zn -Zn -Zn -Zn -Zn -Zn -"} -(21,1,1) = {" -Zn -oT -oT -oT -oT -oC -jN -Yx -Ra -Io -IM -Dq -VD -zp -oC -jN -oT -oT -oT -qA -UW -pe -zC -Zn -Zn -iN -Zn -Zn -Zn -Zn -Zn -Zn -"} -(22,1,1) = {" -Zn -Zn -oT -oT -oT -jN -jN -Yx -oC -HH -IJ -rS -oC -Qa -jN -jN -oT -oT -KB -Py -UW -UW -iN -iN -iN -xR -Zn -Zn -Zn -Zn -Zn -Zn -"} -(23,1,1) = {" -Zn -Zn -Zn -oT -oT -jN -oC -Yx -sN -rS -wc -qF -yw -dl -jN -jN -oT -oT -KB -KF -UW -pe -iN -Zn -Zn -xR -kP -Zn -Zn -Zn -Zn -Zn -"} -(24,1,1) = {" -Zn -Zn -Zn -oT -oT -jN -jN -lF -rS -rS -rS -rS -sN -OP -jN -jN -oT -oT -oT -KF -KF -UW -iN -Zn -Zn -iN -Zn -Zn -Zn -Zn -Zn -Zn -"} -(25,1,1) = {" -Zn -Zn -Zn -oT -oT -jN -jN -Yx -oC -NV -HH -rS -jN -Yx -oC -oC -oT -oT -oT -UW -oU -UW -zC -Zn -Zn -iN -Zn -Zn -Zn -Zn -Zn -Zn -"} -(26,1,1) = {" -Zn -Zn -Zn -oT -oT -oC -jN -Yx -Km -Yx -Yx -vr -BW -Yx -oC -oC -oT -oT -oT -iN -iN -zC -zC -Zn -Zn -xR -Zn -Zn -Zn -Zn -Zn -Zn -"} -(27,1,1) = {" -Zn -Zn -oT -oT -oT -oC -oC -oC -jN -oC -oC -oC -jN -oC -oC -oC -oT -oT -Zn -Zn -iN -Zn -Zn -Zn -Zn -xR -Zn -Zn -Zn -Zn -Zn -Zn -"} -(28,1,1) = {" -Zn -Zn -oT -oT -oT -jN -oC -oC -oC -jN -jN -jN -jN -jN -oC -oC -oT -oT -iN -xR -xR -xR -iN -iN -xR -xR -kP -Zn -Zn -Zn -Zn -Zn -"} -(29,1,1) = {" -Zn -Zn -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -Zn -Zn -oV -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -"} -(30,1,1) = {" -Zn -Zn -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -oT -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -"} -(31,1,1) = {" -Zn -Zn -oT -oT -oT -Zn -oT -oT -oT -oT -oT -oT -oT -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -"} -(32,1,1) = {" -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -Zn -"} diff --git a/_maps/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/RandomRuins/SpaceRuins/oldstation.dmm index 321daa633782..8c2493f833d6 100644 --- a/_maps/RandomRuins/SpaceRuins/oldstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldstation.dmm @@ -283,6 +283,14 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/comm) +"aS" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) "aT" = ( /turf/closed/wall, /area/ruin/space/has_grav/ancientstation) @@ -6184,148 +6192,164 @@ /mob/living/simple_animal/hostile/alien, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation/proto) -"ra" = ( +"re" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betastorage) +"rH" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 8 +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, -/obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/atmo) -"rd" = ( +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"rN" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) -"rv" = ( +/obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) +"se" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"sg" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/west, +/obj/item/broken_bottle, +/obj/item/soap/nanotrasen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/rnd) +"si" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/sec) -"rB" = ( +/area/ruin/space/has_grav/ancientstation) +"su" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/corner/opaque/red{ +/obj/machinery/light/small/directional/west{ + brightness = 3 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/red{ +/obj/effect/turf_decal/corner/opaque/yellow{ dir = 8 }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/sec) -"rE" = ( -/obj/machinery/door/airlock/science{ - pixel_y = 0; - dir = 4 +/area/ruin/space/has_grav/ancientstation/engi) +"sy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/engi) +"sz" = ( +/obj/structure/table, /obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/east, +/obj/item/paper/fluff/ruins/oldstation, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) +"sC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation) +"sD" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/alien/weeds, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/ancientstation/deltaai) +"sH" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"sa" = ( /obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/atmo) +"sO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/turf_decal/corner/opaque/yellow{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/light_switch{ + pixel_x = 26 }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/engi) -"sk" = ( -/obj/structure/table, -/obj/item/crowbar, -/obj/item/flashlight/glowstick, +"sV" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/west, +/obj/machinery/airalarm/directional/west, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"sy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/engi) -"sC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock, -/turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation) "sY" = ( /obj/structure/lattice, /obj/item/stack/rods, /turf/template_noop, /area/space/nearstation) -"td" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/particle_accelerator/particle_emitter/center, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"te" = ( -/obj/machinery/light/directional/west, -/obj/structure/table/reinforced, -/obj/item/paper/fluff/ruins/oldstation/protohealth, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) -"tg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +"sZ" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/light/small/directional/west{ + brightness = 3 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/effect/decal/cleanable/oil, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/corner/opaque/yellow{ dir = 8 }, -/obj/machinery/door/airlock/command{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, +/obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/betacorridor) +/area/ruin/space/has_grav/ancientstation/engi) +"tb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) +"td" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/particle_accelerator/particle_emitter/center, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/deltacorridor) "tn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair, @@ -6337,62 +6361,37 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/kitchen) -"to" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"tK" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engineering"; - dir = 4 - }, +"tq" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/corner/opaque/yellow{ dir = 4 }, -/obj/machinery/door/poddoor{ - id = "ancient"; - dir = 8 - }, +/obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/engi) -"tL" = ( +"tN" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/gun/energy/laser/retro/old{ - pixel_x = -2; - pixel_y = -2 - }, -/obj/item/gun/energy/laser/retro/old{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/corner/opaque/green, +/obj/machinery/light_switch{ + pixel_x = 0; + pixel_y = -26 }, -/obj/machinery/airalarm/directional/west, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/sec) +/area/ruin/space/has_grav/ancientstation/hydroponics) "tT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/particle_accelerator/end_cap, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"ud" = ( +"ur" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) +"uB" = ( /obj/item/shard{ icon_state = "medium" }, @@ -6402,74 +6401,90 @@ icon_state = "platingdmg3" }, /area/ruin/space/has_grav/ancientstation/betacorridor) -"uD" = ( -/obj/machinery/door/airlock/highsecurity, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/structure/alien/weeds, -/obj/effect/decal/cleanable/xenoblood/xtracks, -/obj/effect/decal/cleanable/blood/tracks, -/obj/structure/cable{ - icon_state = "1-2" +"uE" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 }, -/obj/machinery/door/firedoor/border_only, +/obj/effect/decal/cleanable/dirt, /obj/machinery/door/firedoor/border_only{ - dir = 1 + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, /turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltaai) -"uT" = ( -/turf/open/floor/engine/n2, -/area/ruin/space/has_grav/ancientstation/atmo) -"uY" = ( +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"uM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west{ + brightness = 3 + }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/sec) -"vb" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"vk" = ( +/area/ruin/space/has_grav/ancientstation) +"uN" = ( +/obj/machinery/light/small/directional/west{ + brightness = 3 + }, +/obj/structure/alien/weeds, +/obj/effect/gibspawner/human, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/ancientstation/deltaai) +"uT" = ( +/turf/open/floor/engine/n2, +/area/ruin/space/has_grav/ancientstation/atmo) +"uW" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/corner/opaque/yellow{ +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, -/obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/engi) -"vu" = ( +/area/ruin/space/has_grav/ancientstation) +"uX" = ( +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "Chemical Storage"; + req_access_txt = "200" + }, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 + dir = 4 }, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 2 + dir = 4 }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/kitchen) -"vw" = ( -/obj/machinery/light/small/directional/west{ - brightness = 3 - }, -/obj/structure/alien/weeds, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/ancientstation/deltaai) -"vK" = ( +/area/ruin/space/has_grav/ancientstation/rnd) +"uY" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/sec) +"vd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants{ + icon_state = "plant-25" + }, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/green{ dir = 4 }, -/obj/machinery/light/small/directional/west{ - brightness = 3 +/obj/effect/turf_decal/corner/opaque/green{ + dir = 8 }, /obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/hydroponics) +"vh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, /obj/effect/turf_decal/corner/opaque/white{ dir = 1 }, @@ -6478,56 +6493,91 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/kitchen) -"vO" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/west, -/obj/item/broken_bottle, -/obj/item/soap/nanotrasen, +"vj" = ( +/obj/machinery/door/airlock/security{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 8; + id = "ancient" + }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/rnd) -"vP" = ( +/area/ruin/space/has_grav/ancientstation/sec) +"vr" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/corner/opaque/green, +/obj/machinery/light/small/directional/west, /obj/effect/turf_decal/corner/opaque/green{ - dir = 4 + dir = 1 }, -/obj/machinery/power/apc{ - name = "Charlie Station Garden APC "; - pixel_y = -25; - start_charge = 0 +/obj/effect/turf_decal/corner/opaque/green{ + dir = 8 }, -/obj/item/reagent_containers/glass/bottle/nutrient/ez, -/obj/item/reagent_containers/glass/bottle/nutrient/l4z, -/obj/item/reagent_containers/glass/bottle/nutrient/rh, +/obj/item/reagent_containers/spray/weedspray, +/obj/item/reagent_containers/spray/pestspray, /obj/structure/closet/crate/hydroponics, -/obj/structure/cable{ - icon_state = "0-8" - }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/hydroponics) -"wc" = ( +"vu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 2 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/kitchen) +"vK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"wd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"wx" = ( +/area/ruin/space/has_grav/ancientstation/betacorridor) +"wh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) +"wq" = ( /obj/machinery/door/window/eastleft, /obj/machinery/door/poddoor{ - id = "proto"; - dir = 4 + dir = 4; + id = "proto" }, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation/proto) +"wu" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 8; + name = "Engineering Storage" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/deltacorridor) "wz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -6540,77 +6590,132 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/deltacorridor) +"wE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/rnd) +"wF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) "wJ" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/green{ + dir = 8 }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) +/obj/structure/closet/crate/bin, +/obj/machinery/airalarm/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/hydroponics) "wL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/engi) -"wM" = ( -/obj/machinery/door/airlock/science{ - dir = 4 - }, +"wP" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"xl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation) +"xB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 + dir = 9 }, /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 + icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"wX" = ( -/obj/machinery/door/airlock/science{ - dir = 4 +/area/ruin/space/has_grav/ancientstation/engi) +"xS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/betacorridor) +"yb" = ( +/obj/structure/table, +/obj/item/crowbar, +/obj/item/flashlight/glowstick, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) +"yg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/rnd) +"yk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1 }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation) +"yp" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/south, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4; - icon_state = "tracks" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"xc" = ( +"yq" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "proto" + }, +/obj/machinery/door/window/westright, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) +"yx" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"xk" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"yC" = ( +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "Medical Bay" + }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/maintenance_hatch{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 8 + }, /obj/structure/cable{ icon_state = "4-8" }, @@ -6620,26 +6725,42 @@ /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"xl" = ( +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/medbay) +"yD" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/light/small/directional/east, +/obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation) -"xt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"xG" = ( -/obj/machinery/door/airlock/engineering{ - name = "Backup Generator Room"; - dir = 4 +"yE" = ( +/obj/structure/closet/crate, +/obj/item/cautery{ + pixel_x = 4 }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/item/hemostat, +/obj/item/circular_saw, +/obj/item/scalpel{ + pixel_y = 12 + }, +/obj/item/retractor, +/obj/machinery/light/small/broken/directional/west{ + icon_state = "bulb-broken" + }, +/obj/effect/turf_decal/corner/opaque/blue{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/blue{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/blue, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/ancientstation/medbay) +"yI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Dining Area" }, /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -6647,91 +6768,60 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/engi) -"xL" = ( -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/effect/turf_decal/corner/opaque/white{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 2 }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/ancientstation/medbay) -"xP" = ( +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/kitchen) +"yL" = ( +/obj/machinery/airalarm/directional/east, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"ya" = ( -/obj/machinery/light/directional/west, -/obj/structure/table/reinforced, -/obj/item/paper/fluff/ruins/oldstation/protosuit, +/area/ruin/space/has_grav/ancientstation) +"yY" = ( +/obj/machinery/door/window/westleft, +/obj/machinery/door/poddoor{ + dir = 4; + id = "proto" + }, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation/proto) -"yk" = ( +"zb" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/pump{ +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/corner/opaque/red{ dir = 1 }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation) -"yx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"yA" = ( -/obj/machinery/door/airlock/science{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/corner/opaque/red{ dir = 8 }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"yM" = ( -/obj/machinery/door/airlock/science{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, +/area/ruin/space/has_grav/ancientstation/sec) +"zk" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner/opaque/green, +/obj/effect/turf_decal/corner/opaque/green{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"yZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/shard{ - icon_state = "small" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light/broken/directional/west{ - icon_state = "tube-broken" +/obj/machinery/power/apc{ + name = "Charlie Station Garden APC "; + pixel_y = -25; + start_charge = 0 }, +/obj/item/reagent_containers/glass/bottle/nutrient/ez, +/obj/item/reagent_containers/glass/bottle/nutrient/l4z, +/obj/item/reagent_containers/glass/bottle/nutrient/rh, +/obj/structure/closet/crate/hydroponics, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-8" }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/ancientstation/betacorridor) -"zb" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/airalarm/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) +/area/ruin/space/has_grav/ancientstation/hydroponics) "zm" = ( /obj/machinery/door/window/brigdoor{ dir = 8; @@ -6746,43 +6836,14 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/atmo) -"zq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west{ - brightness = 3 - }, -/obj/effect/decal/cleanable/oil, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ +"zD" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/engi) -"zz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/tracks, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"zB" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/obj/item/paper/fluff/ruins/oldstation, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"zF" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation) "zG" = ( @@ -6816,7 +6877,7 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/atmo) -"Ae" = ( +"Al" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -6834,12 +6895,45 @@ dir = 4 }, /obj/machinery/door/airlock/atmos/glass{ - name = "Station Atmospherics"; - dir = 4 + dir = 4; + name = "Station Atmospherics" }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/atmo) -"Ax" = ( +"Ap" = ( +/obj/effect/spawner/structure/window/hollow/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor{ + dir = 8; + id = "ancient" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/engi) +"As" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"AE" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -6847,79 +6941,111 @@ dir = 8; icon_state = "inje_map-2" }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/engine/n2, +/obj/machinery/light/small/directional/north, +/turf/open/floor/engine/o2, /area/ruin/space/has_grav/ancientstation/atmo) "AF" = ( /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"AP" = ( -/obj/machinery/door/airlock/command{ - dir = 4 - }, +"Bs" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/engine/o2, +/area/ruin/space/has_grav/ancientstation/atmo) +"Bz" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/structure/chair{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/corner/opaque/blue{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/blue{ dir = 8 }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/betacorridor) -"AQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, +/area/ruin/space/has_grav/ancientstation/comm) +"BB" = ( +/obj/machinery/airalarm/directional/west, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"Bi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +"BH" = ( +/obj/structure/particle_accelerator/particle_emitter/left, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"BQ" = ( +/obj/machinery/light/small/directional/west{ + brightness = 3 + }, +/obj/structure/alien/weeds, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/ancientstation/deltaai) +"BV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Engineering External Access" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/engi) +"Cf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/visible{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner/opaque/yellow{ dir = 4 }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/atmo) +"Cg" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner/opaque/red, +/obj/effect/turf_decal/corner/opaque/red{ dir = 4 }, -/obj/machinery/airalarm/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, +/obj/structure/closet/crate/bin, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/betacorridor) -"Bl" = ( -/obj/machinery/light/small/broken/directional/north{ - icon_state = "bulb-broken" +/area/ruin/space/has_grav/ancientstation/sec) +"Ci" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair{ + dir = 4 }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/ancientstation/atmo) -"Bo" = ( -/obj/structure/closet, -/obj/item/tank/jetpack/void, -/obj/item/clothing/head/helmet/space/nasavoid/old, -/obj/item/clothing/suit/space/nasavoid, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 +/obj/machinery/light/small/directional/west{ + brightness = 3 }, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/corner/opaque/white{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 2 + }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/mining) -"Bs" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/engine/o2, -/area/ruin/space/has_grav/ancientstation/atmo) -"BH" = ( -/obj/structure/particle_accelerator/particle_emitter/left, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltacorridor) +/area/ruin/space/has_grav/ancientstation/kitchen) "Cr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 8 @@ -6934,57 +7060,69 @@ /area/ruin/space/has_grav/ancientstation/kitchen) "Cu" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/backpack/old, +/obj/structure/closet, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) +"CG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/mining) +"CM" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/bottle/iodine{ + pixel_y = 8 }, -/obj/machinery/light/directional/north, -/obj/machinery/light_switch{ - pixel_x = 0; - pixel_y = 26 +/obj/item/reagent_containers/glass/bottle/iron{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/lithium{ + pixel_x = -6 }, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) -"Cz" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/south, -/obj/structure/table, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) -"Da" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/rnd) +"CR" = ( +/obj/machinery/door/airlock/science{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/public/glass{ - name = "Dining Area"; +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, /obj/machinery/door/firedoor/border_only{ dir = 8 }, /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 2 - }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/kitchen) -"De" = ( +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"CU" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants{ - icon_state = "plant-25" - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/green, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 4 - }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/east, +/mob/living/simple_animal/hostile/alien/drone, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/hydroponics) +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"CX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) "Dm" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, @@ -6992,19 +7130,10 @@ /area/ruin/space/has_grav/ancientstation/sec) "Dn" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 8 - }, +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/atmo) +/area/ruin/space/has_grav/ancientstation/deltacorridor) "Dp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -7035,13 +7164,35 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/rnd) -"DO" = ( +"DM" = ( +/obj/machinery/door/airlock/science{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, -/obj/structure/table, -/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"DQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/purple, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 8 + }, /turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation) +/area/ruin/space/has_grav/ancientstation/rnd) "DT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -7052,60 +7203,61 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/atmo) -"DX" = ( +"DY" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, +/obj/machinery/light/directional/south, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, +/mob/living/simple_animal/hostile/alien/drone, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"Ex" = ( +"Eh" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"EB" = ( +/obj/structure/rack, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/betacorridor) -"EH" = ( -/obj/item/kirbyplants{ - icon_state = "plant-25" +/obj/structure/rack, +/obj/item/gun/energy/laser/retro{ + pixel_x = -2; + pixel_y = -2 }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/light/small/broken/directional/west{ - icon_state = "bulb-broken" +/obj/item/gun/energy/laser/retro{ + pixel_x = 2; + pixel_y = 2 }, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/effect/turf_decal/corner/opaque/red{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/effect/turf_decal/corner/opaque/red, +/obj/effect/turf_decal/corner/opaque/red{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/sec) +"ED" = ( +/obj/machinery/door/airlock/science{ dir = 4 }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/ancientstation/medbay) -"EI" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/alien/weeds, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/ancientstation/deltaai) -"EN" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4; + icon_state = "tracks" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) "EP" = ( @@ -7127,22 +7279,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/atmo) -"EY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"Fn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"FD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/rnd) "FH" = ( /obj/structure/window/reinforced{ dir = 4 @@ -7158,73 +7294,35 @@ }, /turf/open/floor/plasteel/airless, /area/ruin/space/has_grav/ancientstation/atmo) -"FJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) -"FR" = ( -/obj/machinery/door/airlock/science{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +"Gh" = ( +/obj/machinery/door/airlock/maintenance_hatch{ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/door/firedoor/border_only{ dir = 8 }, /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"FT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/xenoblood/xgibs/up, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel, +/turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/deltacorridor) "Gp" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/alien/weeds, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/ancientstation/deltaai) -"Gq" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - name = "Engineering External Access"; - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Delta Station Access" }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/machinery/door/poddoor{ + dir = 4; + id = "ancient" }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/engi) -"Gs" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/door/airlock/external{ - name = "Engineering External Access"; - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, /obj/machinery/door/firedoor/border_only{ dir = 4 @@ -7232,19 +7330,17 @@ /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/engi) +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) +"GE" = ( +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/betacorridor) "GG" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance/three, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"GJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/betacorridor) "GP" = ( /obj/machinery/pipedispenser/disposal, /obj/effect/turf_decal/industrial/warning/corner{ @@ -7252,6 +7348,12 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/atmo) +"GX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) "Hn" = ( /turf/open/floor/engine/o2, /area/ruin/space/has_grav/ancientstation/atmo) @@ -7263,99 +7365,16 @@ /obj/effect/turf_decal/corner/opaque/yellow, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/atmo) -"HL" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Engineering Storage"; - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"HV" = ( -/obj/structure/closet/firecloset, -/obj/machinery/light_switch{ - pixel_x = 26 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/ancientstation/betastorage) -"HZ" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ +"HI" = ( +/obj/structure/window/reinforced{ dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"Ig" = ( -/obj/effect/spawner/structure/window/hollow/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/door/poddoor{ - id = "ancient"; - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/engi) -"Ii" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"Im" = ( -/obj/structure/closet/crate, -/obj/item/cautery{ - pixel_x = 4 - }, -/obj/item/hemostat, -/obj/item/circular_saw, -/obj/item/scalpel{ - pixel_y = 12 - }, -/obj/item/retractor, -/obj/machinery/light/small/broken/directional/west{ - icon_state = "bulb-broken" - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/ancientstation/medbay) -"Ir" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 2 + dir = 4; + id = "proto" }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/kitchen) +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) "It" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sink{ @@ -7368,19 +7387,6 @@ }, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation) -"IH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) "IM" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -7401,20 +7407,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"Jd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/rnd) -"Ji" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) "Jo" = ( /obj/effect/turf_decal/industrial/warning{ dir = 9 @@ -7429,48 +7421,16 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation) -"JI" = ( -/obj/machinery/light/small/directional/west{ - brightness = 3 - }, +"Jq" = ( +/obj/machinery/light/small/directional/east, /obj/structure/alien/weeds, -/obj/effect/gibspawner/human, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/ancientstation/deltaai) -"JT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"JW" = ( -/obj/machinery/light/directional/east, -/obj/structure/table/reinforced, -/obj/item/paper/fluff/ruins/oldstation/protogun, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) -"Ko" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ +"Js" = ( +/obj/machinery/door/airlock/science{ dir = 4 }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"Ku" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/particle_accelerator/control_box, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"KD" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/firedoor/border_only{ dir = 4 @@ -7478,30 +7438,22 @@ /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"KL" = ( -/obj/machinery/firealarm/directional/north, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/betacorridor) -"KQ" = ( +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"JE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/rnd) +"JG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/wooden, /obj/machinery/door/airlock/command{ - name = "Beta Station Access" - }, -/obj/machinery/door/poddoor{ - id = "ancient"; - dir = 4 + dir = 4; + name = "Charlie Station Access"; + req_access_txt = "200" }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/door/firedoor/border_only{ dir = 8 }, @@ -7509,40 +7461,71 @@ dir = 4 }, /turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"JK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/backpack/old, +/obj/structure/closet, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) +"JT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"JZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) +"Km" = ( +/obj/structure/closet/firecloset, +/obj/machinery/light_switch{ + pixel_x = 26 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betastorage) +"Ko" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, +/obj/structure/table, +/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation) +"Kq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation) -"Lg" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, +"Ku" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/particle_accelerator/control_box, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"KE" = ( +/obj/structure/window/reinforced{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/door/poddoor{ + dir = 4; + id = "proto" }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation) +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) +"Le" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) "Lh" = ( /obj/structure/window/reinforced, /turf/open/floor/engine/o2, /area/ruin/space/has_grav/ancientstation/atmo) -"Li" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, -/obj/structure/cable, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/engi) "Ll" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/particle_accelerator/particle_emitter/right, @@ -7560,42 +7543,24 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/atmo) -"LF" = ( +"Lq" = ( +/obj/machinery/light/directional/west, +/obj/structure/table/reinforced, +/obj/item/paper/fluff/ruins/oldstation/protosuit, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) +"Ls" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/east, /obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/east, -/mob/living/simple_animal/hostile/alien/drone, +/obj/effect/decal/cleanable/blood/old, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"LI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/sec) -"LS" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle/iodine{ - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/bottle/iron{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/lithium{ - pixel_x = -6 - }, +"LR" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, +/obj/machinery/light/directional/east, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/rnd) +/area/ruin/space/has_grav/ancientstation/deltacorridor) "LY" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8; @@ -7603,73 +7568,60 @@ }, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/ancientstation/atmo) -"Ma" = ( -/obj/machinery/door/window/westleft, -/obj/machinery/door/poddoor{ - id = "proto"; - dir = 4 +"Mh" = ( +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering" }, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) -"Mg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/betacorridor) -"Mo" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/shreds, -/obj/structure/alien/weeds/node, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/ancientstation/deltaai) -"Mr" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/command{ - name = "Delta Station Access"; +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, /obj/machinery/door/poddoor{ - id = "ancient"; - dir = 4 + dir = 8; + id = "ancient" }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/engi) +"Mq" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/machinery/power/apc{ + dir = 1; + name = "Charlie Station Kitchen APC"; + pixel_y = 25; + start_charge = 0 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/obj/machinery/light/small/directional/north, +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 2 }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) +/area/ruin/space/has_grav/ancientstation/kitchen) "Mt" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/atmo) -"ME" = ( +"Mw" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants{ - icon_state = "plant-25" - }, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 8 +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1; + icon_state = "tracks" }, -/obj/machinery/firealarm/directional/west, +/obj/machinery/firealarm/directional/east, +/mob/living/simple_animal/hostile/alien, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/hydroponics) +/area/ruin/space/has_grav/ancientstation/deltacorridor) "MG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -7683,102 +7635,55 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/kitchen) -"MP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/item/storage/box/firingpins, -/obj/structure/closet/crate/secure/weapon{ - req_access_txt = "203" - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"MQ" = ( -/obj/machinery/door/airlock/science{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +"MK" = ( +/obj/machinery/door/airlock/maintenance_hatch{ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"MR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/maintenance_hatch{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/door/firedoor/border_only{ - dir = 4 + dir = 8 }, /obj/machinery/door/firedoor/border_only{ - dir = 8 + dir = 4 }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/ancientstation/betastorage) -"MT" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/ancientstation/betastorage) -"MV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, +/turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation) -"Na" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/alien/weeds, -/obj/effect/decal/cleanable/blood/tracks, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/ancientstation/deltaai) -"Nf" = ( +"No" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/corner/opaque/green{ +/obj/effect/decal/cleanable/xenoblood/xgibs/up, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"Nx" = ( +/obj/effect/turf_decal/corner/opaque/blue{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/green{ +/obj/effect/turf_decal/corner/opaque/blue{ dir = 8 }, -/obj/item/reagent_containers/spray/weedspray, -/obj/item/reagent_containers/spray/pestspray, -/obj/structure/closet/crate/hydroponics, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/hydroponics) -"Nz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west{ - brightness = 3 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"ND" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/ancientstation/medbay) +"Ny" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, +/obj/machinery/light/directional/west, /obj/effect/decal/cleanable/dirt, -/obj/item/storage/backpack/old, -/obj/structure/closet, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"NF" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/alien/weeds/node, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/ancientstation/deltaai) "NQ" = ( /obj/structure/window/reinforced{ dir = 8 @@ -7791,28 +7696,44 @@ internal_pressure_bound = 5066; name = "Nitrogen Out" }, -/turf/open/floor/engine/o2, -/area/ruin/space/has_grav/ancientstation/atmo) -"Om" = ( +/turf/open/floor/engine/o2, +/area/ruin/space/has_grav/ancientstation/atmo) +"NZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/corner/opaque/purple, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/rnd) +"Oi" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) +"Ok" = ( /obj/machinery/door/window/eastright, /obj/machinery/door/poddoor{ - id = "proto"; - dir = 4 + dir = 4; + id = "proto" }, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation/proto) -"Ov" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 8 - }, -/obj/structure/closet/crate/bin, -/obj/machinery/airalarm/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/hydroponics) +"Oo" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/shreds, +/obj/structure/alien/weeds/node, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/ancientstation/deltaai) "OA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -7823,34 +7744,35 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/rnd) +"OB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner/opaque/red, +/obj/effect/turf_decal/corner/opaque/red{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/sec) "OC" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation) -"OE" = ( +"OD" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Hydroponics" }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/comm) -"OF" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 2 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/kitchen) +/area/ruin/space/has_grav/ancientstation/hydroponics) "OU" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel, @@ -7862,49 +7784,53 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/sec) -"OW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/corner/opaque/green, -/obj/machinery/light_switch{ - pixel_x = 0; - pixel_y = -26 +"OY" = ( +/obj/machinery/door/airlock/command{ + name = "Beta Station Access" }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/hydroponics) -"Pg" = ( -/obj/machinery/door/airlock/security{ - dir = 4 +/obj/machinery/door/poddoor{ + dir = 4; + id = "ancient" }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/machinery/door/poddoor{ - id = "ancient"; - dir = 8 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/sec) -"Pk" = ( -/obj/machinery/door/airlock/maintenance_hatch{ +/area/ruin/space/has_grav/ancientstation) +"Pe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"Pj" = ( +/obj/machinery/door/airlock/science{ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, +/obj/effect/decal/cleanable/dirt, /obj/machinery/door/firedoor/border_only{ dir = 8 }, /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation) +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) "Pn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/corner/opaque/red{ @@ -7925,6 +7851,30 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation) +"Pr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/command{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/betacorridor) "Px" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -7932,13 +7882,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"Py" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west{ - brightness = 3 - }, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation) "PC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -7947,25 +7890,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/comm) -"PQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/betacorridor) -"PR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/alien/drone, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) "PV" = ( /obj/item/kirbyplants{ icon_state = "plant-25" @@ -7977,56 +7901,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation) -"Qc" = ( -/obj/machinery/door/airlock/command{ - name = "Beta Station Access" - }, -/obj/machinery/door/poddoor{ - id = "ancient"; - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"Qd" = ( +"Qo" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/corner/opaque/purple, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 8 +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 }, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/rnd) -"Qi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/rnd) -"Qk" = ( -/obj/structure/rack, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/effect/turf_decal/corner/opaque/yellow{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, +/obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/mining) +/area/ruin/space/has_grav/ancientstation/rnd) "Qp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/window/westright, @@ -8035,140 +7923,148 @@ }, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation) -"Qz" = ( -/obj/machinery/light/directional/east, -/obj/structure/table/reinforced, -/obj/item/paper/fluff/ruins/oldstation/protosing, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) -"QC" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"QH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/west, +"Qr" = ( +/obj/machinery/door/airlock/command{ + name = "Beta Station Access" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "ancient" + }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"QM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, +/area/ruin/space/has_grav/ancientstation) +"Qz" = ( /obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/mining) -"QQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 +/obj/structure/alien/weeds, +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/hydroponics) -"QT" = ( -/obj/machinery/airalarm/directional/east, -/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/ancientstation/deltaai) +"QA" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/closet/firecloset/full, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"QQ" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"QV" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west{ - brightness = 3 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 }, /turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/hydroponics) +"QY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, +/obj/structure/cable, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/engi) -"Ra" = ( -/obj/machinery/light/small/directional/west{ - brightness = 3 +"Rc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/west, +/obj/machinery/light_switch{ + pixel_x = 0; + pixel_y = 26 }, -/obj/structure/alien/weeds, -/mob/living/simple_animal/hostile/alien, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/ancientstation/deltaai) +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) "Re" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"Ri" = ( +"Rf" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/command{ - name = "Delta Station Access"; - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "ancient"; - dir = 4 - }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/rnd) +"Rn" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/corner/opaque/red{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red{ dir = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"Rn" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Station Atmospherics"; - dir = 4 +/area/ruin/space/has_grav/ancientstation/sec) +"Ru" = ( +/obj/machinery/light/directional/east, +/obj/structure/table/reinforced, +/obj/item/paper/fluff/ruins/oldstation/protogun, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) +"RG" = ( +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Backup Generator Room" + }, +/obj/structure/cable{ + icon_state = "0-4" }, -/obj/effect/decal/cleanable/dirt, /obj/machinery/door/firedoor/border_only{ dir = 8 }, /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/atmo) -"Rx" = ( +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/engi) +"RH" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ - dir = 1 +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 }, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/effect/turf_decal/industrial/warning/corner{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) +"RP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/comm) -"RL" = ( +"RU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/directional/east, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"RO" = ( +"RZ" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"RP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/comm) +/area/ruin/space/has_grav/ancientstation/atmo) "Se" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -8184,16 +8080,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"Sh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) "Sn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -8202,16 +8088,37 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation) -"Sp" = ( -/obj/structure/window/reinforced{ +"Sr" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/machinery/door/poddoor{ - id = "proto"; +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation) +"St" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants{ + icon_state = "plant-25" + }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/green, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/hydroponics) "Su" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light_switch{ @@ -8226,6 +8133,23 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/kitchen) +"Sv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"SA" = ( +/obj/effect/decal/cleanable/oil, +/obj/machinery/light/small/directional/west{ + brightness = 3 + }, +/obj/structure/alien/weeds, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/ancientstation/deltaai) "SP" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/mirror{ @@ -8245,45 +8169,78 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) +"SW" = ( +/obj/effect/spawner/structure/window/hollow/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 8; + id = "ancient" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/sec) +"Tb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + dir = 8; + name = "Engineering External Access" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/engi) "Td" = ( /obj/item/stack/rods, /obj/structure/lattice, /turf/template_noop, /area/space/nearstation) -"Tg" = ( -/obj/machinery/door/poddoor{ - id = "proto"; - dir = 4 - }, -/obj/machinery/door/window/westright, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) "Tk" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end{ dir = 1 }, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/atmo) -"Ts" = ( +"Tz" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/command{ - name = "Charlie Station Access"; - req_access_txt = "200"; - dir = 4 +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump{ + dir = 8 }, /obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"TF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/north, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) "TL" = ( @@ -8293,32 +8250,67 @@ dir = 4; name = "Broken Computer" }, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/atmo) +"TU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/food/egg_smudge, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 2 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/kitchen) +"TZ" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 8; + icon_state = "inje_map-2" + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/engine/n2, +/area/ruin/space/has_grav/ancientstation/atmo) +"Ua" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/obj/machinery/light_switch{ + pixel_x = 0; + pixel_y = 26 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) +"Ug" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/atmo) -"TW" = ( -/obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/industrial/warning{ + dir = 6 }, -/obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"TZ" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Medical Bay"; +/area/ruin/space/has_grav/ancientstation/atmo) +"Ut" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/door/airlock/maintenance_hatch{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -8328,19 +8320,30 @@ /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/medbay) -"Ug" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/ancientstation/betastorage) +"Uw" = ( +/obj/machinery/light/small/directional/west{ + brightness = 3 + }, +/obj/structure/alien/weeds, +/mob/living/simple_animal/hostile/alien, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/ancientstation/deltaai) +"UB" = ( +/obj/machinery/door/airlock/command{ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/atmo) -"UL" = ( +/area/ruin/space/has_grav/ancientstation/betacorridor) +"UC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair{ dir = 1 @@ -8355,28 +8358,20 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/comm) -"UM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"UP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/north, -/obj/effect/decal/cleanable/food/egg_smudge, -/obj/structure/cable{ - icon_state = "4-8" +"UJ" = ( +/obj/machinery/door/airlock/atmos/glass{ + dir = 4; + name = "Station Atmospherics" }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 2 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/kitchen) +/area/ruin/space/has_grav/ancientstation/atmo) "UV" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -8392,98 +8387,110 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/atmo) -"Vd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/backpack/old, -/obj/structure/closet, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) "Ve" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/deltacorridor) +"Vj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation) +"Vr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betastorage) "VH" = ( /obj/structure/sign/poster/retro/nanotrasen_logo_80s, /turf/closed/wall, /area/ruin/space/has_grav/ancientstation/comm) -"VI" = ( +"VW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/rnd) +"Wb" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/airalarm/directional/east, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/public/glass{ - name = "Hydroponics"; - dir = 4 - }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/hydroponics) -"Wc" = ( +/area/ruin/space/has_grav/ancientstation) +"Wi" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/purple, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 8 +/obj/machinery/light/small/directional/west{ + brightness = 3 }, /turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/rnd) -"Wm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/visible{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/structure/cable{ - icon_state = "1-2" +/area/ruin/space/has_grav/ancientstation) +"Wp" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "N2 Output" }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/atmo) -"Wn" = ( -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ +"Wu" = ( +/obj/structure/closet, +/obj/item/tank/jetpack/void, +/obj/item/clothing/head/helmet/space/nasavoid/old, +/obj/item/clothing/suit/space/nasavoid, +/obj/effect/turf_decal/corner/opaque/brown{ dir = 8 }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 1 + }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/mining) +"WF" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/atmo) -"Wp" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "N2 Output" +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/storage/box/firingpins, +/obj/structure/closet/crate/secure/weapon{ + req_access_txt = "203" }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/atmo) -"WG" = ( +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"WP" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/corner/opaque/blue, +/obj/effect/turf_decal/corner/opaque/blue{ dir = 4 }, -/obj/structure/closet/crate/bin, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/sec) -"WP" = ( +/area/ruin/space/has_grav/ancientstation/comm) +"WQ" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Delta Station Access" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "ancient" + }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/west, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) +/area/ruin/space/has_grav/ancientstation) "WT" = ( /obj/structure/window/reinforced{ dir = 8 @@ -8501,52 +8508,28 @@ }, /turf/open/floor/engine/n2, /area/ruin/space/has_grav/ancientstation/atmo) -"WY" = ( -/obj/effect/decal/cleanable/oil, -/obj/machinery/light/small/directional/west{ - brightness = 3 - }, -/obj/structure/alien/weeds, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/ancientstation/deltaai) -"WZ" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"Xc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc{ - dir = 1; - name = "Charlie Station Kitchen APC"; - pixel_y = 25; - start_charge = 0 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/cable{ - icon_state = "0-8" +"Xb" = ( +/obj/structure/rack, +/obj/item/storage/bag/ore, +/obj/item/storage/bag/ore, +/obj/item/mining_scanner, +/obj/item/mining_scanner, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/effect/turf_decal/corner/opaque/brown{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 2 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/kitchen) -"Xg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/airalarm/directional/west, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) +/area/ruin/space/has_grav/ancientstation/mining) +"Xd" = ( +/obj/machinery/light/directional/east, +/obj/structure/table/reinforced, +/obj/item/paper/fluff/ruins/oldstation/protosing, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) "Xh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -8559,53 +8542,59 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/rnd) "Xo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_x = 26 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/engi) +/obj/machinery/light/directional/west, +/obj/structure/table/reinforced, +/obj/item/paper/fluff/ruins/oldstation/protohealth, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) "Xr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/hydroponics) -"Xz" = ( +"XJ" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, +/obj/structure/cable, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/engi) +"XK" = ( +/obj/machinery/door/airlock/science{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/tracks{ - dir = 1; - icon_state = "tracks" +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/machinery/firealarm/directional/east, -/mob/living/simple_animal/hostile/alien, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"XE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/rnd) -"XF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, +"XO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/item/shard{ + icon_state = "small" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light/broken/directional/west{ + icon_state = "tube-broken" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plating/airless, -/area/ruin/space/has_grav/ancientstation/betastorage) -"XJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/engi) -"Ya" = ( +/area/ruin/space/has_grav/ancientstation/betacorridor) +"XY" = ( /obj/machinery/door/airlock/science{ dir = 8 }, @@ -8637,6 +8626,34 @@ /obj/item/soap/nanotrasen, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation) +"Yn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/south, +/obj/structure/table, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) +"Yo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Charlie Station Access"; + req_access_txt = "200" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) "Yr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -8652,60 +8669,72 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"YB" = ( +"YF" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/barricade/wooden, -/obj/machinery/door/airlock/command{ - name = "Charlie Station Access"; - req_access_txt = "200"; - dir = 4 - }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/betacorridor) +"YJ" = ( +/obj/machinery/door/airlock/highsecurity, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/structure/alien/weeds, +/obj/effect/decal/cleanable/xenoblood/xtracks, +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ - dir = 4 + dir = 1 }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"YH" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/alien/weeds/node, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/deltaai) "YN" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/airalarm/directional/west, +/obj/machinery/light/directional/west, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 8 + }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/rnd) -"YR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, +/area/ruin/space/has_grav/ancientstation/atmo) +"YT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/machinery/airalarm/directional/south, /obj/structure/cable{ icon_state = "4-8" }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"Zd" = ( -/obj/structure/window/reinforced{ - dir = 4 +/area/ruin/space/has_grav/ancientstation/betacorridor) +"YU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair{ + dir = 8 }, -/obj/machinery/door/poddoor{ - id = "proto"; - dir = 4 +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/proto) +/obj/effect/turf_decal/corner/opaque/white{ + dir = 2 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/kitchen) "Ze" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/engine/n2, @@ -8717,78 +8746,51 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/atmo) -"Zm" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Chemical Storage"; - req_access_txt = "200"; - dir = 4 +"Zj" = ( +/obj/item/kirbyplants{ + icon_state = "plant-25" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/light/small/broken/directional/west{ + icon_state = "bulb-broken" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/blue{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/rnd) -"Zs" = ( -/obj/structure/window/reinforced{ +/obj/effect/turf_decal/corner/opaque/blue{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 8; - icon_state = "inje_map-2" - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/engine/o2, -/area/ruin/space/has_grav/ancientstation/atmo) -"ZO" = ( -/obj/effect/spawner/structure/window/hollow/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/effect/turf_decal/corner/opaque/blue{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-8" +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/ancientstation/medbay) +"Zp" = ( +/obj/machinery/light/small/broken/directional/north{ + icon_state = "bulb-broken" }, -/obj/machinery/door/poddoor{ - id = "ancient"; - dir = 8 +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/atmo) +"Zv" = ( +/obj/machinery/door/airlock/science{ + dir = 4; + pixel_y = 0 }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/sec) -"ZV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/obj/machinery/light_switch{ - pixel_x = 0; - pixel_y = 26 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation) -"ZY" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/rnd) +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"ZH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/betacorridor) (1,1,1) = {" aa @@ -8906,11 +8908,11 @@ ee et ee gi -EH -xL +Zj +Nx mq mF -Im +yE gu gK aa @@ -8925,8 +8927,8 @@ nt kK Ln ny -ra -Dn +RZ +YN nB nK EV @@ -8971,7 +8973,7 @@ lh nk nm pP -Wm +Cf qe Ab nA @@ -9001,7 +9003,7 @@ de dx ec eg -GJ +xS eT gu hm @@ -9018,8 +9020,8 @@ gK lh lh nk -Rn -Ae +UJ +Al mH mH kX @@ -9055,7 +9057,7 @@ gt gi jU mg -TZ +yC mg gu mW @@ -9067,7 +9069,7 @@ qy qD qD kQ -Bl +Zp pR gf mH @@ -9111,7 +9113,7 @@ nq nG ox oY -yZ +XO qA qE qH @@ -9120,11 +9122,11 @@ oM pS pf kQ -Zs +AE NQ zm WT -Ax +TZ kQ cD lh @@ -9150,8 +9152,8 @@ de ec eT gx -Mg -PQ +YF +vK eT eT mM @@ -9162,7 +9164,7 @@ oA pq ee qB -ud +uB qJ oz pd @@ -9197,8 +9199,8 @@ az fU fU ec -AP -tg +UB +Pr ec jC jQ @@ -9206,7 +9208,7 @@ jQ jQ jQ jQ -MR +Ut jC jC qx @@ -9220,7 +9222,7 @@ kQ kQ Bs Lh -Wn +sH pv Ze mH @@ -9254,7 +9256,7 @@ jR md mS mX -XF +Vr or oB qv @@ -9349,12 +9351,12 @@ hd eg jJ lz -MT +re mT mf nD -MT -HV +re +Km jQ dF dF @@ -9393,7 +9395,7 @@ dF aa gK eg -EB +ZH hd eg jC @@ -9442,7 +9444,7 @@ dF aa gK eg -KL +GE hn eg gK @@ -9634,8 +9636,8 @@ aa gK bI cf -Qk -Bo +Xb +Wu fA ce eW @@ -9831,7 +9833,7 @@ aM cc cy cI -QM +CG ga dj eT @@ -9933,7 +9935,7 @@ fy gg ce eT -Bi +YT eg gK aa @@ -9941,7 +9943,7 @@ aa aa gK fB -Gs +Tb fB gK aa @@ -10079,7 +10081,7 @@ aa aa gK eg -EB +ZH hd ec gK @@ -10088,7 +10090,7 @@ eI eI fb fD -Gq +BV gV hk eI @@ -10134,13 +10136,13 @@ ec gK eI bv -QV +su id ji kg mr mZ -zq +sZ nO eI gK @@ -10244,7 +10246,7 @@ sy hv eI oS -Li +QY gH eI gK @@ -10330,13 +10332,13 @@ eg lJ ju en -Xo -vk +sO +tq el kH my nb -sa +xB nP oc ix @@ -10373,17 +10375,17 @@ aT aG aG aG -Qc -KQ +Qr +OY aG eI eI dl dl eI -tK -Ig -tK +Mh +Ap +Mh gX eI eI @@ -10391,7 +10393,7 @@ dl eI eI iX -xG +RG eI aG aT @@ -10425,9 +10427,9 @@ aG fm fc gp -to +sV jF -TW +si mt ij ne @@ -10436,8 +10438,8 @@ jF nd mt pu -TW -to +si +sV gp jF px @@ -10479,9 +10481,9 @@ UV UV eP is -Sh +uW oJ -Xg +wF is UV UV @@ -10525,15 +10527,15 @@ cn cQ ey dP -VI +OD dP cQ ey -Lg +MK gI gY hR -Da +yI hR gI gI @@ -10564,19 +10566,19 @@ as as bl aP -Rx +Bz aP -UL +UC ak ak dN fh cQ -ME +vd dQ dQ eQ -Nf +vr ey oO gI @@ -10584,15 +10586,15 @@ hr ht ht ht -vK +Ci gI oX dS aG aT -Vd +JK gZ -sk +yb kD mz aT @@ -10618,7 +10620,7 @@ ba bk bs by -Ji +rN cn cR do @@ -10636,15 +10638,15 @@ tn iI iY cn -xc +Kq aG -ZV +Rc bN bN bN pi pk -ND +Cu aG dw cD @@ -10678,7 +10680,7 @@ dp ey oO gI -OF +vh ht EP ly @@ -10723,7 +10725,7 @@ dp gE ep eR -OW +tN ey oO gY @@ -10821,11 +10823,11 @@ dp gE er mD -Ov +wJ cQ oQ gY -UP +TU hV pM ht @@ -10874,7 +10876,7 @@ iO ey oQ gY -Xc +Mq ht MG ht @@ -10912,7 +10914,7 @@ aQ bm bM VH -EY +JZ fQ cT dr @@ -10930,7 +10932,7 @@ tn iM ja cn -MV +tb aT ph bN @@ -10938,7 +10940,7 @@ bN bN bN bN -ND +Cu aG gK aa @@ -10956,7 +10958,7 @@ as as fP aR -OE +WP aR bn ak @@ -10964,11 +10966,11 @@ ak dS dS ey -De +St dR dQ mL -vP +zk ey oQ gY @@ -10976,7 +10978,7 @@ hy ly ly ly -Ir +YU gY oZ pV @@ -10984,7 +10986,7 @@ aG aT qU bN -zB +sz kF jP aG @@ -11015,15 +11017,15 @@ cq ey cQ dP -VI +OD dP cQ cQ -Pk +Sr gI gI hR -Da +yI hR gY gY @@ -11053,11 +11055,11 @@ aa gK gK aT -DO +Ko OC sC SP -Py +Wi dg cq cq @@ -11067,15 +11069,15 @@ dt dt dt iV -WZ +Oi oT -Ii +aS np mb mb ml Po -HZ +zD hN cq qb @@ -11111,19 +11113,19 @@ aG PV bN cV -zb +Wb bN -zF +Vj bN jc Sn ld cq nu -Ex +ur cq bN -QT +yL cV pa bW @@ -11158,23 +11160,23 @@ aT aT aT bX -Ri +WQ bX eJ eJ eJ dv fp -Pg -ZO -Pg +vj +SW +vj eJ eJ eJ eJ eJ hM -Mr +Gp bX aG aG @@ -11208,21 +11210,21 @@ az cK cK bN -Nz +uM eJ gL hp -rv +Rn hp js lm ha Pn -rB +zb hz -tL +Eh eJ -Nz +uM pa bN aG @@ -11409,11 +11411,11 @@ gK eJ ex eV -WG +Cg fO lv fO -LI +OB hX im eJ @@ -11755,7 +11757,7 @@ gK bD he lV -vb +QA bE gK dF @@ -11796,7 +11798,7 @@ gK bE Re cx -xP +se bE gK gK @@ -11810,7 +11812,7 @@ gK dF gK bD -Fn +LR pE lw bE @@ -11844,7 +11846,7 @@ aa gK bE ct -YB +JG cb bE bE @@ -11852,7 +11854,7 @@ bD bD bD bD -xk +As bE bE bE @@ -11860,7 +11862,7 @@ bE bE bE cb -Ts +Yo cb bD gK @@ -11895,19 +11897,19 @@ gK bE ft fE -RO -UM -WP +Sv +wP +Le hQ -QH +Ny jv ma Re -QH +Ny nH -FT -QC -RO +No +BB +Sv Re pE od @@ -11991,8 +11993,8 @@ ac gK gK bE -rE -FR +Zv +CR eY eY eY @@ -12007,8 +12009,8 @@ dy eY dy dy -wM -yM +XK +Pj jA jA jA @@ -12044,15 +12046,15 @@ Re ge eY di -FD -Jd +JE +wE dZ -Wc +DQ eb hf zG hY -vO +sg iD iP eY @@ -12060,9 +12062,9 @@ pI Re jA kd -ya +Lq jA -te +Xo kZ jA gK @@ -12079,11 +12081,11 @@ gK ac ad ae -YH +NF ae ae ae -Mo +Oo cM jD ac @@ -12108,11 +12110,11 @@ eY pJ lw jA -wx -Zd +wq +KE jA -Zd -Om +KE +Ok jA dF aa @@ -12139,7 +12141,7 @@ ac df bE Re -IH +yp eY gW fa @@ -12154,12 +12156,12 @@ mk ls mn dy -YR +TF Re jA -Cu +Ua kv -rd +RH kv kv jA @@ -12210,7 +12212,7 @@ qf lF kw lF -Cz +Yn jA dF aa @@ -12226,14 +12228,14 @@ gK ac ae aj -Gp +Jq be ah bG -Na +Qz cO dI -uD +YJ dm dW fL @@ -12296,7 +12298,7 @@ jL oh mR hi -YN +yg ir lT hi @@ -12324,11 +12326,11 @@ gK ac af ah -vw +BQ bg ae ag -JI +uN ao bh ac @@ -12346,18 +12348,18 @@ eB eY eY eY -Zm +uX dy dy dy ST Re jA -FJ +CX lF lF kw -Cz +Yn jA dF aa @@ -12384,7 +12386,7 @@ ac gK bE oq -PR +DY dy dZ fu @@ -12396,13 +12398,13 @@ dy hF lM OA -ZY +Qo iQ eY -DX -xt +rH +GX jA -wJ +wh lG qV kx @@ -12451,11 +12453,11 @@ dy IV Re jA -Tg -Sp +yq +HI jA -Sp -Ma +HI +yY jA dF aa @@ -12485,15 +12487,15 @@ Re dc dy eD -Qi -XE +Rf +VW dZ -Qd +NZ eb dy hH hZ -LS +CM iG iS dy @@ -12501,9 +12503,9 @@ Yr Re jA kl -Qz +Xd jA -JW +Ru lc jA gK @@ -12530,8 +12532,8 @@ ag ac gK bE -Ya -MQ +XY +DM dy eY dy @@ -12546,8 +12548,8 @@ dy dy dy eY -wX -yA +ED +Js jA jA jA @@ -12569,11 +12571,11 @@ gK ac ah ae -Gp +Jq bh ae ag -EI +sD ae bg ac @@ -12630,19 +12632,19 @@ gK bE ou Re -EN -wd -LF +Tz +Dn +CU ib -AQ +Ls DB oN lw -RL +RU nL Se -zz -Xz +Pe +Mw nY Yh od @@ -12667,17 +12669,17 @@ gK gK ac ap -WY +SA bV ae bQ -Ra +Uw dd ac gK bE bE -KD +uE bD bD bE @@ -12685,7 +12687,7 @@ bE bD bD bD -HL +wu bE bE bE @@ -12693,7 +12695,7 @@ bE bE bE bD -Ko +Gh bE bE gK @@ -12775,7 +12777,7 @@ dK gK bE he -wc +yD jf AF qO @@ -12791,7 +12793,7 @@ Ll Sf bE jg -MP +WF yx bE dF diff --git a/_maps/RandomRuins/SpaceRuins/provinggrounds.dmm b/_maps/RandomRuins/SpaceRuins/provinggrounds.dmm index 521b2beac456..7b1e496384f5 100644 --- a/_maps/RandomRuins/SpaceRuins/provinggrounds.dmm +++ b/_maps/RandomRuins/SpaceRuins/provinggrounds.dmm @@ -324,7 +324,6 @@ /area/ruin/space/has_grav/syndicircle/winter) "iR" = ( /obj/effect/mine/shrapnel, -/obj/effect/turf_decal/weather/snow/corner, /obj/item/stack/tile/mineral/snow, /obj/machinery/light/dim/directional/west, /obj/effect/decal/cleanable/dirt/dust, @@ -796,6 +795,12 @@ /obj/machinery/light/directional/north, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/syndicircle/halls) +"vT" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/syndicircle/halls) "wa" = ( /obj/machinery/modular_computer/console/preset{ dir = 1 @@ -3365,7 +3370,7 @@ AV Dm Bj IY -ap +vT ap OE am diff --git a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm index 67fb3c35f127..12875d01ff1a 100644 --- a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm +++ b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm @@ -1660,8 +1660,8 @@ /area/ruin/space/has_grav/singularitylab/civvie) "gP" = ( /obj/structure/table/reinforced, -/obj/structure/extinguisher_cabinet/directional/north, /obj/machinery/light/small/directional/west, +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/carpet/nanoweave/beige, /area/ruin/space/has_grav/singularitylab/cargo) "gR" = ( @@ -2017,7 +2017,9 @@ /obj/structure/cable{ icon_state = "0-2" }, -/obj/structure/poddoor_assembly, +/obj/structure/poddoor_assembly{ + dir = 8 + }, /obj/structure/spacevine, /obj/machinery/power/shieldwallgen/atmos, /turf/open/floor/plating, @@ -2208,7 +2210,6 @@ /area/ruin/space/has_grav/singularitylab/civvie) "iZ" = ( /obj/structure/cable, -/obj/structure/poddoor_assembly, /obj/structure/spacevine, /obj/structure/spacevine/dense{ pixel_y = -32 @@ -2216,6 +2217,9 @@ /obj/machinery/power/shieldwallgen/atmos{ dir = 1 }, +/obj/structure/poddoor_assembly{ + dir = 8 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) "ja" = ( @@ -2660,8 +2664,8 @@ /area/ruin/space/has_grav/singularitylab/cargo) "kS" = ( /obj/effect/turf_decal/box, -/obj/structure/extinguisher_cabinet/directional/north, /obj/structure/ore_box, +/obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/plasteel/patterned/cargo_one, /area/ruin/space/has_grav/singularitylab/cargo) "kT" = ( @@ -4396,7 +4400,7 @@ pixel_x = -32; pixel_y = -4 }, -/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/cargo) "rp" = ( @@ -4788,7 +4792,7 @@ /area/ruin/space/has_grav/singularitylab/lab) "th" = ( /obj/structure/spacevine, -/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) "tk" = ( @@ -8771,9 +8775,11 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/structure/poddoor_assembly, /obj/structure/spacevine, /obj/machinery/power/shieldwallgen/atmos, +/obj/structure/poddoor_assembly{ + dir = 8 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) "Iq" = ( @@ -8822,8 +8828,10 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/poddoor_assembly, /obj/structure/spacevine, +/obj/structure/poddoor_assembly{ + dir = 8 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) "IA" = ( @@ -8934,8 +8942,10 @@ /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/engineering) "Jb" = ( -/obj/structure/poddoor_assembly, /obj/structure/spacevine, +/obj/structure/poddoor_assembly{ + dir = 8 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) "Jc" = ( @@ -12169,7 +12179,7 @@ "Uo" = ( /obj/structure/table, /obj/structure/spacevine, -/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/engineering) "Up" = ( @@ -12932,11 +12942,13 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/structure/poddoor_assembly, /obj/structure/spacevine, /obj/machinery/power/shieldwallgen/atmos{ dir = 1 }, +/obj/structure/poddoor_assembly{ + dir = 8 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) "WJ" = ( diff --git a/_maps/RandomRuins/SpaceRuins/spacemall.dmm b/_maps/RandomRuins/SpaceRuins/spacemall.dmm index a8413ce407c3..548003149338 100644 --- a/_maps/RandomRuins/SpaceRuins/spacemall.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacemall.dmm @@ -4990,15 +4990,6 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall) "sH" = ( -/obj/item/clothing/under/pants/classicjeans{ - pixel_y = -5 - }, -/obj/item/clothing/under/pants/classicjeans{ - pixel_y = -5 - }, -/obj/item/clothing/under/pants/classicjeans{ - pixel_y = -5 - }, /obj/item/clothing/suit/ianshirt, /obj/item/clothing/suit/ianshirt, /obj/item/clothing/suit/ianshirt, diff --git a/_maps/configs/independent_beluga.json b/_maps/configs/independent_beluga.json index 8c4a50db50d6..520b70dddc6b 100644 --- a/_maps/configs/independent_beluga.json +++ b/_maps/configs/independent_beluga.json @@ -4,7 +4,7 @@ "prefix": "ISV", "namelists": ["CRUISE", "NATURAL"], "map_short_name": "Beluga-class", - "map_path": "_maps/shuttles/shiptest/independent_beluga.dmm", + "map_path": "_maps/shuttles/independent/independent_beluga.dmm", "description": "The Beluga-Class is a transport vessel for those with especially rich blood. Featuring a modest kitchen, hired Inteq security, and luxurious decoration, the Beluga is a first choice pick for many wealthy spacers trying to get from point A to B. The independent ship features several rooms for its guests and a well furnished meeting room for any corporate occassion.", "tags": [ "RP Focus", diff --git a/_maps/configs/independent_box.json b/_maps/configs/independent_box.json index f4a836900702..32bb02219819 100644 --- a/_maps/configs/independent_box.json +++ b/_maps/configs/independent_box.json @@ -6,7 +6,7 @@ "tags": [ "Medical" ], - "map_path": "_maps/shuttles/shiptest/independent_box.dmm", + "map_path": "_maps/shuttles/independent/independent_box.dmm", "namelists": [ "GENERAL", "SPACE", diff --git a/_maps/configs/independent_boyardee.json b/_maps/configs/independent_boyardee.json index f5f14556d842..eacf31372fdd 100644 --- a/_maps/configs/independent_boyardee.json +++ b/_maps/configs/independent_boyardee.json @@ -15,7 +15,7 @@ ], "starting_funds": 5000, "map_short_name": "Boyardee-class", - "map_path": "_maps/shuttles/shiptest/independent_boyardee.dmm", + "map_path": "_maps/shuttles/independent/independent_boyardee.dmm", "job_slots": { "Bartender": { "outfit": "/datum/outfit/job/bartender", diff --git a/_maps/configs/independent_bubble.json b/_maps/configs/independent_bubble.json index 6c94b80564ee..5284f758d47e 100644 --- a/_maps/configs/independent_bubble.json +++ b/_maps/configs/independent_bubble.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Bubble-class Colonial Ship", "map_short_name": "Bubble-class", - "map_path": "_maps/shuttles/shiptest/independent_bubble.dmm", + "map_path": "_maps/shuttles/independent/independent_bubble.dmm", "description": "While the most famous colony ships were hulking, highly-advanced affairs designed to ferry hundreds-if-not-thousands of settlers to far-off worlds and create cities in a matter of months – the Kalixcian Moonlight, the Candor, the First Train to Fort Sol – the Bubble-class is designed to cater to homesteaders aiming to establish a small ranch or village out in the great vastness of space. The Bubble-class is highly compact but complete with all the necessities for colony creation – extensive R&D equipment, robust mining gear, and a small selection of personal arms for fending off hostile fauna. While the Bubble-class has been historically utilized by the Solarian Federation for colony efforts, their proprietary version has recently been phased out of operation.", "tags": [ "Generalist", diff --git a/_maps/configs/independent_byo.json b/_maps/configs/independent_byo.json index 36fc8718678a..35598191c6b5 100644 --- a/_maps/configs/independent_byo.json +++ b/_maps/configs/independent_byo.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "BYO-class Do-It-Yourself Enthusiast Special", "map_short_name": "BYO-class", - "map_path": "_maps/shuttles/shiptest/independent_byo.dmm", + "map_path": "_maps/shuttles/independent/independent_byo.dmm", "description": "The BYO can barely be considered a “ship” when initially deployed; more of a construction platform launched hazardously into space. The only thing that separates crews on a BYO from breathable safety and the cold vacuum of space are typically little airtight flaps of plastic. Equipped with a plethora of building material and tools fit for construction, BYO vessels are seen in a variety of shapes and sizes, and almost never with any consistency of form.", "tags": [ "Engineering", diff --git a/_maps/configs/independent_caravan.json b/_maps/configs/independent_caravan.json index 3e244cbf49b5..55398ad6fc94 100644 --- a/_maps/configs/independent_caravan.json +++ b/_maps/configs/independent_caravan.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Caravan-class Modular ship", "map_short_name": "Caravan-class", - "map_path": "_maps/shuttles/shiptest/independent_caravan.dmm", + "map_path": "_maps/shuttles/independent/independent_caravan.dmm", "prefix": "ISV", "description": "The Caravan is a relatively new freighter pattern, designed around a modular pod system that enables the ship to serve in a variety of roles beyond simple transportation. These pods are designed around a quick-release mechanism that allows the main hull to bluespace jump in, detach the pods, and load a new set of empty Caravan-type pods in a matter of minutes. While impressive in theory, the lack of empty compatible cargo pods in Frontier space renders the quick-detach system useless. Additionally, the modular attachment system is prone to wear and tear, necessitating more frequent and costly maintenance than other freighters. Despite these shortcomings, the Caravan has still earned a reputation as a versatile platform for a variety of missions. The main hull features a robust power pack and respectable crew accommodations, and most examples on the Frontier carry pods loaded for mining and survey duties.", "tags": [ diff --git a/_maps/configs/independent_dwayne.json b/_maps/configs/independent_dwayne.json index 2d312fabc045..34a353fe332e 100644 --- a/_maps/configs/independent_dwayne.json +++ b/_maps/configs/independent_dwayne.json @@ -9,7 +9,7 @@ "MERCANTILE" ], "map_short_name": "Mk.II Dwayne-class ", - "map_path": "_maps/shuttles/shiptest/independent_dwayne.dmm", + "map_path": "_maps/shuttles/independent/independent_dwayne.dmm", "description": "The Dwayne is one of the older classes of ships commonly seen on the Frontier, and one of the few such classes that doesn’t also carry a reputation for nightmarish conditions or high accident rates. Originally conceived of as a “mothership” for Nanotrasen mining shuttles that could enable long-duration mining missions at minimal cost, severe budget overruns and issues with the mining shuttle docking system left Nanotrasen with a massive number of mostly-completed hulls upon the project’s cancellation. These hulls were then quickly refurbished and sold on the civilian market, where they proved an immediate success on the Frontier. Contemporary Dwaynes can typically be found carrying a variety of mining equipment and extensive modifications unique to their captains. Recently-available aftermarket modifications have solved the Dwayne’s longstanding shuttle dock issues, allowing modern Dwaynes to finally serve their original design purpose, provided the captain is able to source a shuttle.", "tags": [ "Mining", diff --git a/_maps/configs/independent_halftrack.json b/_maps/configs/independent_halftrack.json index 8dcb1f4cba25..0569a4c395a2 100644 --- a/_maps/configs/independent_halftrack.json +++ b/_maps/configs/independent_halftrack.json @@ -12,7 +12,7 @@ "Combat", "Cargo" ], - "map_path": "_maps/shuttles/shiptest/independent_halftrack.dmm", + "map_path": "_maps/shuttles/independent/independent_halftrack.dmm", "job_slots": { "Captain": { "outfit": "/datum/outfit/job/captain", diff --git a/_maps/configs/independent_junker.json b/_maps/configs/independent_junker.json index 26d3ab445766..e32c13b36210 100644 --- a/_maps/configs/independent_junker.json +++ b/_maps/configs/independent_junker.json @@ -12,7 +12,7 @@ "Survival Challenge" ], "starting_funds": 0, - "map_path": "_maps/shuttles/shiptest/independent_junker.dmm", + "map_path": "_maps/shuttles/independent/independent_junker.dmm", "limit": 1, "job_slots": { "Assistant": { diff --git a/_maps/configs/independent_kilo.json b/_maps/configs/independent_kilo.json index 7877bbfcd08e..43e2d0d62d41 100644 --- a/_maps/configs/independent_kilo.json +++ b/_maps/configs/independent_kilo.json @@ -13,7 +13,7 @@ ], "map_short_name": "Kilo-class", "starting_funds": 1500, - "map_path": "_maps/shuttles/shiptest/independent_kilo.dmm", + "map_path": "_maps/shuttles/independent/independent_kilo.dmm", "job_slots": { "Captain": { "outfit": "/datum/outfit/job/captain/western", diff --git a/_maps/configs/independent_lagoon.json b/_maps/configs/independent_lagoon.json index 3be6a5d95b74..9d5535ca6232 100644 --- a/_maps/configs/independent_lagoon.json +++ b/_maps/configs/independent_lagoon.json @@ -12,7 +12,7 @@ "CRUISE" ], "map_short_name": "Lagoon-class", - "map_path": "_maps/shuttles/shiptest/independent_lagoon.dmm", + "map_path": "_maps/shuttles/independent/independent_lagoon.dmm", "starting_funds": 3000, "job_slots": { "Captain": { diff --git a/_maps/configs/independent_litieguai.json b/_maps/configs/independent_litieguai.json index 8128d3f6c980..d189af20b550 100644 --- a/_maps/configs/independent_litieguai.json +++ b/_maps/configs/independent_litieguai.json @@ -6,7 +6,7 @@ "tags": [ "Medical" ], - "map_path": "_maps/shuttles/shiptest/independent_litieguai.dmm", + "map_path": "_maps/shuttles/independent/independent_litieguai.dmm", "namelists": [ "SPACE", "BEASTS", diff --git a/_maps/configs/independent_masinyane.json b/_maps/configs/independent_masinyane.json index 0d5a6a26e984..4407f412bc92 100644 --- a/_maps/configs/independent_masinyane.json +++ b/_maps/configs/independent_masinyane.json @@ -11,7 +11,7 @@ "MYTHOLOGICAL", "NATURAL" ], - "map_path": "_maps/shuttles/shiptest/independent_masinyane.dmm", + "map_path": "_maps/shuttles/independent/independent_masinyane.dmm", "job_slots": { "Private Ship Owner": { "outfit": "/datum/outfit/job/captain/independent/owner", diff --git a/_maps/configs/independent_meta.json b/_maps/configs/independent_meta.json index 26bd1504b3a9..457c116c24ef 100644 --- a/_maps/configs/independent_meta.json +++ b/_maps/configs/independent_meta.json @@ -13,7 +13,7 @@ "SPACE", "HISTORICAL" ], - "map_path": "_maps/shuttles/shiptest/independent_meta.dmm", + "map_path": "_maps/shuttles/independent/independent_meta.dmm", "job_slots": { "Captain": { "outfit": "/datum/outfit/job/captain", diff --git a/_maps/configs/independent_mudskipper.json b/_maps/configs/independent_mudskipper.json index b7aff1138267..22de128d2667 100644 --- a/_maps/configs/independent_mudskipper.json +++ b/_maps/configs/independent_mudskipper.json @@ -13,7 +13,7 @@ "GENERAL", "SPACE" ], - "map_path": "_maps/shuttles/shiptest/independent_mudskipper.dmm", + "map_path": "_maps/shuttles/independent/independent_mudskipper.dmm", "roundstart": true, "limit": 2, "starting_funds": 1500, diff --git a/_maps/configs/independent_nemo.json b/_maps/configs/independent_nemo.json index 5296c2d663c6..8733d8aa0d1e 100644 --- a/_maps/configs/independent_nemo.json +++ b/_maps/configs/independent_nemo.json @@ -15,7 +15,7 @@ "Robotics" ], "starting_funds": 500, - "map_path": "_maps/shuttles/shiptest/independent_nemo.dmm", + "map_path": "_maps/shuttles/independent/independent_nemo.dmm", "job_slots": { "Research Director": { "outfit": "/datum/outfit/job/rd", diff --git a/_maps/configs/independent_pill.json b/_maps/configs/independent_pill.json index 18b1a3968033..42c2a4943f3c 100644 --- a/_maps/configs/independent_pill.json +++ b/_maps/configs/independent_pill.json @@ -11,7 +11,7 @@ "tags": [ "Specialist" ], - "map_path": "_maps/shuttles/shiptest/independent_pillbottle.dmm", + "map_path": "_maps/shuttles/independent/independent_pillbottle.dmm", "limit":1, "starting_funds": 0, "job_slots": { diff --git a/_maps/configs/independent_rigger.json b/_maps/configs/independent_rigger.json index ed778696bd74..8229cee469de 100644 --- a/_maps/configs/independent_rigger.json +++ b/_maps/configs/independent_rigger.json @@ -16,7 +16,7 @@ "Robotics", "Generalist" ], - "map_path": "_maps/shuttles/shiptest/independent_rigger.dmm", + "map_path": "_maps/shuttles/independent/independent_rigger.dmm", "roundstart": true, "limit": 2, "job_slots": { diff --git a/_maps/configs/independent_rube_goldberg.json b/_maps/configs/independent_rube_goldberg.json index 8f538bed67a5..055dbc86ee68 100644 --- a/_maps/configs/independent_rube_goldberg.json +++ b/_maps/configs/independent_rube_goldberg.json @@ -9,7 +9,7 @@ "map_short_name": "Rube Goldberg-class", "description": "The Rube Goldberg-class Engineering Project is an experience, and a monument to insanity. Featuring a powerful supermatter engine in combination with an Escher-esque structural layout, complicated pipe and wire network, and utter disregard for basic safety procedures and common sense, this ship is a disaster waiting to happen.", "tags": ["Engineering", "Construction"], - "map_path": "_maps/shuttles/shiptest/independent_rube_goldberg.dmm", + "map_path": "_maps/shuttles/independent/independent_rube_goldberg.dmm", "limit": 1, "job_slots": { "Chief at Engineering": { diff --git a/_maps/configs/independent_schmiedeberg.json b/_maps/configs/independent_schmiedeberg.json index 457b8d602f4f..a21435659743 100644 --- a/_maps/configs/independent_schmiedeberg.json +++ b/_maps/configs/independent_schmiedeberg.json @@ -9,7 +9,7 @@ "Medical", "Chemistry" ], - "map_path": "_maps/shuttles/shiptest/independent_schmiedeberg.dmm", + "map_path": "_maps/shuttles/independent/independent_schmiedeberg.dmm", "namelists": [ "SUNS", "GENERAL" diff --git a/_maps/configs/independent_shepherd.json b/_maps/configs/independent_shepherd.json index 39249ac48314..ce677e1d3d11 100644 --- a/_maps/configs/independent_shepherd.json +++ b/_maps/configs/independent_shepherd.json @@ -8,7 +8,7 @@ "Botany", "Service" ], - "map_path": "_maps/shuttles/shiptest/independent_shepherd.dmm", + "map_path": "_maps/shuttles/independent/independent_shepherd.dmm", "prefix": "ISV", "namelists": [ "MYTHOLOGICAL" diff --git a/_maps/configs/independent_shetland.json b/_maps/configs/independent_shetland.json index fc2741514879..a1d88413bc18 100644 --- a/_maps/configs/independent_shetland.json +++ b/_maps/configs/independent_shetland.json @@ -13,7 +13,7 @@ "Service", "Medical" ], - "map_path": "_maps/shuttles/shiptest/independent_shetland.dmm", + "map_path": "_maps/shuttles/independent/independent_shetland.dmm", "map_id": "independent_shetland", "roundstart": true, "job_slots": { diff --git a/_maps/configs/independent_tranquility.json b/_maps/configs/independent_tranquility.json index f56ad1bbd1f3..a7ddabe6e4de 100644 --- a/_maps/configs/independent_tranquility.json +++ b/_maps/configs/independent_tranquility.json @@ -14,7 +14,7 @@ "Service", "Generalist" ], - "map_path": "_maps/shuttles/shiptest/independent_tranquility.dmm", + "map_path": "_maps/shuttles/independent/independent_tranquility.dmm", "job_slots": { "Captain": { "outfit": "/datum/outfit/job/captain/western", diff --git a/_maps/configs/inteq_colossus.json b/_maps/configs/inteq_colossus.json index b88ae1b0a76b..06a1358c3e95 100644 --- a/_maps/configs/inteq_colossus.json +++ b/_maps/configs/inteq_colossus.json @@ -14,7 +14,7 @@ "INTEQ" ], "map_short_name": "Colossus-class", - "map_path": "_maps/shuttles/shiptest/inteq_colossus.dmm", + "map_path": "_maps/shuttles/inteq/inteq_colossus.dmm", "limit": 1, "job_slots": { "Vanguard": { diff --git a/_maps/configs/inteq_hound.json b/_maps/configs/inteq_hound.json index d31c8b3f2588..80e8349de9ec 100644 --- a/_maps/configs/inteq_hound.json +++ b/_maps/configs/inteq_hound.json @@ -12,7 +12,7 @@ "tags": [ "Combat" ], - "map_path": "_maps/shuttles/shiptest/inteq_hound.dmm", + "map_path": "_maps/shuttles/inteq/inteq_hound.dmm", "map_id": "inteq_hound", "limit": 2, "job_slots": { diff --git a/_maps/configs/inteq_talos.json b/_maps/configs/inteq_talos.json index 42b254885685..c298846d55b0 100644 --- a/_maps/configs/inteq_talos.json +++ b/_maps/configs/inteq_talos.json @@ -14,7 +14,7 @@ "INTEQ" ], "map_short_name": "Talos-class", - "map_path": "_maps/shuttles/shiptest/inteq_talos.dmm", + "map_path": "_maps/shuttles/inteq/inteq_talos.dmm", "limit": 1, "job_slots": { "Vanguard": { diff --git a/_maps/configs/inteq_vaquero.json b/_maps/configs/inteq_vaquero.json index 8cd4224faa16..72b2ae65d257 100644 --- a/_maps/configs/inteq_vaquero.json +++ b/_maps/configs/inteq_vaquero.json @@ -11,7 +11,7 @@ "INTEQ" ], "map_short_name": "Vaquero-class", - "map_path": "_maps/shuttles/shiptest/inteq_vaquero.dmm", + "map_path": "_maps/shuttles/inteq/inteq_vaquero.dmm", "limit": 1, "job_slots": { "Vanguard": { diff --git a/_maps/configs/minutemen_asclepius.json b/_maps/configs/minutemen_asclepius.json index e2f80e40dc11..6923097d0447 100644 --- a/_maps/configs/minutemen_asclepius.json +++ b/_maps/configs/minutemen_asclepius.json @@ -13,7 +13,7 @@ "MYTHOLOGICAL" ], "map_short_name": "Asclepius-class", - "map_path": "_maps/shuttles/shiptest/minutemen_asclepius.dmm", + "map_path": "_maps/shuttles/minutemen/minutemen_asclepius.dmm", "limit": 1, "job_slots": { "Captain": { diff --git a/_maps/configs/minutemen_cepheus.json b/_maps/configs/minutemen_cepheus.json index ee275e7e5d10..c82468a59349 100644 --- a/_maps/configs/minutemen_cepheus.json +++ b/_maps/configs/minutemen_cepheus.json @@ -11,7 +11,7 @@ "MYTHOLOGICAL" ], "map_short_name": "Cepheus-class", - "map_path": "_maps/shuttles/shiptest/minutemen_cepheus.dmm", + "map_path": "_maps/shuttles/minutemen/minutemen_cepheus.dmm", "limit": 1, "job_slots": { "Captain": { diff --git a/_maps/configs/minutemen_corvus.json b/_maps/configs/minutemen_corvus.json index 355669e158fd..1080c81f59a4 100644 --- a/_maps/configs/minutemen_corvus.json +++ b/_maps/configs/minutemen_corvus.json @@ -12,7 +12,7 @@ "MYTHOLOGICAL" ], "map_short_name": "Corvus-class", - "map_path": "_maps/shuttles/shiptest/minutemen_corvus.dmm", + "map_path": "_maps/shuttles/minutemen/minutemen_corvus.dmm", "limit": 2, "job_slots": { "Captain": { diff --git a/_maps/configs/minutemen_vela.json b/_maps/configs/minutemen_vela.json index 86b7818ba1f8..eed473a983ff 100644 --- a/_maps/configs/minutemen_vela.json +++ b/_maps/configs/minutemen_vela.json @@ -11,7 +11,7 @@ ], "map_short_name": "Vela-class", "starting_funds": 1000, - "map_path": "_maps/shuttles/shiptest/minutemen_vela.dmm", + "map_path": "_maps/shuttles/minutemen/minutemen_vela.dmm", "limit": 1, "job_slots": { "Captain": { diff --git a/_maps/configs/nanotrasen_delta.json b/_maps/configs/nanotrasen_delta.json index 6f81f5972a22..749e0240a6ba 100644 --- a/_maps/configs/nanotrasen_delta.json +++ b/_maps/configs/nanotrasen_delta.json @@ -15,7 +15,7 @@ "Science", "Robotics" ], - "map_path": "_maps/shuttles/shiptest/nanotrasen_delta.dmm", + "map_path": "_maps/shuttles/nanotrasen/nanotrasen_delta.dmm", "starting_funds": 4000, "job_slots": { "Captain": { diff --git a/_maps/configs/nanotrasen_gecko.json b/_maps/configs/nanotrasen_gecko.json index f7f0791f7cb1..1a8e59f73ece 100644 --- a/_maps/configs/nanotrasen_gecko.json +++ b/_maps/configs/nanotrasen_gecko.json @@ -8,7 +8,7 @@ "SPACE" ], "map_short_name": "Gecko-class", - "map_path": "_maps/shuttles/shiptest/nanotrasen_gecko.dmm", + "map_path": "_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm", "description": "A bulky, robust, and exceedingly ugly salvage ship. The Gecko is nothing less than a flying brick full of redundant maintenance spaces and open-to-space salvage bays, powered by a temperamental TEG system, with a cramped crew space sandwiched in between. Due to its deeply obsolete design and the dangerous nature of salvage work, Geckos are often the final resting point for the careers of officers that have stepped on too many toes in the corporate world without doing anything outright criminal. Despite these shortcomings, Geckos offer a large amount of open space and a good supply of engineering equipment, which is all an enterprising engineer truly needs.", "tags": [ "Mining", diff --git a/_maps/configs/nanotrasen_mimir.json b/_maps/configs/nanotrasen_mimir.json index a0ba21e4df19..273d17ad5705 100644 --- a/_maps/configs/nanotrasen_mimir.json +++ b/_maps/configs/nanotrasen_mimir.json @@ -15,7 +15,7 @@ "Generalist", "Specialist" ], - "map_path": "_maps/shuttles/shiptest/nanotrasen_mimir.dmm", + "map_path": "_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm", "limit": 1, "job_slots": { "Warden": { diff --git a/_maps/configs/nanotrasen_osprey.json b/_maps/configs/nanotrasen_osprey.json index feea5e777c69..d88127f1a177 100644 --- a/_maps/configs/nanotrasen_osprey.json +++ b/_maps/configs/nanotrasen_osprey.json @@ -9,7 +9,7 @@ "WEAPONS" ], "map_short_name": "Osprey-class", - "map_path": "_maps/shuttles/shiptest/nanotrasen_osprey.dmm", + "map_path": "_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm", "description": "Some of the most modern ships in Nanotrasen’s fleet and a prestigious assignment for their captains, the famed Osprey of the ICW’s most dramatic astronautical engagements lives on as a very well-appointed exploration ship. Extensively refurbished from their origins as Bluespace Artillery platforms, the contemporary Osprey repurposes military-grade sensor equipment and AI systems for exploration and scientific work. Features include respectably-equipped medical, culinary, and scientific facilities and an AI core, as well as a ship-wide disposals and delivery system and a very spacious cargo bay. However, the powerful (if temperamental) supermatter engines that powered the initial batch of Ospreys were stripped out during their rebuilds, and the replacement generator banks have left contemporary Ospreys somewhat power-starved.", "tags": ["Cargo", "Robotics", "Generalist"], "limit": 1, diff --git a/_maps/configs/nanotrasen_ranger.json b/_maps/configs/nanotrasen_ranger.json index e71839db2893..6c2d24f439f9 100644 --- a/_maps/configs/nanotrasen_ranger.json +++ b/_maps/configs/nanotrasen_ranger.json @@ -18,7 +18,7 @@ "Generalist" ], "starting_funds": 4000, - "map_path": "_maps/shuttles/shiptest/nanotrasen_ranger.dmm", + "map_path": "_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm", "limit": 1, "job_slots": { "LP Lieutenant": { diff --git a/_maps/configs/nanotrasen_skipper.json b/_maps/configs/nanotrasen_skipper.json index 86e8ec7c8f49..0b3d24ec9918 100644 --- a/_maps/configs/nanotrasen_skipper.json +++ b/_maps/configs/nanotrasen_skipper.json @@ -10,7 +10,7 @@ "WEAPONS", "MERCANTILE" ], - "map_path": "_maps/shuttles/shiptest/nanotrasen_skipper.dmm", + "map_path": "_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm", "description": "An example of one of Nanotrasen’s “standard-pattern” cruisers. The Skipper-class is well-equipped by Frontier standards, with ample room for engineering equipment, well-appointed crew accommodations, and a decent supply of defensive weaponry. Notably, the Skipper comes with a larger command section than average, and the officers on Skippers tend to be better-equipped than their peers. Though not as prestigious as a position aboard an Osprey, few Nanotrasen captains would turn down a position commanding a Skipper.", "tags": [ "Engineering", diff --git a/_maps/configs/pirate_ember.json b/_maps/configs/pirate_ember.json index 78c60f95e28b..52b511afefe1 100644 --- a/_maps/configs/pirate_ember.json +++ b/_maps/configs/pirate_ember.json @@ -7,7 +7,7 @@ "BRITISH_NAVY" ], "map_short_name": "Ember-class", - "map_path": "_maps/shuttles/shiptest/pirate_ember.dmm", + "map_path": "_maps/shuttles/pirate/pirate_ember.dmm", "description": "The Ember class is a red flag in any sector. A giant, slow moving, safety hazard of a ship, makeshift in almost every regard, finds itself favored amongst the most ruthless and cutthroat of pirates and scoundrels galaxy-wide. Simply to be willing to exist on one of these ships shows a hardiness not typically found in most spacers. The best way to deal with Ember vessels is to simply give them a wide berth.", "tags": [ "Combat", diff --git a/_maps/configs/pirate_libertatia.json b/_maps/configs/pirate_libertatia.json index 196f8652753f..1dd3654a93f7 100644 --- a/_maps/configs/pirate_libertatia.json +++ b/_maps/configs/pirate_libertatia.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Libertatia-class Hauler", "map_short_name": "Libertatia-class", - "map_path": "_maps/shuttles/shiptest/pirate_libertatia.dmm", + "map_path": "_maps/shuttles/pirate/pirate_libertatia.dmm", "description": "A widely-available and dirt-cheap courier ship by Miskilamo Spacefaring, Libertatias are shoddy overhauls of old civilian atmospheric ships or the burned-out wrecks of other Libertatias, made nominally space worthy and capable of carrying a modest cargo at blistering speeds. While marketed as courier ships and short-range cargo shuttles, the Libertatia found its true target market in the hands of smugglers, blockade runners, and pirates, who find its speed, low sensor signature, and rock-bottom price point extremely attractive. In recent years, it’s become far more common to see Libertatias captained by pirates than anyone else, especially in the loosely-patrolled Frontier sectors. Surprisingly enough, the more organized Frontiersmen pirate group shows little love for the humble Libertatia, instead preferring larger and more threatening ships.", "tags": [ "Combat" diff --git a/_maps/configs/pirate_noderider.json b/_maps/configs/pirate_noderider.json index aa005f85b7cf..c46b88bee91b 100644 --- a/_maps/configs/pirate_noderider.json +++ b/_maps/configs/pirate_noderider.json @@ -7,7 +7,7 @@ "INSTALLATION", "PIRATES" ], - "map_path": "_maps/shuttles/shiptest/pirate_noderider.dmm", + "map_path": "_maps/shuttles/pirate/pirate_noderider.dmm", "description": "The Jupiter-class Stormrider is a specialist design originating from the Silicon Elevation Council, typically used for sustained missions in the Frontier. While habitable to organic life (typically as a matter of convenience), the ship is designed with silicons in mind, and features an AI core built into its hull. Many captains have been quoted as being “frightened” (although “piss-pants scared” was the exact statement) by one suddenly appearing out of a storm, IFF loudly declaring who they were, or in worse conditions, not functioning at all. Some examples have been known to find their way into pirate hands, who leverage the ship to spring ambushes on unsuspecting traders.", "tags": [ "Robotics", diff --git a/_maps/configs/radio.json b/_maps/configs/radio.json index e1ae13e64abf..55bc4549dc5b 100644 --- a/_maps/configs/radio.json +++ b/_maps/configs/radio.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Radio Broadcasting Ship", "map_short_name": "Radio-class", - "map_path": "_maps/shuttles/shiptest/radio_funny.dmm", + "map_path": "_maps/shuttles/independent/radio_funny.dmm", "description": "Whether through divine intervention or hellish creation by the hands of sapient-kind, reports of this “ship” plague some sectors more than others. The Radio Broadcasting Ship is an anomalous thing in its own right. It is a “ship” equipped with nothing but radios and reality warping engines. There exist many reports of this vessel being totally destroyed and showing back up in a sector just hours later. The only thing you can do about these vessels is pray the pilot doesn’t have bad taste.", "tags": ["Specialist"], "job_slots": { diff --git a/_maps/configs/solgov_chronicle.json b/_maps/configs/solgov_chronicle.json index 2f2043eaec73..0ef5e8005756 100644 --- a/_maps/configs/solgov_chronicle.json +++ b/_maps/configs/solgov_chronicle.json @@ -9,7 +9,7 @@ "NATURAL" ], "map_short_name": "Chronicle-class", - "map_path": "_maps/shuttles/shiptest/solgov_chronicle.dmm", + "map_path": "_maps/shuttles/solgov/solgov_chronicle.dmm", "description": "Equipped with a sophisticated sensors suite and powerful data utilities, the Chronicle is a clerical workhorse, able to collect and process vast amounts of information. Often employed for census duties and interstellar exploration, the Chronicle is also a favorite of Evidenzkompanien, employed often for intelligence operations. With this fact in mind, Chronicle-class vessels are often placed under increased scrutiny by patrols, somewhat mitigating their effectiveness as a spymaster's tool.", "tags": [ "Specialist" diff --git a/_maps/configs/solgov_inkwell.json b/_maps/configs/solgov_inkwell.json new file mode 100644 index 000000000000..d34cb392f65e --- /dev/null +++ b/_maps/configs/solgov_inkwell.json @@ -0,0 +1,49 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Inkwell-class Supply Freighter", + "prefix": "SGSV", + "namelists": [ + "SOLGOV", + "SPACE", + "BRITISH_NAVY", + "NATURAL" + ], + "map_short_name": "Inkwell-class", + "map_path": "_maps/shuttles/solgov/solgov_inkwell.dmm", + "description": "One of the few Sol-designed hulls used outside of official contexts by non-Confederation parties, the Inkwell is a freighter respected for its engineering and loved for its lavish crew accommodations. \n The Inkwell-class seen in numerous contexts, perhaps most notably among the Verwaltungskompanien, where they are essential in solving the logistic concerns of any proper military-administration-for-hire. Additionally, they are often commissioned and sold to non-Solarian parties for use in interstellar shipping. \n The usage of the Inkwell-class to move illicit or untracked cargo is known by any seasoned (or even half-cooked) port authority; \"...such regrettable actions by an outlier minority are mere part-and-parcel of the realities of interstellar shipping,\" goes the official reply.", + "tags": ["RP Focus", "Combat", "Cargo", "Mining"], + "limit": 1, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/solgov/captain", + "officer": true, + "slots": 1 + }, + "Logistics Deck Officer": { + "outfit": "/datum/outfit/job/solgov/quartermaster", + "officer": true, + "slots": 1 + }, + "Sonnensöldner": { + "outfit": "/datum/outfit/job/solgov/sonnensoldner", + "slots": 3 + }, + "Ship Engineer": { + "outfit": "/datum/outfit/job/solgov/engineer", + "slots": 2 + }, + "Field Engineer": { + "outfit": "/datum/outfit/job/solgov/miner", + "slots": 3 + }, + "Bureaucrat": { + "outfit": "/datum/outfit/job/solgov/bureaucrat", + "slots": 2 + }, + "Scribe": { + "outfit": "/datum/outfit/job/solgov/assistant", + "slots" : 6 + } + }, + "enabled": true +} diff --git a/_maps/configs/solgov_paracelsus.json b/_maps/configs/solgov_paracelsus.json index b10439c6db02..cd3b056e282e 100644 --- a/_maps/configs/solgov_paracelsus.json +++ b/_maps/configs/solgov_paracelsus.json @@ -11,7 +11,7 @@ "map_short_name": "Paracelsus-class", "description": "Fulfilling its role as a medicinal powerhouse of the Solarian Navy, the Paracelsus-class is a specially designed corvette to assist solarian fleets in medical troubles, as well as supplying such vessels with medication. Scribes pursuing a medical degree often work in these ships to shadow trained medical doctors to complete their residency.", "tags": ["RP Focus", "Medical", "Chemistry"], - "map_path": "_maps/shuttles/shiptest/solgov_paracelsus.dmm", + "map_path": "_maps/shuttles/solgov/solgov_paracelsus.dmm", "limit": 1, "job_slots": { "Captain": { diff --git a/_maps/configs/srm_glaive.json b/_maps/configs/srm_glaive.json index 093e28107e2c..f71c8b2398fc 100644 --- a/_maps/configs/srm_glaive.json +++ b/_maps/configs/srm_glaive.json @@ -7,7 +7,7 @@ "BEASTS" ], "map_short_name": "Glaive-class", - "map_path": "_maps/shuttles/shiptest/srm_glaive.dmm", + "map_path": "_maps/shuttles/roumain/srm_glaive.dmm", "description": "A standard issue vessel to the highest ranks of the Saint-Roumain Militia. While “standard”, this class of vessel is unique to the Montagne that owns it. Each ship is designed around a central garden consisting of plants, soil, and a tree from the owning Montagnes’ home planet. As a highly religious ascetic order, the SRM supplies each Glaive with supplies to farm, raise animals, and perform medicine in more “natural” ways, using herbs and plants grown in house. Alongside this, the ship has a decent amount of mining equipment, and supplies required to begin the manufacturing of SRM-pattern firearms as is standard for Hunter’s Pride. The ship is captained by a Montagne, who oversees a team of Hunters, and Shadows apprenticing them.", "tags": [ "Mining", diff --git a/_maps/configs/syndicate_aegis.json b/_maps/configs/syndicate_aegis.json index 73b4e1d817ad..9dc307f7f091 100644 --- a/_maps/configs/syndicate_aegis.json +++ b/_maps/configs/syndicate_aegis.json @@ -2,7 +2,7 @@ "prefix": "SSV", "map_name": "Aegis-class Long Term Care Ship", "map_short_name": "Aegis-class", - "map_path": "_maps/shuttles/shiptest/syndicate_aegis.dmm", + "map_path": "_maps/shuttles/syndicate/syndicate_aegis.dmm", "description": "Approximately a third of the way through the ICW, it became apparent that the Syndicate could not muster the sheer throwaway manpower that Nanotrasen could with its swaths of mercenaries and disposable personnel. Instead, the Syndicate began to adopt a much more conservative approach to maintaining personnel, by establishing an initiative to create a host of medical vessels designed to rescue and rehabilitate the fallen. While the Li Tieguai filled the rescue role, the Aegis-Class was to fill the rehabilitation role. Featuring a host of ‘quality of life’ features for long-term patients (a full bar, a hydroponics setup, and so on), an expansive medical bay and an array of comfort fixtures like couches and gardens, the Aegis is perfect for aspiring doctors or wounded patients.", "tags": [ "Botany", @@ -18,38 +18,38 @@ ], "job_slots": { "Captain": { - "outfit": "/datum/outfit/job/captain/syndicate", + "outfit": "/datum/outfit/job/syndicate/captain", "officer": true, "slots": 1 }, "Lead Doctor": { - "outfit": "/datum/outfit/job/cmo/syndicate/nsv", + "outfit": "/datum/outfit/job/syndicate/cmo/suns", "slots": 1 }, "Ship Doctor":{ - "outfit": "/datum/outfit/job/doctor/syndicate/nsv", + "outfit": "/datum/outfit/job/syndicate/doctor/suns", "slots": 2 }, "Mechanic": { - "outfit": "/datum/outfit/job/engineer/syndicate", + "outfit": "/datum/outfit/job/syndicate/engineer", "slots": 1 }, "Deck Service Assistant": { - "outfit": "/datum/outfit/job/botanist/syndicate/nsv", + "outfit": "/datum/outfit/job/syndicate/botanist/suns", "slots": 2 }, "Ship Psychologist": { - "outfit": "/datum/outfit/job/psychologist/syndicate/nsv", + "outfit": "/datum/outfit/job/syndicate/psychologist/suns", "slots": 1 }, "Long Term Patient": { - "outfit": "/datum/outfit/job/prisoner/syndicatepatient", + "outfit": "/datum/outfit/job/syndicate/patient", "slots": 2 } }, diff --git a/_maps/configs/syndicate_cybersun_kansatsu.json b/_maps/configs/syndicate_cybersun_kansatsu.json index d032f8c8d30f..fbde6dc608d6 100644 --- a/_maps/configs/syndicate_cybersun_kansatsu.json +++ b/_maps/configs/syndicate_cybersun_kansatsu.json @@ -12,29 +12,29 @@ "Specialist" ], "map_short_name": "Kansatsu-class", - "map_path": "_maps/shuttles/shiptest/syndicate_cybersun_kansatsu.dmm", + "map_path": "_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm", "map_id": "cybersun_kansatsu", "job_slots": { - "Captain": { - "outfit": "/datum/outfit/job/captain/syndicate/cybersun", + "Commander": { + "outfit": "/datum/outfit/job/syndicate/captain/cybersun", "officer": true, "slots": 1 }, "Intelligence Officer": { - "outfit": "/datum/outfit/job/head_of_personnel/syndicate/intel", + "outfit": "/datum/outfit/job/syndicate/head_of_personnel/cybersun", "officer": true, "slots": 1 }, "Engineer": { - "outfit": "/datum/outfit/job/engineer/syndicate/cybersun", + "outfit": "/datum/outfit/job/syndicate/engineer/cybersun", "slots": 1 }, "Field Agent": { - "outfit": "/datum/outfit/job/miner/syndicate/cybersun", + "outfit": "/datum/outfit/job/syndicate/miner/cybersun", "slots": 2 }, "Junior Agent": { - "outfit": "/datum/outfit/job/assistant/syndicate/cyberagent", + "outfit": "/datum/outfit/job/syndicate/assistant/cybersun", "slots": 2 } }, diff --git a/_maps/configs/syndicate_gorlex_hyena.json b/_maps/configs/syndicate_gorlex_hyena.json index 2c0d12a29a45..4e9086139275 100644 --- a/_maps/configs/syndicate_gorlex_hyena.json +++ b/_maps/configs/syndicate_gorlex_hyena.json @@ -15,28 +15,28 @@ "Combat" ], "map_short_name": "Hyena-class", - "map_path": "_maps/shuttles/shiptest/syndicate_gorlex_hyena.dmm", + "map_path": "_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm", "job_slots": { "Captain": { - "outfit": "/datum/outfit/job/captain/syndicate/gorlex", + "outfit": "/datum/outfit/job/syndicate/captain/gorlex", "officer": true, "slots": 1 }, "Foreman": { - "outfit": "/datum/outfit/job/ce/syndicate/gorlex", + "outfit": "/datum/outfit/job/syndicate/ce/gorlex", "officer": true, "slots": 1 }, "Mechanic": { - "outfit": "/datum/outfit/job/engineer/syndicate/gorlex", + "outfit": "/datum/outfit/job/syndicate/engineer/gorlex", "slots": 1 }, "Wrecker": { - "outfit": "/datum/outfit/job/miner/syndicate/gorlex", + "outfit": "/datum/outfit/job/syndicate/miner/gorlex", "slots": 2 }, "Junior Agent": { - "outfit": "/datum/outfit/job/assistant/syndicate/gorlex", + "outfit": "/datum/outfit/job/syndicate/assistant/gorlex", "slots": 2 } }, diff --git a/_maps/configs/syndicate_gorlex_komodo.json b/_maps/configs/syndicate_gorlex_komodo.json index f65d05a44e60..5692eaf44a14 100644 --- a/_maps/configs/syndicate_gorlex_komodo.json +++ b/_maps/configs/syndicate_gorlex_komodo.json @@ -14,38 +14,38 @@ "Combat", "Engineering" ], - "map_path": "_maps/shuttles/shiptest/syndicate_gorlex_komodo.dmm", + "map_path": "_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm", "map_id": "syndicate_gorlex_komodo", "limit": 1, "job_slots": { "Captain": { - "outfit": "/datum/outfit/job/captain/syndicate/gorlex", + "outfit": "/datum/outfit/job/syndicate/captain/gorlex", "officer": true, "slots": 1 }, "Sergeant": { - "outfit": "/datum/outfit/job/hos/syndicate", + "outfit": "/datum/outfit/job/syndicate/hos/gorlex", "officer": true, "slots": 1 }, "Medic": { - "outfit": "/datum/outfit/job/doctor/syndicate_komodo", + "outfit": "/datum/outfit/job/syndicate/doctor/gorlex", "slots": 1 }, "Mechanic": { - "outfit": "/datum/outfit/job/engineer/syndicate/gorlex", + "outfit": "/datum/outfit/job/syndicate/miner/gorlex", "slots": 1 }, "Trooper": { - "outfit": "/datum/outfit/job/security/syndicate/gorlex", + "outfit": "/datum/outfit/job/syndicate/security/gorlex", "slots": 3 }, "Deck assistant": { - "outfit": "/datum/outfit/job/assistant/syndicate/gorlex", + "outfit": "/datum/outfit/job/syndicate/assistant/gorlex", "slots": 2 }, "Bridge officer": { - "outfit": "/datum/outfit/job/head_of_personnel/syndicate", + "outfit": "/datum/outfit/job/syndicate/head_of_personnel", "slots": 1 } }, diff --git a/_maps/configs/syndicate_lugol.json b/_maps/configs/syndicate_lugol.json index e8436c7d128d..26599d93a8ee 100644 --- a/_maps/configs/syndicate_lugol.json +++ b/_maps/configs/syndicate_lugol.json @@ -12,33 +12,33 @@ "GEC", "SPACE" ], - "map_path": "_maps/shuttles/shiptest/syndicate_gec_lugol.dmm", + "map_path": "_maps/shuttles/syndicate/syndicate_gec_lugol.dmm", "map_id": "gec_lugol", "limit": 2, "job_slots": { "Project Overseer": { - "outfit": "/datum/outfit/job/ce/gec", + "outfit": "/datum/outfit/job/syndicate/ce/gec", "slots": 1, "officer": true }, - "GEC Engineer": { - "outfit": "/datum/outfit/job/engineer/gec", + "GEC Engineering": { + "outfit": "/datum/outfit/job/syndicate/engineer/gec", "slots": 3 }, - "Atmospheric Technician": { - "outfit": "/datum/outfit/job/atmos/gec", + "GEC Atmospherics": { + "outfit": "/datum/outfit/job/syndicate/atmos/gec", "slots": 3 }, "Beverage Specialist": { - "outfit": "/datum/outfit/job/bartender/syndicate", + "outfit": "/datum/outfit/job/syndicate/bartender", "slots": 1 }, - "Shaft Miner": { - "outfit": "/datum/outfit/job/miner/syndicate/gec", + "GEC Miner": { + "outfit": "/datum/outfit/job/syndicate/miner/gec", "slots": 1 }, "GEC Apprentice": { - "outfit": "/datum/outfit/job/assistant/syndicate/gec", + "outfit": "/datum/outfit/job/syndicate/assistant/gec", "slots": 2 } }, diff --git a/_maps/configs/syndicate_luxembourg.json b/_maps/configs/syndicate_luxembourg.json index 40fe900ae3d6..1433f2da547a 100644 --- a/_maps/configs/syndicate_luxembourg.json +++ b/_maps/configs/syndicate_luxembourg.json @@ -13,24 +13,24 @@ "Cargo" ], "map_short_name": "Luxembourg-class", - "map_path": "_maps/shuttles/shiptest/syndicate_luxembourg.dmm", + "map_path": "_maps/shuttles/syndicate/syndicate_luxembourg.dmm", "limit": 1, "starting_funds": 6000, "job_slots": { "Manager": { - "outfit": "/datum/outfit/job/quartermaster/donk", + "outfit": "/datum/outfit/job/syndicate/quartermaster/donk", "slots": 1 }, "Customer Service Representative": { - "outfit": "/datum/outfit/job/cargo_tech/donk", + "outfit": "/datum/outfit/job/syndicate/cargo_tech/donk", "slots": 5 }, "Food and Beverage Specialist": { - "outfit": "/datum/outfit/job/bartender/syndicate", + "outfit": "/datum/outfit/job/syndicate/bartender", "slots": 1 }, "GEC Contracted Engineer": { - "outfit": "/datum/outfit/job/engineer/gec", + "outfit": "/datum/outfit/job/syndicate/engineer/gec", "slots": 1 } }, diff --git a/_maps/configs/syndicate_twinkleshine.json b/_maps/configs/syndicate_twinkleshine.json index 24b55c7bd35c..e5765b1691dd 100644 --- a/_maps/configs/syndicate_twinkleshine.json +++ b/_maps/configs/syndicate_twinkleshine.json @@ -15,40 +15,40 @@ "Medical" ], "map_short_name": "Twinkleshine-class", - "map_path": "_maps/shuttles/shiptest/syndicate_twinkleshine.dmm", + "map_path": "_maps/shuttles/syndicate/syndicate_twinkleshine.dmm", "job_slots": { "Captain": { - "outfit": "/datum/outfit/job/captain/syndicate/sbc", + "outfit": "/datum/outfit/job/syndicate/captain/twink", "officer": true, "slots": 1 }, "Lieutenant": { - "outfit": "/datum/outfit/job/warden/syndicate/sbc", + "outfit": "/datum/outfit/job/syndicate/hos/twink", "officer": true, "slots": 1 }, "Medic": { - "outfit": "/datum/outfit/job/brig_phys/syndicate/sbc", + "outfit": "/datum/outfit/job/syndicate/paramedic/twink", "slots": 2 }, "Engineer": { - "outfit": "/datum/outfit/job/engineer/syndicate/sbc", + "outfit": "/datum/outfit/job/syndicate/engineer/twink", "slots": 2 }, "Operative": { - "outfit": "/datum/outfit/job/security/syndicate/sbc", + "outfit": "/datum/outfit/job/syndicate/security/twink", "slots": 5 }, "Bartender": { - "outfit": "/datum/outfit/job/bartender/syndicate/sbc", + "outfit": "/datum/outfit/job/syndicate/bartender/twink", "slots": 1 }, "Miner": { - "outfit": "/datum/outfit/job/miner/syndicate/sbc", + "outfit": "/datum/outfit/job/syndicate/miner/twink", "slots": 1 }, "Deck Assistant": { - "outfit": "/datum/outfit/job/assistant/syndicate/sbc", + "outfit": "/datum/outfit/job/syndicate/assistant/twink", "slots": 2 } }, diff --git a/_maps/deprecated/Ruins/TheDerelict.dmm b/_maps/deprecated/Ruins/TheDerelict.dmm index 0a6b86996b66..56b16089bb69 100644 --- a/_maps/deprecated/Ruins/TheDerelict.dmm +++ b/_maps/deprecated/Ruins/TheDerelict.dmm @@ -1148,9 +1148,6 @@ "fw" = ( /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/bridge/access) -"fx" = ( -/turf/open/floor/plasteel/airless, -/area/ruin/space/derelict/bridge/access) "fy" = ( /obj/structure/table, /obj/item/assembly/flash/handheld, @@ -1837,9 +1834,6 @@ /obj/item/storage/box/lights/mixed, /turf/open/floor/plating/airless, /area/ruin/space/derelict/singularity_engine) -"in" = ( -/turf/open/floor/plating/airless, -/area/ruin/space/derelict/singularity_engine) "io" = ( /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating/airless, @@ -8596,7 +8590,7 @@ dO dP dX dW -in +dW dr iP ay @@ -10391,7 +10385,7 @@ aa cs fv fF -fx +fw cs ga yb @@ -10503,8 +10497,8 @@ aa dk cs fw -fx -fx +fw +fw fR eR gm @@ -10615,9 +10609,9 @@ aa aa aa cs -fx -fx -fx +fw +fw +fw cs eR gn @@ -10729,8 +10723,8 @@ aa aa cs fy -fx -fx +fw +fw fS MI go @@ -10842,8 +10836,8 @@ aa ZB cs fz -fx -fx +fw +fw fS MI go @@ -10955,8 +10949,8 @@ ZB ZB cs fA -fx -fx +fw +fw fS MI go @@ -11068,8 +11062,8 @@ ZB ZB cs fB -fx -fx +fw +fw fS MI gp @@ -11296,10 +11290,10 @@ cs cs cs cs -fx +fw py gq -fx +fw fZ gO fZ @@ -11409,10 +11403,10 @@ cx cx cx cs -fx +fw py -fx -fx +fw +fw fZ gL aa @@ -11635,10 +11629,10 @@ cs cs cs cs -fx -fx -fx -fx +fw +fw +fw +fw cs cs ZB @@ -11748,10 +11742,10 @@ cs fC fC cs -fx +fw gg -fx -fx +fw +fw cs aa ay diff --git a/_maps/deprecated/Ships/nanotrasen_pubby.dmm b/_maps/deprecated/Ships/nanotrasen_pubby.dmm index 179c7e811e65..c9d42c6a8c28 100644 --- a/_maps/deprecated/Ships/nanotrasen_pubby.dmm +++ b/_maps/deprecated/Ships/nanotrasen_pubby.dmm @@ -446,10 +446,6 @@ pixel_x = 5; pixel_y = 4 }, -/obj/item/storage/fancy/cigarettes/cigpack_shadyjims{ - pixel_x = -7; - pixel_y = 6 - }, /obj/item/lighter{ pixel_x = -5; pixel_y = 4 diff --git a/_maps/map_catalogue.txt b/_maps/map_catalogue.txt index e4f2881948b3..006f7f6328fd 100644 --- a/_maps/map_catalogue.txt +++ b/_maps/map_catalogue.txt @@ -69,10 +69,6 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 15)(y = 15)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Liveable" - File Name = "_maps\RandomRuins\JungleRuins\jungle_spider.dmm" - Size = (x = 7)(y = 9)(z = 1) - Tags = "Medium Combat Challenge", "Major Loot", "Liveable" - File Name = "_maps\RandomRuins\JungleRuins\jungle_surface_coffinepirate.dmm" Size = (x = 14)(y = 15)(z = 1) Tags = "No Combat", "Minor Loot", "Liveable" @@ -246,10 +242,6 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 15)(y = 23)(z = 1) Tags = "No Combat", "Medium Loot", "Shelter" - File Name = "_maps\RandomRuins\RockRuins\rockplanet_clock.dmm" - Size = (x = 15)(y = 15)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Necropolis Loot", "Shelter" - File Name = "_maps\RandomRuins\RockRuins\rockplanet_crash_cult.dmm" Size = (x = 26)(y = 18)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Inhospitable" @@ -290,6 +282,10 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 9)(y = 9)(z = 1) Tags = "Boss Combat Challenge", "Major Loot", "Hazardous", "Inhospitable" + File Name = "_maps\RandomRuins\RockRuins\rockplanet_nomadcrash.dmm" + Size = (x = 58)(y = 48)(z = 1) + Tags = "Medium Combat Challenge", "Medium Loot", "Hazardous", "Hospitable" + SandRuins: File Name = "_maps\RandomRuins\Ruins\whitesands_surface_assaultpodcrash.dmm" @@ -316,10 +312,6 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 13)(y = 13)(z = 1) Tags = "No Combat", "Minor Loot", "Shelter" - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_golem_hijack.dmm" - Size = (x = 18)(y = 23)(z = 1) - Tags = "No Combat", "Medium Loot", "Inhospitable" - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_medipen_plant.dmm" Size = (x = 23)(y = 29)(z = 1) Tags = "No Combat", "Major Loot", "Shelter" @@ -394,10 +386,6 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 50)(y = 50)(z = 1) Tags = "No Combat", "Minor Loot", "Inhospitable" - File Name = "_maps\RandomRuins\SpaceRuins\gondolaasteroid.dmm" - Size = (x = 35)(y = 35)(z = 1) - Tags = "No Combat", "Minor Loot", "Shelter" - File Name = "_maps\RandomRuins\SpaceRuins\hellfactory.dmm" Size = (x = 25)(y = 25)(z = 1) Tags = "No Combat", "Medium Loot", "Shelter" @@ -406,18 +394,10 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 73)(y = 36)(z = 1) Tags = "Medium Combat Challenge", "Major Loot", "Ghost Role", "Shelter", "Antag Gear" - File Name = "_maps\RandomRuins\SpaceRuins\mechtransport.dmm" - Size = (x = 9)(y = 15)(z = 1) - Tags = "No Combat", "Medium Loot", "Inhospitable" - File Name = "_maps\RandomRuins\SpaceRuins\ntfacility.dmm" Size = (x = 39)(y = 39)(z = 1) Tags = "Medium Combat Challenge", "Major Loot", "Shelter" - File Name = "_maps\RandomRuins\SpaceRuins\nuclear_dump.dmm" - Size = (x = 32)(y = 32)(z = 1) - Tags = "Minor Combat Challenge", "Medium Loot", "Shelter", "Hazardous" - File Name = "_maps\RandomRuins\SpaceRuins\oldcodeops.dmm" Size = (x = 17)(y = 22)(z = 1) Tags = "Boss Combat Challenge", "Major Loot", "Shelter", "Antag Gear" @@ -507,6 +487,10 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 37)(y = 43)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Liveable" + File Name = "_maps\RandomRuins\BeachRuins\beach_float_resort.dmm" + Size = (x = 38)(y = 52)(z = 1) + Tags = "No Combat", "Minor Loot", "Liveable" + Deprecated: File Name = "_maps\RandomRuins\deprecated\jungle_surface_tumblr_sexyman.dmm" Size = (x = 30)(y = 20)(z = 1) @@ -565,7 +549,7 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Tags = "No Combat", "Medium Loot", "Shelter" - Waste Ruins: + Waste Ruins: File name ="_maps\RandomRuins\wasteruins\wasteplanet_clowncrash.dmm" Size = (x = 11)(y = 12)(z = 1) Tags = "No Combat", "Minor Loot", "Shelter" "hospitable" diff --git a/_maps/outpost/elevator_indie.dmm b/_maps/outpost/elevator_indie.dmm new file mode 100644 index 000000000000..f692a2918a5b --- /dev/null +++ b/_maps/outpost/elevator_indie.dmm @@ -0,0 +1,47 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/structure/elevator_platform, +/obj/machinery/status_display/elevator{ + pixel_x = -32 + }, +/turf/template_noop, +/area/template_noop) +"e" = ( +/obj/structure/elevator_platform, +/obj/machinery/light/small/directional/east, +/turf/template_noop, +/area/template_noop) +"k" = ( +/obj/structure/elevator_platform, +/obj/machinery/light/small/directional/west, +/turf/template_noop, +/area/template_noop) +"A" = ( +/obj/structure/elevator_platform, +/turf/template_noop, +/area/template_noop) +"S" = ( +/obj/structure/elevator_platform, +/obj/machinery/elevator_floor_button{ + pixel_y = 0; + dir = 8; + pixel_x = 24 + }, +/turf/template_noop, +/area/template_noop) + +(1,1,1) = {" +k +a +k +"} +(2,1,1) = {" +A +A +A +"} +(3,1,1) = {" +e +S +e +"} diff --git a/_maps/outpost/indie_space.dmm b/_maps/outpost/indie_space.dmm index 5836ab2afcfd..a3949804177c 100644 --- a/_maps/outpost/indie_space.dmm +++ b/_maps/outpost/indie_space.dmm @@ -1,7153 +1,8122 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ac" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 +"ag" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"af" = ( -/obj/structure/curtain/cloth/fancy, -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/door/airlock/public{ dir = 4 }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel/mono, -/area/outpost/crew) -"ag" = ( -/obj/machinery/door/airlock{ - id_tag = "ob2"; - name = "Stall 2"; +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/crew/dorm) +/turf/open/floor/plasteel/tech, +/area/outpost/cargo/office) "ai" = ( -/obj/structure/chair/office{ +/obj/structure/flora/grass/jungle, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/central) +"aq" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"ar" = ( +/obj/machinery/camera/autoname{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"at" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"au" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/modglass{ + pixel_y = 1; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/modglass{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"aw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 8 }, -/obj/machinery/light/small/directional/east, /turf/open/floor/plasteel, +/area/outpost/storage) +"aB" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"aE" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/structure/spider/stickyweb, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"aI" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/crew/library) +"aM" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/prison_contraband, +/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) -"an" = ( +"aP" = ( /obj/structure/railing{ - dir = 1 + dir = 8 }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 6 }, -/turf/open/floor/plasteel/patterned/grid, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"ar" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/line, -/obj/effect/turf_decal/trimline/opaque/green/line{ - dir = 1 +"aS" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/structure/sign/poster/official/random{ - pixel_y = -32 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 }, +/obj/item/radio/intercom/directional/east, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"aC" = ( -/obj/structure/cable{ +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"aU" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/corner/opaque/black, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"aH" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 - }, -/obj/structure/closet/firecloset/wall{ - dir = 8; - pixel_x = 28 +"aX" = ( +/obj/structure/railing/corner{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"bg" = ( -/obj/structure/rack, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 6 }, -/obj/machinery/light/small/broken/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"bk" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 }, -/obj/item/clipboard, -/obj/item/hand_labeler, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"bo" = ( -/obj/structure/window/reinforced/tinted{ +"aZ" = ( +/obj/structure/chair{ dir = 8 }, -/obj/structure/window/reinforced/tinted{ +/obj/item/toy/figure/bartender{ + pixel_x = -4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"bc" = ( +/obj/structure/rack, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/glass/rag, +/obj/item/razor, +/obj/item/plunger, +/turf/open/floor/plasteel, +/area/outpost/maintenance/fore) +"bi" = ( +/obj/machinery/mineral/processing_unit_console{ + pixel_y = -31; + machinedir = 1; + output_dir = 1 + }, +/obj/structure/railing{ dir = 1 }, -/turf/open/floor/grass, -/area/outpost/crew) -"bs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"bn" = ( +/obj/structure/closet/crate/trashcart, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"bq" = ( +/obj/structure/chair/pew/left{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/corner/opaque/green{ - dir = 1 + dir = 9 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"bt" = ( -/obj/structure/railing/corner{ +"bs" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"bv" = ( -/obj/structure/railing{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"bE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"bz" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"bI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 +/obj/structure/sign/poster/random{ + pixel_y = -30 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4; - pixel_y = 1 +/turf/open/floor/wood, +/area/outpost/crew/bar) +"bA" = ( +/obj/structure/table, +/obj/machinery/paystand{ + pixel_y = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) +"bC" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/central) "bJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/spawner/lootdrop/salvage/metal, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/central) +"bL" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/sign/poster/random{ + pixel_x = -28 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"bL" = ( -/obj/structure/rack, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"bS" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"bV" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/structure/foamedmetal, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"bY" = ( +/obj/item/kirbyplants{ + icon_state = "plant-19" + }, +/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) -"bT" = ( -/obj/structure/chair/wood/wings{ - dir = 1 +"ca" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "outpost1" }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet, -/area/outpost/crew) +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/cargo) "cc" = ( -/obj/structure/chair/office{ +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/junction/yjunction{ dir = 4 }, -/obj/item/radio/intercom/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 + }, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/area/outpost/hallway/central) "cg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 10 +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/outpost/hallway/central) +"ci" = ( +/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) "cl" = ( -/obj/structure/table, -/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/machinery/newscaster/directional/west, -/obj/item/radio/intercom/directional/north{ - pixel_y = 32 +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, /turf/open/floor/plasteel, -/area/outpost/crew/dorm) +/area/outpost/hallway/central) +"cm" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/storage) +"cq" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/maintenance/central) +"cr" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/loading, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "cs" = ( -/obj/structure/table, -/obj/item/circuitboard/machine/paystand, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"cx" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/plasteel, -/area/outpost/crew) -"cy" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4; - pixel_y = 1 +/obj/structure/flora/junglebush, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/central) +"cG" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"cz" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/cargo) -"cC" = ( -/turf/open/floor/plasteel/tech/techmaint, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"cO" = ( -/obj/item/radio/intercom/directional/east, -/turf/open/floor/wood, -/area/outpost/crew) -"cU" = ( +"cI" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"cK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ +/turf/closed/indestructible/reinforced, +/area/outpost/maintenance/central) +"cO" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = 2; + pixel_x = 4 + }, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"cR" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"cS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/decal/cleanable/oil, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 9 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) "cV" = ( -/obj/machinery/door/airlock{ - id_tag = "ob1"; - name = "Stall 1"; +/obj/effect/spawner/structure/window/reinforced/indestructable, +/turf/open/floor/plating, +/area/outpost/cargo/office) +"dg" = ( +/obj/structure/railing{ dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"cW" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 9 }, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/patterned/grid, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"cZ" = ( -/obj/machinery/telecomms/allinone/indestructable{ - id = "Outpost" +"di" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/machinery/firealarm/directional/south, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"da" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 +/area/outpost/vacant_rooms) +"dl" = ( +/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/turf_decal/steeldecal/steel_decals7{ + dir = 9 }, -/obj/structure/railing/corner{ - dir = 4 +/obj/effect/turf_decal/steeldecal/steel_decals7{ + dir = 6 }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 4 +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"dn" = ( +/obj/structure/chair/stool/bar{ + dir = 1; + pixel_y = 13 }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"dh" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/box, -/obj/structure/disposalpipe/trunk{ +/obj/machinery/newscaster/directional/east, +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/machinery/firealarm/directional/south, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"dr" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"ds" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/rack, +/obj/item/storage/bag/trash, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"dw" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"dD" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small/directional/east, /turf/open/floor/plasteel, -/area/outpost/crew) -"dq" = ( -/obj/machinery/door/window/brigdoor/westleft, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/area/outpost/crew/janitor) +"dK" = ( +/obj/item/trash/can/food/beans{ + pixel_x = -16; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/can/food/beans{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/trash/can/food/beans{ + pixel_y = -2; + pixel_x = 2 + }, +/obj/item/reagent_containers/food/snacks/canned/beans{ + pixel_x = -9; + pixel_y = 18 + }, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/central) +"dL" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - pixel_x = -1 +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/maintenance{ + dir = 4; + req_access = list("101") }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech, /area/outpost/vacant_rooms) -"dt" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/closet/crate/science, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"du" = ( +"dN" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew) -"dC" = ( -/obj/machinery/cryopod{ - dir = 4 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"dO" = ( +/obj/item/kirbyplants{ + icon_state = "plant-22" }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/crew/dorm) -"dD" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 +/obj/machinery/light/dim/directional/west, +/obj/machinery/camera/autoname{ + dir = 6 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"dH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 6 }, -/turf/open/floor/wood, -/area/outpost/crew) -"dK" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech/techmaint, /area/outpost/hallway/central) -"dS" = ( -/obj/effect/turf_decal/corner/opaque/red{ - dir = 9 +"dP" = ( +/obj/structure/chair, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/vacant_rooms) +"dQ" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/trash/syndi_cakes{ + pixel_y = 6; + pixel_x = -3 }, -/turf/open/floor/plasteel, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"dR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"dT" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/closed/indestructible/reinforced, +/area/outpost/maintenance/fore) +"dU" = ( +/obj/item/kirbyplants{ + icon_state = "plant-22" + }, +/obj/machinery/newscaster/directional/north, +/obj/machinery/light/dim/directional/east, +/obj/machinery/camera/autoname, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 10 + }, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/turf/open/floor/plasteel/tech/techmaint, /area/outpost/hallway/central) "dW" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 6 +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/steeldecal/steel_decals9, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 8 }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"dY" = ( -/obj/structure/window/reinforced{ - dir = 4 +/area/outpost/hallway/port) +"dZ" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 32 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/structure/filingcabinet/double, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"ec" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 +"ee" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/turf/open/floor/wood, -/area/outpost/crew) -"eg" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 9 +/turf/open/floor/wood{ + icon_state = "wood-broken4" }, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/area/outpost/crew/bar) +"ei" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/kirbyplants/random, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"em" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/effect/turf_decal/corner/opaque/black{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/stand_clear{ dir = 8 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) +"em" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/external) "eq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"et" = ( +/obj/machinery/photocopier{ + pixel_x = 3; + pixel_y = 4 }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, +/area/outpost/crew/library) +"ev" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/turf/open/floor/plasteel, /area/outpost/vacant_rooms) -"es" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +"ey" = ( +/obj/machinery/door/firedoor/closed, +/obj/structure/barricade/wooden/crude, +/obj/machinery/door/airlock/mining{ + req_access = list("106") }, -/turf/open/floor/wood, -/area/outpost/crew) -"et" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"ex" = ( -/obj/machinery/vending/snack/random, -/obj/effect/turf_decal/corner/opaque/green/three_quarters{ +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"ey" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, /turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"ez" = ( -/obj/machinery/door/airlock{ - id_tag = "ob3"; - name = "Bathroom" +/area/outpost/hallway/port) +"eD" = ( +/obj/structure/cable/yellow{ + icon_state = "6-8" }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew) -"eL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/item/kirbyplants{ - icon_state = "plant-03"; - name = "Dave" +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"eE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/obj/structure/sign/poster/contraband/inteq_nt{ - pixel_y = 32 +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 4 }, -/obj/effect/decal/cleanable/confetti, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) -"fc" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 +"eG" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/structure/disposalpipe/junction/flip{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/structure/cable{ +/obj/effect/turf_decal/corner/opaque/brown/full, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"eQ" = ( +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/landmark/observer_start, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"fh" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/corner/opaque/brown/full, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"fj" = ( -/obj/structure/railing/corner, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/disposalpipe/junction{ - dir = 1 +"eU" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/corner_techfloor_grid/diagonal, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"fd" = ( +/obj/machinery/mineral/processing_unit{ + input_dir = 8; + output_dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/cargo) +"fi" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/outpost/storage) "fk" = ( -/obj/machinery/camera/autoname{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/effect/turf_decal/corner/opaque/green{ +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/plaques/kiddie/library{ + pixel_y = 26 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"fq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/foamedmetal, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"fw" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ dir = 10 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"fv" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"fE" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/stand_clear{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/garbage, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"fC" = ( -/obj/machinery/button/door{ - pixel_y = 36; - pixel_x = -9; - id = "outsmall2"; - name = "window shutters" +/area/outpost/hallway/central) +"fG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/radio/intercom/directional/north{ - pixel_y = 32; - pixel_x = -5 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/wood, -/area/outpost/crew) -"fD" = ( -/obj/machinery/door/airlock/public/glass, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) "fI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 +/obj/effect/spawner/structure/window/reinforced/indestructable, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"fK" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood{ + icon_state = "wood-broken6" }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4; - pixel_y = 1 +/area/outpost/crew/bar) +"fN" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, -/obj/machinery/camera/autoname, /turf/open/floor/plasteel, +/area/outpost/hallway/port) +"fP" = ( +/obj/structure/sign/poster/random{ + pixel_x = 28 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/outpost/crew/bar) +"fR" = ( +/obj/structure/railing, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 5 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"fZ" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-10" + }, +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plating, /area/outpost/vacant_rooms) -"fM" = ( -/obj/structure/window/reinforced{ +"ga" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, -/obj/effect/turf_decal/siding/thinplating{ +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"gb" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush/large, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/port) +"gf" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/firealarm/directional/west, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4; - pixel_y = 1 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"go" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"fQ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/area/outpost/hallway/port) +"gq" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/crew/janitor) +"gr" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/industrial/stand_clear{ +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"fV" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/box/corners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"gt" = ( +/obj/structure/rack, +/obj/item/skub, +/turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) -"fZ" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 8 +"gz" = ( +/obj/machinery/vending/cola/random, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 }, -/obj/structure/window/reinforced, -/obj/item/clipboard{ - pixel_y = -3; - pixel_x = -3 +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/hallway/central) +"gA" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/item/pen{ - pixel_y = -4; - pixel_x = -4 +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"ga" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"gC" = ( +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"gE" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"gO" = ( +/obj/machinery/conveyor{ dir = 4; - pixel_y = 1 + id = "outpost1" }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"gb" = ( -/obj/effect/turf_decal/siding/thinplating{ +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/cargo) +"gP" = ( +/obj/structure/filingcabinet/double, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"gR" = ( +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"gS" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"gT" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"gW" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"gZ" = ( +/obj/effect/turf_decal/industrial/caution, +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 10 }, -/obj/structure/cable{ +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"hb" = ( +/obj/effect/turf_decal/industrial/caution, +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/airlock{ - name = "Cryogenics"; +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"hg" = ( +/obj/structure/disposalpipe/trunk{ dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/dorm) -"gf" = ( -/obj/effect/turf_decal/box, -/obj/structure/closet/crate/engineering, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"gm" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/structure/disposaloutlet{ dir = 1 }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"gr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"gs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/conveyor/auto{ + dir = 1; + id = "outpost3" }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"hj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"hk" = ( +/obj/structure/frame, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"hq" = ( +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"hs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"gy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"hz" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment{ +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"hA" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/camera/autoname{ dir = 10 }, -/turf/open/floor/wood, -/area/outpost/crew) -"gz" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/effect/turf_decal/corner/opaque/black{ dir = 5 }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 10 + }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"gF" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, +/area/outpost/hallway/port) +"hD" = ( +/obj/structure/disposalpipe/trunk/multiz{ + dir = 4 + }, /turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"gJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/area/outpost/maintenance/fore) +"hJ" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/newscaster/directional/east, +/obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"gK" = ( -/obj/item/kirbyplants/random, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = -32 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, -/area/outpost/crew) -"gN" = ( -/obj/machinery/airalarm/directional/east, -/turf/open/floor/wood, -/area/outpost/crew) -"gP" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -13 - }, -/obj/structure/mirror{ - pixel_x = -28 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"gU" = ( +/area/outpost/hallway/port) +"hK" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/salvage_laser, +/obj/effect/spawner/lootdrop/salvage_capacitor, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"hM" = ( /obj/structure/railing/corner{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 6 }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/camera/autoname{ dir = 9 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"gX" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"hd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"hO" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/central) +"hS" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table/wood, +/obj/item/toy/cards/deck/tarot{ + pixel_x = 5; + pixel_y = -2 }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"hv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/sign/poster/official/random{ - pixel_y = -32; - pixel_x = 32 +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_x = -7; + pixel_y = -2 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"hx" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/railing, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"hA" = ( -/obj/effect/turf_decal/spline/fancy/wood, /turf/open/floor/wood, -/area/outpost/vacant_rooms) -"hB" = ( -/obj/structure/rack, -/obj/machinery/light/small/broken/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"hG" = ( -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"hI" = ( -/obj/structure/railing{ - dir = 1 - }, +/area/outpost/crew/bar) +"hW" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/floordetail/tiled, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"hX" = ( +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"hU" = ( -/obj/machinery/airalarm/directional/west, +/obj/machinery/light/dim/directional/east, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) -"ia" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 +"hY" = ( +/obj/structure/closet/crate/trashcart, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"hZ" = ( +/obj/structure/table/wood, +/obj/effect/spawner/lootdrop/donut, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"ib" = ( +/obj/structure/reagent_dispensers/beerkeg, +/obj/effect/turf_decal/corner/transparent/brown/full, +/turf/open/floor/plasteel, +/area/outpost/crew/bar) +"ic" = ( +/obj/structure/flora/grass/jungle, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/machinery/door/firedoor/border_only{ +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/port) +"id" = ( +/obj/machinery/holopad/emergency/bar, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"ie" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"ii" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"ip" = ( +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"iq" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 }, -/obj/structure/cable{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"ir" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"it" = ( +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/door/airlock/public/glass{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/poddoor/preopen{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"im" = ( -/obj/effect/turf_decal/corner/opaque/green/three_quarters{ - dir = 8 - }, -/obj/item/kirbyplants/random, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) "iw" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 - }, /obj/structure/disposalpipe/segment, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"iB" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"iF" = ( -/obj/structure/railing, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"iD" = ( +/obj/effect/spawner/lootdrop/waste/trash, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) "iG" = ( -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/cargo) +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"iH" = ( +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/storage) "iI" = ( -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms) -"iL" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/structure/closet/crate, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"iQ" = ( -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"iV" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 5 - }, /turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"iY" = ( -/obj/structure/window/reinforced/tinted{ - dir = 1 +/area/outpost/hallway/port) +"iQ" = ( +/obj/item/trash/can/food/beans{ + pixel_x = 5; + pixel_y = 5 }, -/obj/structure/window/reinforced/tinted{ - dir = 4 +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/can/food/beans{ + pixel_x = 9; + pixel_y = 8 }, -/turf/open/floor/grass, -/area/outpost/crew) -"jd" = ( -/obj/effect/turf_decal/corner/opaque/green/three_quarters{ - dir = 8 +/obj/item/trash/can/food/beans{ + pixel_y = 1 }, -/obj/machinery/vending/sovietsoda, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"je" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/item/reagent_containers/food/snacks/canned/beans{ + pixel_x = 13; + pixel_y = -9 }, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/central) +"iV" = ( +/obj/effect/spawner/structure/window/reinforced/indestructable, +/turf/open/floor/plating, +/area/outpost/vacant_rooms/office) +"iY" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/outpost/crew) -"jk" = ( -/obj/effect/turf_decal/box, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"jl" = ( +/area/outpost/crew/bar) +"jd" = ( +/obj/effect/turf_decal/ihejirika_small/right, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"je" = ( +/obj/effect/spawner/structure/window/reinforced/indestructable, +/turf/open/floor/plating, +/area/outpost/crew/bar) +"jg" = ( +/obj/structure/rack, +/obj/machinery/light/dim/directional/west, +/obj/item/reagent_containers/food/drinks/waterbottle, +/turf/open/floor/plasteel/mono, +/area/outpost/storage) +"jj" = ( +/obj/machinery/light/dim/directional/east, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/hallway/central) +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) "jn" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"jo" = ( +/obj/structure/railing, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 5 }, -/obj/structure/closet/cardboard, -/turf/open/floor/plasteel/patterned/grid, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"jp" = ( -/obj/effect/landmark{ - name = "Primary Cargo Shaft" - }, -/turf/open/floor/plasteel/elevatorshaft, +"js" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/cargo) "jx" = ( -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/item/trash/can/food/beans{ + pixel_x = -5 + }, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/central) "jC" = ( -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"jD" = ( -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood, -/area/outpost/crew) -"jH" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"jI" = ( -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood, -/area/outpost/crew) -"jM" = ( +/area/outpost/maintenance/central) +"jH" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/effect/turf_decal/corner/opaque/black{ dir = 6 }, -/obj/machinery/light/directional/east, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"jN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"jI" = ( +/obj/machinery/door/airlock{ + dir = 1; + name = "Lounge" }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/outpost/crew/bar) +"jK" = ( +/obj/structure/railing{ dir = 8 }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"jL" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) +"jM" = ( +/obj/effect/spawner/lootdrop/chicken, +/turf/open/floor/ship/dirt, +/area/outpost/hallway/port) +"jO" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/public/glass{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"jS" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - pixel_x = -1 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"jR" = ( +/obj/structure/chair/stool/bar{ + dir = 1; + pixel_y = 13 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/turf/open/floor/wood, +/area/outpost/crew/bar) "jU" = ( -/obj/structure/table, -/obj/machinery/door/window{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/vacant_rooms) -"jW" = ( -/obj/machinery/airalarm/directional/east, -/obj/item/radio/intercom/directional/north{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/obj/structure/table/wood, +/obj/machinery/computer/bookmanagement, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) "kb" = ( -/obj/structure/closet/crate, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"kg" = ( -/obj/machinery/computer/cryopod/directional/west, -/obj/structure/table, -/obj/effect/turf_decal/corner/opaque/bottlegreen/border{ - dir = 9 +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/camera/autoname{ + dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 4 }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 32 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"kd" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"kh" = ( +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, /turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"ki" = ( -/obj/structure/chair/office, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/dorm) +/area/outpost/vacant_rooms) +"km" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/wood, +/area/outpost/crew/library) "ks" = ( /turf/open/floor/plasteel/elevatorshaft, /area/outpost/hallway/central) -"kA" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/green/three_quarters{ +"kx" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"kF" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"ky" = ( +/obj/structure/sign/painting/library{ + pixel_y = -26 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/disposalpipe/junction/flip{ - dir = 1 +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"kA" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/structure/cable{ - icon_state = "2-4" +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"kH" = ( -/obj/effect/turf_decal/siding/thinplating, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"kI" = ( -/obj/structure/curtain/cloth/fancy, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/turf/open/floor/plasteel/mono, -/area/outpost/crew) -"kJ" = ( -/obj/structure/table/wood, -/obj/machinery/light/floor{ - bulb_colour = "#FFDDBB"; - bulb_power = 0.3 - }, -/turf/open/floor/carpet, -/area/outpost/crew) -"kP" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1; - pixel_x = -1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"kQ" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) -"kR" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"kE" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"kW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 +/obj/structure/barricade/wooden, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"kH" = ( +/obj/item/shovel/spoon, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"kM" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"kY" = ( -/obj/effect/turf_decal/siding/wood/corner{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"kQ" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/small/directional/south, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"lb" = ( -/obj/machinery/door/poddoor/ert, -/obj/machinery/door/airlock/grunge, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/operations) -"lj" = ( -/obj/structure/table/wood, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"lk" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 10 +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"lp" = ( -/obj/effect/turf_decal/siding/wood/corner{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/outpost/crew) -"ls" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 6 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"lx" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 +"kR" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 }, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/corner/opaque/green/three_quarters, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"lz" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/railing{ - dir = 1 +"kT" = ( +/obj/machinery/mineral/processing_unit_console{ + pixel_y = 20; + machinedir = 2; + output_dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 +/obj/structure/railing, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 5 }, -/turf/open/floor/plasteel/patterned/grid, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"lC" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 8 +"kU" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"lH" = ( -/obj/machinery/door/window/brigdoor/southleft, -/obj/effect/turf_decal/siding/thinplating, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/vacant_rooms) -"lK" = ( -/obj/structure/railing{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"la" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/holopad/emergency/janitor, +/obj/effect/turf_decal/trimline/opaque/purple/filled, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) +"lb" = ( +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) +"lh" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"lP" = ( -/obj/structure/railing/corner{ +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 1 +/obj/effect/turf_decal/floordetail/tiled, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"lk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 8 +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 8 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"lo" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"lS" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 10 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"lq" = ( +/obj/machinery/door/airlock/maintenance{ + req_access = list("101") }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"lW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4; - pixel_y = 1 +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/oil/slippery, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/outpost/maintenance/fore) +"ls" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"lX" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"lZ" = ( -/obj/effect/turf_decal/siding/wood{ +"lw" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"lx" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"lA" = ( +/obj/structure/flora/grass/jungle, +/obj/effect/spawner/lootdrop/chicken, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/central) +"lB" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"lE" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"lG" = ( +/obj/machinery/door/airlock/public, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/structure/cable{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/outpost/vacant_rooms) +"lH" = ( +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"mg" = ( -/obj/effect/turf_decal/box, -/obj/structure/closet/crate, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"ml" = ( -/obj/structure/table/wood, -/turf/open/floor/carpet, -/area/outpost/crew) -"mn" = ( -/obj/structure/window/reinforced{ +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/decal/cleanable/wrapping{ + pixel_y = 11; + pixel_x = 3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"lM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/steeldecal/steel_decals9, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"lX" = ( +/obj/structure/rack, +/obj/effect/turf_decal/steeldecal/steel_decals_central2{ dir = 4 }, -/obj/structure/window/reinforced, -/obj/structure/table/wood, -/obj/machinery/vending/boozeomat, -/turf/open/floor/carpet, -/area/outpost/crew) -"mp" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plasteel, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"lY" = ( +/obj/effect/decal/cleanable/oil/streak, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, /area/outpost/vacant_rooms) -"ms" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 9 +"mb" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"mt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"md" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 9 + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"mf" = ( +/obj/structure/disposalpipe/segment{ dir = 5 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"mz" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"mk" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"mA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/black{ +/obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"mm" = ( +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/storage) +"mp" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"mB" = ( -/obj/structure/railing{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"mC" = ( -/turf/open/space/basic, -/area/space) -"mF" = ( -/obj/structure/window/reinforced{ - dir = 8 +/obj/structure/disposalpipe/junction{ + dir = 1 }, -/obj/effect/turf_decal/siding/thinplating{ +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4; - pixel_y = 1 - }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 32 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"mG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 +/area/outpost/hallway/central) +"mr" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "2-8" +/turf/open/floor/plasteel/tech, +/area/outpost/maintenance/fore) +"ms" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/sign/directions/supply{ + pixel_y = 21; + dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 9 +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"mL" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 9 +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"mv" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/plasteel/mono, +/area/outpost/vacant_rooms) +"mA" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/structure/closet/emcloset/wall{ - dir = 4; - pixel_x = -28 +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/structure/sign/number/random, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"mO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +"mB" = ( +/obj/machinery/door/firedoor/closed, +/obj/structure/barricade/wooden/crude, +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"mQ" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/machinery/door/poddoor/ert, -/turf/closed/indestructible/reinforced, -/area/outpost/operations) -"mT" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"nc" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/mining{ + req_access = list("106") }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/port) +"mC" = ( +/turf/open/space/basic, +/area/space) +"mJ" = ( +/obj/structure/chair/wood, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"nd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"nf" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/turf/open/floor/wood, +/area/outpost/crew/bar) +"mM" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew) -"ng" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/outpost/crew) -"np" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 +/area/outpost/crew/bar) +"mN" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/obj/structure/chair{ - dir = 1 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/corner/opaque/brown/full, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"mP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/steeldecal/steel_decals3, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"mT" = ( +/obj/structure/table, +/obj/item/trash/can/food/beans{ + pixel_x = -4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"ns" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"mU" = ( +/obj/structure/closet/crate/trashcart, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"mV" = ( +/obj/machinery/conveyor/auto{ + dir = 5; + id = "outpost3" }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"mW" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/structure/cable{ +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/vacant_rooms) +"nb" = ( +/obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"nc" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/corner/opaque/neutral, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"nw" = ( -/obj/effect/turf_decal/siding/wood/corner{ +/area/outpost/hallway/port) +"nd" = ( +/obj/structure/chair/office{ dir = 1 }, -/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"nn" = ( +/obj/effect/decal/cleanable/food/tomato_smudge, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/mahogany, +/area/outpost/crew/bar) +"no" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, /turf/open/floor/wood, -/area/outpost/crew) -"nz" = ( -/turf/open/floor/plasteel, +/area/outpost/crew/bar) +"np" = ( +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"nq" = ( +/obj/effect/spawner/structure/window/reinforced/indestructable, +/turf/open/floor/plating, /area/outpost/vacant_rooms) -"nE" = ( -/obj/structure/chair/wood/wings{ - dir = 8 +"nt" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/carpet, -/area/outpost/crew) -"nI" = ( -/obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/turf_decal/corner/opaque/black{ dir = 5 }, +/obj/effect/turf_decal/corner/opaque/black, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"nK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/area/outpost/hallway/port) +"ny" = ( +/obj/structure/railing{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"nz" = ( +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/structure/chair{ dir = 1 }, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) -"nM" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 6 +"nK" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, /area/outpost/hallway/central) -"nO" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/end{ - dir = 1 +"nL" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"nT" = ( -/obj/machinery/door/window/brigdoor/westright, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"nU" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/dorm) -"nZ" = ( -/obj/structure/cable{ - icon_state = "2-8" +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/machinery/atmospherics/components/unary/tank/air{ - volume = 10000000; - piping_layer = 2 +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"ob" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew) -"oe" = ( -/obj/machinery/firealarm/directional/south, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"nM" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"oi" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/box, -/obj/structure/disposalpipe/trunk, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"oq" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"nR" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = 5 }, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"nT" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"or" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/libraryscanner, +/turf/open/floor/wood, +/area/outpost/crew/library) +"nU" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/port) +"nY" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"nZ" = ( +/obj/effect/decal/cleanable/food/egg_smudge, +/obj/effect/turf_decal/steeldecal/steel_decals10, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"oa" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/siding/wood/corner, +/obj/item/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 18; + pixel_x = -11 + }, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"od" = ( +/obj/machinery/shower{ + pixel_y = 17 }, +/obj/effect/decal/cleanable/food/pie_smudge, +/obj/effect/turf_decal/borderfloor/full, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/floordetail/pryhole, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"ov" = ( -/obj/structure/chair/wood/wings, -/turf/open/floor/carpet, -/area/outpost/crew) -"oz" = ( -/obj/structure/cable{ - icon_state = "1-2" +/area/outpost/maintenance/fore) +"og" = ( +/obj/machinery/atmospherics/pipe/simple/multiz{ + pixel_y = 1; + pixel_x = -9 }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"oC" = ( -/obj/item/kirbyplants/random, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 9 +/obj/machinery/power/deck_relay, +/obj/machinery/atmospherics/pipe/simple/multiz{ + pixel_y = 1; + pixel_x = 8 }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms) -"oF" = ( -/obj/structure/chair/office{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/item/radio/intercom/directional/west, -/obj/machinery/camera/autoname{ +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"om" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"oR" = ( -/obj/structure/toilet{ - pixel_y = 13 +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"on" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, -/obj/machinery/newscaster/directional/east, -/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/outpost/cargo) -"oV" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"pe" = ( -/obj/structure/railing{ - dir = 10 +/area/outpost/hallway/central) +"op" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plasteel/tech, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"pl" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 10 - }, -/obj/structure/table, +"or" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"pm" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 +"ow" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4; - pixel_y = 1 +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 }, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"oK" = ( +/obj/machinery/door/airlock/public{ + id_tag = "out1" }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"pt" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/siding/thinplating{ +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/machinery/door/airlock/public/glass, +/obj/machinery/door/firedoor/border_only, +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) -"pw" = ( -/obj/structure/table, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"py" = ( -/obj/structure/railing{ +/area/outpost/storage) +"oN" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"oS" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/cargo) +"oT" = ( +/obj/structure/chair/pew/right{ dir = 4 }, -/turf/open/floor/plasteel/stairs{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/green{ + dir = 9 }, -/area/outpost/cargo) -"pA" = ( -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"pD" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "outsmall2"; - dir = 4 +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"oU" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/structure/window/reinforced/fulltile/indestructable, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/mouse/brown, /turf/open/floor/plating, -/area/outpost/crew) -"pF" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 +/area/outpost/maintenance/fore) +"pb" = ( +/obj/structure/chair/stool/bar{ + dir = 1; + pixel_y = 13 }, -/obj/structure/closet/crate/engineering, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"pG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/plasteel, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"pg" = ( +/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) -"pO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"ph" = ( +/turf/open/floor/ship/dirt/dark, +/area/outpost/hallway/port) +"pj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/wood, -/area/outpost/crew) -"pP" = ( -/obj/machinery/vending/coffee, -/obj/machinery/light/directional/north, /turf/open/floor/plasteel, -/area/outpost/crew) -"pV" = ( -/obj/structure/chair/greyscale{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ - dir = 1 +/area/outpost/storage) +"pk" = ( +/obj/structure/grille, +/obj/structure/grille, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"pl" = ( +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 5 }, -/obj/machinery/light/small/directional/west, -/obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"pY" = ( -/obj/structure/railing/corner{ - dir = 1 +/area/outpost/storage) +"pm" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 1 +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"pn" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"qc" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"qi" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"qs" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/holosign/barrier/infinite{ + max_integrity = 500 }, -/obj/machinery/door/window, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/dorm) -"qt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"pp" = ( +/obj/item/reagent_containers/pill/floorpill, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"pr" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/newscaster/directional/east, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/hallway/central) -"qH" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -13 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"pt" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/paper_bin{ + pixel_x = 4; + pixel_y = -4 }, -/obj/structure/mirror{ - pixel_x = -28 +/obj/item/pen/fourcolor{ + pixel_x = 3; + pixel_y = -2 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"qP" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"qQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/turf/open/floor/wood, +/area/outpost/crew/library) +"pA" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/decal/cleanable/glass, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"pC" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 9 +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/maintenance{ + req_access = list("101") }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech, /area/outpost/hallway/central) -"qT" = ( -/obj/machinery/airalarm/directional/south, -/obj/effect/decal/cleanable/dirt, +"pF" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"qZ" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 +/area/outpost/vacant_rooms/office) +"pG" = ( +/obj/structure/easel, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/canvas/twentythreeXtwentythree, +/turf/open/floor/wood, +/area/outpost/crew/library) +"pQ" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"pS" = ( +/obj/item/kirbyplants{ + icon_state = "plant-22" + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 8 }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/hallway/port) +"qb" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/decal/cleanable/crayon{ + icon_state = "electricdanger"; + pixel_y = 26 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"qg" = ( +/obj/structure/chair/sofa/left{ dir = 4 }, -/obj/machinery/door/airlock/wood{ - dir = 8 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/royalblack, +/area/outpost/crew/bar) +"qp" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"qq" = ( +/obj/structure/railing/corner{ + dir = 1 }, -/turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) -"re" = ( -/obj/effect/turf_decal/box/corners{ +/obj/effect/turf_decal/industrial/loading{ dir = 8 }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned/grid, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"ri" = ( -/obj/structure/table, -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/dorm) -"rj" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"rn" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +"qv" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"qx" = ( +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"qA" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, +/obj/effect/turf_decal/corner/opaque/neutral, +/obj/effect/turf_decal/industrial/caution, /turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"rt" = ( -/obj/effect/turf_decal/siding/wood{ +/area/outpost/hallway/port) +"qD" = ( +/obj/structure/chair/pew{ dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew) -"ry" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 6 }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"qG" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) -"rB" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/grass, -/area/outpost/crew) -"rD" = ( -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"qH" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"qN" = ( +/obj/effect/turf_decal/box/corners{ dir = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/cargo) +"qR" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/siding/thinplating{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"qT" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/door/airlock/public/glass{ +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"rE" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"rF" = ( -/obj/structure/railing{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/railing{ +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/stairs, -/area/outpost/cargo) -"rG" = ( -/obj/structure/rack, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"rK" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"rM" = ( -/obj/structure/rack, +/area/outpost/hallway/central) +"qW" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plating, /area/outpost/vacant_rooms) -"rS" = ( +"qX" = ( +/obj/structure/grille/indestructable, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/cable/yellow, /obj/structure/disposalpipe/segment, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"rb" = ( +/obj/machinery/newscaster/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) -"rV" = ( -/obj/structure/table, -/obj/machinery/newscaster/directional/north{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"rZ" = ( -/obj/effect/turf_decal/corner/opaque/black, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +"rg" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"rj" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"rm" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/floordetail/tiled, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"ro" = ( +/obj/machinery/power/terminal{ dir = 4 }, -/obj/machinery/newscaster/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"rp" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/lootdrop/maintenance/seven, +/turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) -"sa" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"rr" = ( +/obj/structure/flora/grass/jungle, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"sd" = ( -/obj/structure/railing/corner{ - dir = 1 +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/central) +"rs" = ( +/obj/structure/table/wood, +/obj/item/radio/old, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/spacecash/bundle/c1{ + pixel_y = 9; + pixel_x = -6 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 +/turf/open/floor/carpet/royalblack, +/area/outpost/crew/bar) +"rt" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"rv" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"sk" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 4 }, -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/turf/open/floor/plasteel, /area/outpost/vacant_rooms) -"sm" = ( +"ry" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/cable{ - icon_state = "1-8" +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) +"rC" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"rD" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/effect/spawner/lootdrop/maintenance/two, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"rG" = ( +/obj/item/kirbyplants{ + icon_state = "plant-22" + }, +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 5 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/tech/techmaint, /area/outpost/hallway/central) -"sn" = ( -/obj/effect/turf_decal/corner/opaque/green/three_quarters, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 +"rK" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"sr" = ( -/obj/effect/landmark/outpost/elevator{ - shaft = "main" +"rM" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/neutral, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"rN" = ( +/obj/machinery/mineral/unloading_machine{ + input_dir = 2; + output_dir = 1 }, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/hallway/central) -"su" = ( -/obj/structure/railing, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/patterned/grid, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/cargo) -"sv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/outpost/crew) -"sB" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/siding/thinplating{ +"rP" = ( +/obj/structure/railing{ dir = 1 }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 10 }, -/obj/machinery/door/airlock/public/glass, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) -"sC" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"rQ" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 5 +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"sG" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/decal/cleanable/crayon{ + icon_state = "guy"; + pixel_y = 20 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 9 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/dorm) -"sH" = ( -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 8 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"rR" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/reagent_containers/food/drinks/mug{ + pixel_x = -12; + pixel_y = 9 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"rS" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/outpost/vacant_rooms) -"sI" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 +/area/outpost/crew/library) +"rT" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/steeldecal/steel_decals3{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"rU" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"sL" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 8 +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"rW" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 }, -/obj/effect/turf_decal/box/corners{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/structure/sign/poster/contraband/inteq_gec{ - pixel_x = -32 +/obj/effect/spawner/lootdrop/waste/trash, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"sO" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 10 +/area/outpost/maintenance/fore) +"rZ" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/firealarm/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"sX" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"te" = ( -/obj/machinery/door/poddoor/ert, -/turf/closed/indestructible/reinforced, -/area/outpost/operations) -"tg" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 +"sb" = ( +/obj/item/kirbyplants{ + icon_state = "plant-06"; + pixel_y = 17; + pixel_x = -9 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"ti" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced{ +/obj/item/kirbyplants{ + icon_state = "plant-12"; + pixel_y = 14; + pixel_x = 3 + }, +/obj/item/kirbyplants{ + icon_state = "plant-11"; + pixel_y = 4; + pixel_x = -6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/turf/open/floor/carpet, -/area/outpost/crew) -"tr" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet, -/area/outpost/crew) -"tv" = ( -/obj/structure/chair, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/structure/sign/poster/random{ + pixel_y = 0; + pixel_x = -28 + }, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"sf" = ( +/obj/structure/disposalpipe/segment{ dir = 5 }, -/obj/effect/decal/cleanable/dirt, +/obj/structure/foamedmetal, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"sj" = ( +/obj/structure/reagent_dispensers/beerkeg, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/corner/transparent/brown/full, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"tB" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/area/outpost/crew/bar) +"sk" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) -"tC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock{ - name = "Cryogenics" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, +/obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"tH" = ( -/obj/structure/cable{ +/area/outpost/hallway/central) +"sl" = ( +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/poddoor/ert, -/obj/machinery/door/airlock/grunge{ - req_access_txt = "109" +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/brown/full, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/turf/closed/indestructible/reinforced, -/area/outpost/operations) -"tK" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/box, -/obj/structure/disposalpipe/trunk{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"tL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"sm" = ( +/obj/structure/flippedtable{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew) -"tU" = ( -/obj/machinery/light/directional/north, +/obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"sn" = ( +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"sz" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/closet/emcloset/wall{ + dir = 4; + pixel_x = -28 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"tZ" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 +"sB" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/chair/office{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/wood, +/area/outpost/crew/library) +"sF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1; - pixel_x = -1 +/turf/open/floor/wood, +/area/outpost/crew/bar) +"sG" = ( +/obj/structure/toilet{ + dir = 8; + pixel_y = 0; + pixel_x = 8 }, +/obj/effect/turf_decal/borderfloor/full, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"uc" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 1 }, +/obj/effect/turf_decal/floordetail/pryhole, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"uv" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/area/outpost/maintenance/fore) +"sH" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/port) +"sO" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"uy" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/item/kirbyplants/random, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"uF" = ( -/turf/open/floor/wood, -/area/outpost/crew) -"uG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew) -"uL" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"uQ" = ( -/obj/structure/urinal{ - pixel_y = 32 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"uW" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 +/obj/machinery/door/airlock{ + dir = 4; + name = "Library" }, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = -32 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"uX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/closet/firecloset/wall{ - pixel_y = 28 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, +/turf/open/floor/plasteel/tech, +/area/outpost/crew/library) +"sP" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 5 +/turf/closed/indestructible/reinforced, +/area/outpost/maintenance/central) +"sR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"sV" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"ve" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"ta" = ( /obj/structure/rack, -/obj/effect/turf_decal/box/corners{ +/obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/gloves, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/outpost/storage) +"th" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ dir = 1 }, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"vf" = ( -/obj/structure/chair/wood/wings{ +/obj/machinery/light/dim/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"tj" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/newscaster/directional/west, -/obj/machinery/camera/autoname{ - dir = 1 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/vacant_rooms/office) +"tk" = ( +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"tl" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"vn" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/end{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"vr" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 5 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"vu" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, -/obj/structure/window/reinforced{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"vv" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"vL" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"vT" = ( -/obj/effect/turf_decal/corner/opaque/green/three_quarters, -/obj/structure/chair{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/insectguts, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"vV" = ( -/obj/structure/noticeboard{ - dir = 8; - pixel_x = 28 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen/border{ - dir = 4 - }, +"tm" = ( +/obj/effect/decal/cleanable/glass/strange, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"vX" = ( -/obj/structure/rack, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"vZ" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/newscaster/directional/south, -/obj/machinery/button/door{ - id = "ob1"; - name = "door lock"; - pixel_x = -22; - pixel_y = 23; - specialfunctions = 4; - normaldoorcontrol = 1 +/area/outpost/maintenance/central) +"to" = ( +/obj/structure/flora/junglebush/large, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/central) +"tr" = ( +/obj/structure/bookcase/random, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"tt" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"wa" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"wm" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen/border{ - dir = 8 +"tu" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken3" }, -/obj/effect/turf_decal/industrial/caution{ +/area/outpost/crew/bar) +"tv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"wn" = ( -/obj/structure/cable{ +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"tw" = ( +/obj/structure/table/wood, +/obj/item/newspaper{ + pixel_x = 1; + pixel_y = 7 + }, +/turf/open/floor/carpet/royalblack, +/area/outpost/crew/bar) +"tA" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"wr" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_y = 6; - pixel_x = 6 - }, -/obj/item/paper_bin/carbon{ - pixel_y = 1; - pixel_x = -8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"wx" = ( -/obj/machinery/power/smes/magical{ - output_level = 200000 - }, -/obj/structure/cable, +"tC" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/outpost/operations) -"wB" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 +/area/outpost/hallway/central) +"tE" = ( +/obj/structure/railing{ + dir = 4 }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 9 }, -/obj/machinery/door/airlock/public/glass{ - name = "Restroom" +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"tG" = ( +/obj/structure/cable/yellow{ + icon_state = "2-9" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/dorm) -"wF" = ( -/obj/structure/window/reinforced/tinted{ - dir = 8 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"tH" = ( +/obj/structure/sink/greyscale{ + dir = 8; + pixel_x = 13 }, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/grass, -/area/outpost/crew) -"wH" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/end{ - dir = 1 +/obj/structure/mirror{ + pixel_x = 26; + pixel_y = -4 }, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"wL" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/vacant_rooms) -"wR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/floordetail/pryhole, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"xa" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew) -"xc" = ( +/area/outpost/maintenance/fore) +"tI" = ( /obj/structure/railing{ - dir = 9 + dir = 4 }, -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/plasteel/tech, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"xi" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey, +"tN" = ( +/obj/structure/railing/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"xm" = ( -/obj/effect/turf_decal/box, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/patterned/grid, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"xn" = ( +"tS" = ( /obj/structure/rack, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"xo" = ( -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = 32 +/obj/effect/spawner/lootdrop/maintenance/four, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"tT" = ( +/obj/structure/railing{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"xr" = ( -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"tU" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"xs" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 5 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 9 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"xy" = ( -/obj/structure/table, -/obj/machinery/newscaster/directional/north{ - pixel_y = 32 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/obj/effect/turf_decal/corner/opaque/green/three_quarters{ +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"tZ" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, /area/outpost/hallway/central) -"xQ" = ( -/obj/structure/table, -/obj/item/circuitboard/machine/paystand, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 +"ua" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/chair{ + dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"xW" = ( -/obj/structure/chair/wood/wings{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/storage) +"ue" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/pill/epinephrine, +/obj/item/paper_bin/bundlenatural{ + pixel_x = 9; + pixel_y = 13 }, -/obj/machinery/button/door{ - dir = 4; - pixel_y = 7; - pixel_x = -38; - id = "outsmall1"; - name = "window shutters" +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"uf" = ( +/obj/machinery/light/dim/directional/west, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet, -/area/outpost/crew) -"ya" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"ug" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"uj" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, /turf/open/floor/plasteel/tech, +/area/outpost/hallway/port) +"uk" = ( +/obj/structure/railing, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"yg" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 10 +"um" = ( +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/outpost/storage) +"un" = ( +/obj/structure/chair/wood{ + dir = 8 }, -/obj/structure/chair{ +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"ur" = ( +/obj/structure/chair/sofa/corner{ dir = 8 }, +/turf/open/floor/carpet/royalblack, +/area/outpost/crew/bar) +"uu" = ( +/obj/machinery/light/small/directional/north, /obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"yh" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 + dir = 4 }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"uv" = ( /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/bookbinder, /turf/open/floor/wood, -/area/outpost/crew) -"yj" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 6 - }, -/turf/open/floor/carpet/royalblack, -/area/outpost/vacant_rooms) -"yl" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 +/area/outpost/crew/library) +"uw" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 }, +/obj/machinery/light/dim/directional/north, +/obj/structure/closet/crate, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/cargo) +"uy" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/newscaster/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"yp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"ys" = ( -/obj/structure/curtain/cloth/fancy, -/obj/effect/turf_decal/siding/wood{ +"uz" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/effect/turf_decal/siding/wood{ +/obj/effect/turf_decal/corner/opaque/brown/full, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"uA" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/mono, -/area/outpost/crew) -"yu" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 9 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/structure/cable{ +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"uD" = ( +/turf/open/floor/ship/dirt, +/area/outpost/hallway/central) +"uE" = ( +/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"uL" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/industrial/stand_clear{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"yy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"yK" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"yM" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 +"uN" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/insectguts, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"yV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +"uQ" = ( +/obj/structure/table, +/obj/item/clipboard{ + pixel_y = -5; + pixel_x = 5 }, -/obj/machinery/camera/autoname{ +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"uU" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral, +/obj/structure/sign/poster/random{ + pixel_x = 28 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"uV" = ( +/obj/structure/dresser{ dir = 1 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"zn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/central) +"uW" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/firealarm/directional/north, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"uX" = ( +/obj/machinery/disposal/bin, +/obj/machinery/newscaster/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 }, -/turf/open/floor/wood, -/area/outpost/crew) -"zp" = ( /obj/effect/turf_decal/box, -/obj/structure/closet/cardboard, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"zq" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "outsmall1" - }, -/obj/structure/window/reinforced/fulltile/indestructable, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/hallway/central) +"va" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/outpost/crew) -"zv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 6 +/area/outpost/maintenance/central) +"vc" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +/obj/structure/cable/yellow{ + icon_state = "2-8" }, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"vd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) -"zG" = ( -/obj/effect/turf_decal/corner/opaque/red{ - dir = 6 - }, +"vp" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, /turf/open/floor/plasteel, +/area/outpost/hallway/port) +"vr" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, /area/outpost/hallway/central) -"zL" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 +"vB" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1; - pixel_x = -1 +/obj/structure/disposalpipe/segment{ + dir = 6 }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"zS" = ( -/obj/effect/turf_decal/siding/thinplating{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel, /area/outpost/hallway/central) -"zW" = ( -/obj/machinery/computer/cargo/express{ +"vH" = ( +/obj/machinery/conveyor/auto{ + dir = 6; + id = "outpost3" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"vI" = ( +/obj/structure/railing{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"zX" = ( +"vR" = ( +/obj/structure/flora/grass/jungle, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/port) +"vT" = ( /obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/line{ - dir = 4 +/mob/living/simple_animal/pet/mothroach{ + name = "beanroach" }, -/obj/effect/turf_decal/trimline/opaque/green/line{ - dir = 8 +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/central) +"vV" = ( +/obj/machinery/door/airlock/public{ + id_tag = "out2" }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"Ac" = ( -/obj/structure/cable{ - icon_state = "1-4" +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, +/obj/machinery/door/firedoor/border_only, /turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Am" = ( -/obj/effect/turf_decal/box/corners{ +/area/outpost/hallway/central) +"vX" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/closet/crate/science, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"Ao" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"vZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"wa" = ( +/obj/structure/sign/painting/library{ + pixel_y = 0; + pixel_x = -26 }, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/effect/decal/cleanable/wrapping, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/wood, +/area/outpost/crew/library) +"we" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/dim/directional/south, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "2-4" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"Ap" = ( -/obj/machinery/firealarm/directional/north, +"wi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 5 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/central) +"wk" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 8 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"wn" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"Au" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/outpost/crew) -"AC" = ( +"wq" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"wu" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"wv" = ( +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"wA" = ( +/obj/effect/decal/cleanable/food/tomato_smudge, +/turf/open/floor/wood/mahogany, +/area/outpost/crew/bar) +"wC" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/industrial/stand_clear, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 6 +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /turf/open/floor/plasteel, +/area/outpost/hallway/port) +"wF" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush/c, +/turf/open/floor/grass/ship/jungle, /area/outpost/hallway/central) -"AI" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 +"wK" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/vacant_rooms/office) +"wL" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/vacant_rooms) +"wN" = ( +/obj/machinery/vending/coffee, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/hallway/central) +"wR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/foamedmetal, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"wT" = ( +/obj/machinery/jukebox{ + pixel_y = 16; + density = 0; + can_be_unanchored = 1 }, -/obj/machinery/newscaster/directional/south, -/obj/machinery/camera/autoname{ - dir = 9 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"wU" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"wX" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, +/area/outpost/storage) +"xc" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, /area/outpost/vacant_rooms) -"AK" = ( -/obj/machinery/door/airlock/public/glass, -/obj/structure/cable{ +"xf" = ( +/obj/structure/cable/yellow{ icon_state = "1-2" }, +/obj/effect/turf_decal/corner/opaque/brown/full, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"xk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) +"xm" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"xo" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/dim/directional/north, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 1 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel, /area/outpost/hallway/central) -"AL" = ( -/obj/structure/chair/comfy/brown{ - dir = 4 +"xr" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/camera/autoname{ + dir = 5 }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms) -"AM" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, -/obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"AR" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ +/area/outpost/hallway/port) +"xu" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"xy" = ( +/obj/effect/decal/cleanable/glass/strange, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 9 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/central) +"xI" = ( +/obj/machinery/camera/autoname, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"AU" = ( -/obj/effect/turf_decal/corner/opaque/black{ +/area/outpost/vacant_rooms) +"xJ" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"AY" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 9 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Ba" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"xK" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/siding/thinplating{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"xM" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/machinery/door/airlock/public/glass{ +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/door/poddoor/preopen{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel, /area/outpost/hallway/central) -"Bh" = ( -/obj/structure/table, -/obj/structure/window/reinforced, -/obj/item/hand_labeler, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"Bj" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 +"xQ" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"xW" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/door/airlock{ + name = "Restroom"; + id_tag = "out3" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/outpost/crew/bar) +"xX" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/spawner/lootdrop/waste/trash, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"xZ" = ( +/obj/structure/chair/pew/left{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 6 }, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Bp" = ( -/obj/effect/turf_decal/siding/thinplating{ +/area/outpost/hallway/central) +"yc" = ( +/obj/structure/foamedmetal, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"yh" = ( +/obj/structure/chair/sofa/corner{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating{ +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"yj" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/door/airlock/public/glass{ dir = 4 }, /turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) -"Bs" = ( +/area/outpost/hallway/port) +"yk" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 + dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"yq" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ dir = 5 }, -/obj/structure/disposalpipe/segment{ +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"yv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/brown/full, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"yB" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"Bu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, +"yE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/wood, -/area/outpost/crew) -"Bx" = ( +/area/outpost/crew/bar) +"yN" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/donkpockets, +/turf/open/floor/plasteel/mono, +/area/outpost/vacant_rooms) +"yQ" = ( /obj/structure/chair{ - dir = 4 + dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 +/obj/effect/decal/cleanable/blood/gibs{ + name = "old bloody vomit" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"yR" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/camera/autoname{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"BE" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1; - pixel_x = -1 +"yS" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - pixel_x = -1 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"yV" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral, +/obj/structure/closet/firecloset/wall{ + dir = 8; + pixel_x = 28 }, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"BF" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/siding/wood{ +/area/outpost/hallway/port) +"zb" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/disposalpipe/trunk{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/outpost/crew) -"BJ" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, -/obj/effect/turf_decal/box/corners{ - dir = 1 +/obj/effect/turf_decal/floordetail/tiled, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"zg" = ( +/obj/effect/landmark/outpost/elevator_machine{ + shaft = "1" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"BQ" = ( -/obj/structure/railing/corner{ +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +/obj/machinery/door/airlock/hatch, /turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) +"zo" = ( +/obj/machinery/mineral/processing_unit{ + output_dir = 4; + input_dir = 2 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/cargo) -"Cc" = ( +"zq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" + dir = 5 }, -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/outpost/crew) -"Cd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Cj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/area/outpost/crew/bar) +"zr" = ( +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 8 }, -/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Ck" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 +/area/outpost/storage) +"zv" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/sign/directions/service{ + pixel_y = 22; + dir = 8 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Ct" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 +/area/outpost/hallway/central) +"zC" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "outpost2" }, -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/cargo) +"zE" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/obj/structure/cable{ - icon_state = "2-4" +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"zI" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/structure/cable{ +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"zL" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ icon_state = "1-4" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"CI" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"CL" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"CR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - dir = 1 +"zM" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/area/outpost/hallway/central) -"CT" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"De" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/line{ +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"zO" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/green/line{ - dir = 8 +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/machinery/camera/autoname{ - dir = 8 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"zR" = ( +/obj/effect/mob_spawn/human/corpse/charredskeleton{ + name = "Marv" + }, +/obj/item/stack/cable_coil/cut/yellow, +/obj/effect/decal/cleanable/ash/large, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"zS" = ( +/obj/effect/spawner/lootdrop/waste/trash, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"zY" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 }, +/obj/effect/decal/cleanable/generic, /turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"Df" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 10 +/area/outpost/maintenance/fore) +"Ab" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"Dg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/structure/foamedmetal, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Ai" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/camera/autoname{ dir = 5 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ + dir = 4 }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Do" = ( -/obj/structure/table, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ +/area/outpost/crew/janitor) +"Ak" = ( +/obj/machinery/door/airlock/maintenance{ dir = 4 }, -/obj/item/paper_bin, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"Dz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4; - pixel_y = 1 +/turf/open/floor/plasteel/tech, +/area/outpost/maintenance/fore) +"Am" = ( +/obj/machinery/vending/cola/random, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/hallway/port) +"Ao" = ( +/obj/item/radio/intercom/directional/north, +/obj/item/trash/can/food/beans{ + pixel_y = -1 + }, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/can/food/beans{ + pixel_x = 9; + pixel_y = 10 + }, +/obj/item/reagent_containers/food/snacks/canned/beans{ + pixel_x = -14; + pixel_y = -7 + }, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/central) +"Ap" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Au" = ( +/obj/effect/turf_decal/steeldecal/steel_decals3{ + dir = 1 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Aw" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/hallway/port) +"Ay" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/sign/poster/official/miners{ + pixel_x = 26 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"DA" = ( -/obj/structure/railing/corner{ +/area/outpost/hallway/port) +"AH" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"AI" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/disposalpipe/junction{ - dir = 1 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"DB" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/turf/open/floor/wood, -/area/outpost/crew) -"DJ" = ( -/obj/structure/chair/comfy/brown{ +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms) -"DQ" = ( -/obj/effect/turf_decal/corner/opaque/green{ +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + dir = 4; + req_access = list("101") + }, +/turf/open/floor/plasteel/tech, +/area/outpost/maintenance/central) +"AL" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/black{ dir = 10 }, -/obj/structure/table, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"DU" = ( -/obj/effect/turf_decal/corner/opaque/green{ +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 5 }, -/obj/machinery/vending/cola/random, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"AM" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/wood, +/area/outpost/crew/library) +"AN" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/steeldecal/steel_decals4, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"DV" = ( +"AO" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"DX" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -13 +"AP" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/pillbottles, +/obj/projectile/bullet/dart/syringe, +/obj/projectile/bullet/dart/syringe{ + pixel_x = -6 }, -/obj/structure/mirror{ - pixel_x = -28 +/obj/projectile/bullet/dart/syringe{ + pixel_y = 4; + pixel_x = 8 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel, -/area/outpost/crew) -"DY" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/junction/yjunction{ +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"AS" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-8" +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"AT" = ( +/obj/structure/railing/wood{ + dir = 2; + color = "#792f27" }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs/wood{ + dir = 4; + color = "#792f27" + }, +/area/outpost/crew/bar) +"AU" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"Eg" = ( -/obj/effect/turf_decal/corner/opaque/green{ +"AW" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/vacant_rooms/office) +"Bc" = ( +/obj/structure/cable/yellow{ + icon_state = "2-5" + }, +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/vacant_rooms) +"Bd" = ( +/obj/structure/grille/indestructable, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/vacant_rooms) +"Bf" = ( +/obj/structure/table/wood, +/obj/machinery/camera/autoname{ dir = 9 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Eh" = ( -/obj/structure/railing{ - dir = 1 +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/food/drinks/mug{ + pixel_x = 5; + pixel_y = 5 + }, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"Bj" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"En" = ( -/obj/effect/turf_decal/corner/opaque/green/three_quarters{ - dir = 4 +/area/outpost/hallway/central) +"Bp" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ +/obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/sign/number/random, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"Eo" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"Ep" = ( -/obj/structure/window/reinforced/tinted{ - dir = 8 - }, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/outpost/crew) -"Eq" = ( -/obj/structure/railing{ - dir = 4 +"Bq" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/junction/flip{ dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Ev" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 +/turf/open/floor/wood{ + icon_state = "wood-broken6" }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Ez" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/area/outpost/crew/bar) +"Br" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Bt" = ( +/obj/machinery/light/dim/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) -"EB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/wood, -/area/outpost/crew) -"ED" = ( +"Bu" = ( /obj/structure/table/wood, -/obj/structure/window/reinforced{ - dir = 4 +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_x = -8 }, -/obj/machinery/microwave{ - pixel_y = 5 +/obj/item/newspaper{ + pixel_x = 7; + pixel_y = 7 }, -/turf/open/floor/carpet, -/area/outpost/crew) -"EG" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 9 +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"Bz" = ( +/obj/machinery/power/floodlight, +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"EH" = ( -/obj/structure/railing/corner, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"BA" = ( +/obj/structure/railing{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, /obj/structure/disposalpipe/segment{ - dir = 6 + dir = 10 }, -/obj/structure/cable{ - icon_state = "2-4" +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"BE" = ( +/obj/item/kirbyplants{ + icon_state = "plant-22" }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"EI" = ( -/obj/effect/turf_decal/corner/opaque/green/three_quarters{ - dir = 1 +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 9 }, -/obj/structure/chair{ - dir = 4 +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/hallway/central) +"BJ" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"EK" = ( -/obj/structure/railing/corner{ +"BM" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, /obj/effect/turf_decal/industrial/warning{ dir = 4 }, /turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"EM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/area/outpost/hallway/port) +"BN" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 8 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"EU" = ( -/obj/structure/curtain/cloth/fancy, -/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"BR" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1 + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/mono, -/area/outpost/crew) -"EW" = ( -/obj/structure/sign/poster/official/random{ - pixel_y = 32 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"BX" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/mug{ + pixel_x = -2; + pixel_y = 5 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"EY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/closet/emcloset/wall{ - pixel_y = 28 +/turf/open/floor/carpet/royalblack, +/area/outpost/crew/bar) +"BY" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 5 +/turf/closed/indestructible/reinforced, +/area/outpost/maintenance/fore) +"BZ" = ( +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Fa" = ( -/obj/effect/turf_decal/box/corners{ +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 10 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Ca" = ( +/obj/structure/railing{ dir = 8 }, -/turf/open/floor/plasteel/patterned/grid, +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"Ff" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/end, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 +"Cc" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/crew/bar) +"Cf" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"Fu" = ( /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 9 }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 8 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Cg" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks{ + pixel_y = 13; + layer = 3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/food/drinks/shaker{ + pixel_x = 15; + layer = 4.26 + }, +/obj/item/pen/fourcolor{ + pixel_x = 4; + pixel_y = -1 + }, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"Ch" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/firealarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"FB" = ( -/obj/structure/railing{ - dir = 6 +"Ci" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/landmark/outpost/elevator_machine{ + shaft = "1" }, -/turf/open/floor/grass, -/area/outpost/crew) -"FF" = ( -/obj/machinery/vending/games, -/obj/effect/turf_decal/corner/opaque/green/three_quarters{ +/obj/machinery/elevator_call_button{ + dir = 1; + pixel_y = -24 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"FM" = ( -/obj/machinery/power/floodlight, -/obj/structure/cable, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"FN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Cl" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/small/directional/south, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, -/obj/machinery/door/firedoor/border_only{ +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Cm" = ( +/obj/item/toy/sprayoncan, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"Cn" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating{ +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/door/airlock/public/glass{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /turf/open/floor/plasteel/tech, /area/outpost/hallway/central) -"FQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"Cp" = ( +/obj/machinery/camera/autoname, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/vacant_rooms) +"Ct" = ( +/obj/structure/grille/indestructable, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/wood, -/area/outpost/crew) -"FU" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"CI" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/garbage, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Gc" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, +/area/outpost/hallway/port) +"CK" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/light/small/directional/west, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Gp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4; - pixel_y = 1 +/area/outpost/crew/janitor) +"CL" = ( +/obj/structure/flora/junglebush, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/port) +"CU" = ( +/obj/machinery/button/door{ + id = "out2"; + normaldoorcontrol = 1; + specialfunctions = 4; + dir = 1; + pixel_y = -22; + pixel_x = -9 }, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/floordetail/tiled, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Gq" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/area/outpost/maintenance/fore) +"CV" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"CX" = ( +/obj/structure/railing{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/corner/opaque/brown{ dir = 6 }, -/turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"Gu" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Df" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random{ + pixel_x = 28 }, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/corner/opaque/neutral, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"GA" = ( -/obj/item/kirbyplants/random, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"GB" = ( -/obj/structure/rack, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, +"Di" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"GG" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/brown/full, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Dm" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Do" = ( +/obj/machinery/portable_atmospherics/pump, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plasteel, +/turf/open/floor/plating, /area/outpost/vacant_rooms) -"GJ" = ( -/obj/effect/turf_decal/siding/wood/corner{ +"Dp" = ( +/obj/structure/railing/corner, +/obj/effect/turf_decal/industrial/loading{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Dq" = ( +/obj/structure/falsewall/reinforced, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"DA" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, -/obj/structure/cable{ +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"DF" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/wood, -/area/outpost/crew) -"GK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"GL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/area/outpost/hallway/port) +"DH" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/minor/bowler_or_that, +/obj/effect/spawner/lootdrop/maintenance/two, +/turf/open/floor/plasteel/mono, +/area/outpost/storage) +"DL" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ dir = 8 }, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"DP" = ( +/obj/structure/railing/corner, +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 9 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"GM" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/operations) -"GQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/corner/opaque/brown{ dir = 4 }, -/obj/structure/sign/poster/official/random{ - pixel_y = 32; - pixel_x = -33 - }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"GS" = ( -/obj/structure/urinal{ - pixel_y = 32 +"DS" = ( +/obj/machinery/power/smes/magical{ + name = "power relay" }, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"GT" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"DV" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"DW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 }, -/obj/structure/disposalpipe/segment{ +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"Ef" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ dir = 9 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 4 +/obj/effect/spawner/lootdrop/salvage/metal, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"Eg" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/item/radio/intercom/directional/east, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ + dir = 8 }, -/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) +"Ei" = ( /obj/effect/decal/cleanable/dirt, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Eo" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/black, /turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Et" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) -"GU" = ( +"Ez" = ( +/obj/effect/spawner/structure/window/reinforced/indestructable, +/turf/open/floor/plating, +/area/outpost/hallway/port) +"EC" = ( /obj/machinery/light/directional/south, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 10 +/turf/open/floor/ship/dirt, +/area/outpost/hallway/port) +"ED" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/table_bell{ + pixel_x = 6; + pixel_y = -3 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Hb" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"EG" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, /obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" + dir = 10 }, -/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/l3closet/janitor, +/obj/effect/turf_decal/steeldecal/steel_decals3, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"He" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/area/outpost/crew/janitor) +"EH" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/spline/fancy/wood, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"EP" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"ER" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"EV" = ( +/obj/structure/chair/comfy/brown, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, -/area/outpost/vacant_rooms) -"Hg" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 +/area/outpost/crew/bar) +"EX" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Fa" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Hi" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1; - pixel_x = -1 +/area/outpost/vacant_rooms/office) +"Fi" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - pixel_x = -1 +/obj/structure/sign/poster/random{ + pixel_y = 30 }, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Hl" = ( -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ +/area/outpost/hallway/port) +"Fl" = ( +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Hm" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced, -/obj/item/storage/fancy/donut_box{ - pixel_y = -3 +/obj/effect/turf_decal/industrial/warning/dust, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 }, -/turf/open/floor/carpet, -/area/outpost/crew) -"Hp" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/end, -/obj/structure/sign/poster/official/random{ - pixel_x = 32 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Fq" = ( +/obj/effect/spawner/structure/window/reinforced/indestructable, +/turf/open/floor/plating, +/area/outpost/crew/library) +"Fr" = ( +/obj/machinery/vending/boozeomat{ + pixel_y = 32; + density = 0 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"Hx" = ( -/obj/effect/turf_decal/box, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"HB" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/line{ - dir = 8 +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"Fs" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/trimline/opaque/green/line{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"HC" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 +/turf/open/floor/wood{ + icon_state = "wood-broken4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/area/outpost/crew/bar) +"Fv" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"Fx" = ( +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 }, +/obj/item/radio/intercom/directional/west, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"HG" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 +/area/outpost/vacant_rooms/office) +"FB" = ( +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"FD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"HH" = ( -/obj/effect/turf_decal/siding/wood/corner{ +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/outpost/crew/bar) +"FE" = ( +/obj/machinery/mineral/unloading_machine{ dir = 1 }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/cargo) +"FF" = ( +/obj/effect/turf_decal/ihejirika_small/left, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"FH" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/wood, -/area/outpost/crew) -"HL" = ( -/obj/structure/rack, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/green/end{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"HP" = ( -/obj/effect/turf_decal/corner/opaque/green/three_quarters{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/vending/coffee, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"HR" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/box, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/green{ +"FI" = ( +/obj/structure/railing, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/corner/opaque/brown{ dir = 5 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"HU" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 9 - }, -/obj/machinery/light/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"HZ" = ( -/obj/structure/table/wood, -/obj/structure/displaycase/forsale, -/obj/effect/turf_decal/siding/wood/end, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"FJ" = ( +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/outpost/vacant_rooms) -"Ij" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" +/area/outpost/crew/library) +"FN" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Ik" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/floor{ - bulb_colour = "#FFDDBB"; - bulb_power = 0.3 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/carpet, -/area/outpost/crew) -"Ip" = ( -/obj/structure/toilet{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/central) +"FQ" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/machinery/light/small/directional/east, -/obj/machinery/newscaster/directional/south, -/obj/machinery/button/door{ - id = "ob2"; - name = "door lock"; - pixel_x = -22; - pixel_y = 23; - specialfunctions = 4; - normaldoorcontrol = 1 +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"FS" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"FY" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "electricdanger"; + pixel_y = 0; + pixel_x = 30 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Gb" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"It" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/foamedmetal, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Gi" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/vacant_rooms/office) +"Gj" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 +/obj/effect/turf_decal/corner_techfloor_gray, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Ix" = ( -/obj/structure/sign/directions/command{ - dir = 4; - pixel_y = -24 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Gk" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/effect/turf_decal/corner/opaque/black{ +/obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 8 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Gm" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"IA" = ( -/obj/structure/cable{ - icon_state = "1-2" +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"Gn" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/minor/bowler_or_that, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Gu" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, +/obj/effect/turf_decal/corner/opaque/grey/full, /turf/open/floor/plasteel, -/area/outpost/operations) -"IB" = ( +/area/outpost/crew/janitor) +"Gv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, +/obj/item/toy/plush/spider, +/turf/open/floor/plating, /area/outpost/vacant_rooms) -"ID" = ( -/obj/structure/railing, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"IU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"IY" = ( -/obj/structure/chair/greyscale{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen/border{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"Jh" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 9 - }, +"GB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Jl" = ( -/obj/structure/rack, -/obj/machinery/light/small/broken/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/garbage, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"Jo" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/maintenance{ + dir = 4; + req_access = list("101") }, -/obj/structure/disposalpipe/junction/yjunction{ - dir = 8 +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/port) +"GE" = ( +/obj/structure/chair/comfy/brown, +/obj/effect/turf_decal/siding/wood, +/obj/structure/sign/poster/random{ + pixel_y = 30 }, -/obj/structure/cable{ - icon_state = "1-8" +/turf/open/floor/wood, +/area/outpost/crew/bar) +"GK" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Jr" = ( -/obj/structure/cable{ +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Ju" = ( -/obj/structure/railing, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, /turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Jw" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 +/area/outpost/hallway/central) +"GL" = ( +/obj/effect/landmark/outpost/elevator{ + shaft = "1" }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 5 +/turf/open/floor/plasteel/elevatorshaft, +/area/outpost/hallway/central) +"GM" = ( +/obj/structure/sign/poster/official/no_erp{ + pixel_y = 30 }, -/obj/item/radio/intercom/directional/north{ - pixel_y = 32 +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/floordetail/tiled, +/turf/open/floor/plasteel, +/area/outpost/maintenance/fore) +"GQ" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, -/turf/open/floor/carpet/royalblack, -/area/outpost/vacant_rooms) -"Jz" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/wood, -/area/outpost/crew) -"JB" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 6 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"GS" = ( +/obj/machinery/modular_computer/console/preset/civilian, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"GT" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"JC" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 +"GU" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/structure/disposalpipe/junction/yjunction{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/turf/open/floor/wood, -/area/outpost/crew) -"JL" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"GW" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/lamp/green{ + pixel_y = 24; + pixel_x = -16 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"JM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/turf/open/floor/carpet/royalblack, +/area/outpost/crew/bar) +"GX" = ( +/obj/structure/chair/wood{ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/wood, -/area/outpost/crew) -"JU" = ( -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"JX" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Ka" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, +/area/outpost/crew/bar) +"GY" = ( +/obj/structure/table/wood, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Kn" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Ko" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 +/obj/item/spacecash/bundle/c1{ + pixel_y = 4; + pixel_x = 3 }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"Kt" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/turf/open/floor/carpet/royalblack, +/area/outpost/crew/bar) +"Ha" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"He" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/dim/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/disposalpipe/junction/flip{ +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-8" +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Hh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"Hi" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"Ku" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/box, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Kw" = ( +"Hk" = ( /obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/green/line{ +/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/mono, +/area/outpost/storage) +"Hl" = ( +/mob/living/simple_animal/mouse/brown, +/obj/effect/turf_decal/steeldecal/steel_decals6, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Ht" = ( +/obj/machinery/door/airlock/maintenance{ dir = 4 }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"Ky" = ( -/obj/effect/turf_decal/spline/fancy/wood{ +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/carpet/royalblack, -/area/outpost/vacant_rooms) -"Kz" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"KA" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4; - pixel_y = 1 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"KD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 9 + dir = 4 }, -/obj/machinery/newscaster/directional/east, /turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"KH" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/box, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel, +/area/outpost/vacant_rooms/office) +"Hv" = ( +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"HB" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/lootdrop/glowstick, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) -"KJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +"HD" = ( +/turf/closed/indestructible/rock, +/area/outpost/external) +"HF" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_y = -2; + pixel_x = 5 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"HG" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/structure/cable{ +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"KK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/light/small/directional/west, +/area/outpost/hallway/central) +"HJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, /turf/open/floor/wood, -/area/outpost/crew) -"KQ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/area/outpost/crew/bar) +"HL" = ( +/obj/structure/easel, /obj/effect/decal/cleanable/dirt/dust, +/obj/item/canvas/nineteenXnineteen, /turf/open/floor/wood, -/area/outpost/crew) -"KU" = ( -/obj/machinery/power/terminal{ - dir = 8 +/area/outpost/crew/library) +"HQ" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/firealarm/directional/east, +/obj/structure/holosign/barrier/infinite{ + max_integrity = 500 }, /turf/open/floor/plasteel, -/area/outpost/operations) -"KV" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"KW" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/machinery/elevator_call_button{ - pixel_y = 25 - }, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "main" +/area/outpost/hallway/central) +"HR" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, +/obj/machinery/door/firedoor, /turf/open/floor/plasteel/tech, /area/outpost/hallway/central) -"KZ" = ( -/obj/structure/disposalpipe/trunk{ +"HX" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/turf_decal/techfloor{ +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Ld" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +/turf/open/floor/plating, +/area/outpost/crew/bar) +"HZ" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"Lj" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Lr" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Lu" = ( -/turf/open/floor/wood, -/area/outpost/vacant_rooms) -"Lx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/effect/turf_decal/corner/opaque/black{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 6 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"Lz" = ( -/obj/structure/window/reinforced{ +/obj/effect/turf_decal/industrial/stand_clear{ dir = 8 }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Ic" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/storage) +"If" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"LD" = ( +/area/outpost/maintenance/fore) +"Ip" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/industrial/caution, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Is" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/outpost/storage) +"It" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 8 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"LG" = ( -/obj/structure/railing/corner{ - dir = 1 +"Iu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Iv" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Ix" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"LI" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"LK" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters, -/obj/machinery/disposal/bin, -/obj/machinery/light/small/directional/south, -/obj/structure/disposalpipe/trunk{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, /turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"LL" = ( -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"LO" = ( -/turf/open/floor/plasteel, -/area/outpost/operations) -"LP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/area/outpost/crew/janitor) +"Iz" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - pixel_x = -1 - }, -/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"IB" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/corner/opaque/neutral, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"LZ" = ( +/area/outpost/hallway/port) +"IE" = ( +/obj/structure/chair/wood, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"IH" = ( +/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, -/turf/open/floor/wood, -/area/outpost/crew) -"Md" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Mk" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"IJ" = ( +/obj/structure/table, +/obj/item/trash/can/food/beans, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"IM" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/firealarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Mr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" +/area/outpost/hallway/port) +"IN" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "!"; + pixel_x = 9 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Mt" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 +/obj/effect/decal/cleanable/crayon{ + icon_state = "f"; + pixel_y = 0; + pixel_x = -19 }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"Mz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/effect/decal/cleanable/crayon{ + icon_state = "u"; + pixel_y = -5; + pixel_x = -10 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 +/obj/effect/decal/cleanable/crayon{ + icon_state = "n" }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4; - pixel_y = 1 +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -19; + pixel_x = 2 }, -/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -25; + pixel_x = -7 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"IS" = ( +/obj/machinery/light/dim/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) -"MA" = ( +"IU" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"MB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32; - pixel_y = -32 +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"IW" = ( +/turf/closed/indestructible/rock, +/area/outpost/maintenance/central) +"IY" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "antilizard"; + pixel_x = -30 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"ME" = ( -/obj/structure/railing{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/outpost/maintenance/fore) +"Ji" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 1 }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ +/obj/effect/turf_decal/steeldecal/steel_decals9, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Jo" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"MF" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, -/obj/structure/window/reinforced, -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Jp" = ( +/obj/machinery/door/airlock/public, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/item/circuitboard/machine/paystand, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/vacant_rooms) -"MN" = ( -/obj/structure/railing/corner{ - dir = 8 +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/structure/disposalpipe/segment{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"MO" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ +/area/outpost/vacant_rooms) +"Jq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Jr" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"JA" = ( +/obj/machinery/firealarm/directional/north, /obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 2 +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"JE" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, /obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"Nc" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/end, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"Ne" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"Ni" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +"JF" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "electricdanger"; + pixel_y = -28 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"Nl" = ( -/obj/effect/turf_decal/siding/wood/corner{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"JM" = ( +/obj/structure/chair/sofa/right{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew) -"Nv" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"JS" = ( /obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew) -"Nx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/wood, -/area/outpost/crew) -"NH" = ( -/obj/structure/window/reinforced/tinted{ - dir = 8 - }, -/obj/structure/window/reinforced/tinted, -/turf/open/floor/grass, -/area/outpost/crew) -"NT" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/end{ - dir = 1 + dir = 10 }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"NX" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"Oa" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"JU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"Ob" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"JV" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/minor/pirate_or_bandana, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Od" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/outpost/storage) +"JW" = ( +/obj/machinery/vending/games, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"JX" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush/b, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/port) +"Kd" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Ke" = ( +/obj/structure/table, +/obj/item/trash/can/food/beans{ + pixel_x = 5; + pixel_y = 5 }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Kh" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, /obj/machinery/newscaster/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"Of" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"Kl" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/industrial/stand_clear{ dir = 4 }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/wood, -/area/outpost/crew) -"Oj" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/closet/crate/science, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"Oq" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner, -/obj/machinery/light/directional/west, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Or" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew) -"Ou" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew) -"Ov" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +/area/outpost/hallway/port) +"Ko" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/camera/autoname{ + dir = 5 }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"Oz" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew) -"OC" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 6 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"OH" = ( -/obj/item/kirbyplants/random, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 10 +/area/outpost/hallway/port) +"Kr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Ks" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms) -"OY" = ( -/obj/machinery/light/directional/south, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Kx" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/storage) +"Ky" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/port) +"Kz" = ( +/obj/structure/falsewall/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Pa" = ( -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Pj" = ( -/obj/structure/window/reinforced{ +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"KC" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"Ps" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 +/obj/effect/decal/cleanable/greenglow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Pu" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"KF" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/item/paper_bin{ - pixel_y = 3; - pixel_x = 2 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/structure/noticeboard{ - pixel_y = 28 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 2 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"Pz" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 5 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"PA" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Janitor Closet" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/outpost/crew/janitor) +"KI" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"PE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"KJ" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "Donk"; + pixel_y = 32 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"KK" = ( +/obj/structure/toilet{ + dir = 4; + pixel_y = 0; + pixel_x = -6 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/mirror{ + pixel_y = 30 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/sink{ + pixel_y = 24 }, -/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/transparent/brown/full, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"PG" = ( +/area/outpost/crew/bar) +"KS" = ( /obj/structure/railing{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" + dir = 1 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"PH" = ( -/obj/structure/railing{ - dir = 10 +"KV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/grass, -/area/outpost/crew) -"PR" = ( -/obj/structure/railing{ +/obj/effect/turf_decal/corner/opaque/orange{ dir = 5 }, -/turf/open/floor/grass, -/area/outpost/crew) -"PV" = ( -/obj/structure/railing, -/turf/open/floor/grass, -/area/outpost/crew) -"Qc" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"KW" = ( +/obj/structure/cable/yellow{ + icon_state = "6-8" }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms) -"Qe" = ( -/obj/structure/table, -/obj/item/clipboard, -/obj/item/pen, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"Qf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/disposalpipe/segment{ dir = 10 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4; - pixel_y = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Qh" = ( -/obj/effect/turf_decal/siding/wood{ +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"KY" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/steeldecal/steel_decals9{ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew) -"Qj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Qk" = ( -/turf/open/floor/carpet, -/area/outpost/crew) -"Qn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/area/outpost/hallway/central) +"KZ" = ( +/obj/machinery/door/airlock/maintenance{ + dir = 4; + req_access = list("101") }, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Qt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8; - pixel_y = 1 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Qw" = ( -/obj/structure/railing{ - dir = 1 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"QA" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 9 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/structure/chair{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"QD" = ( -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plasteel/patterned/grid, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/tech, /area/outpost/cargo) -"QK" = ( +"Le" = ( +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/vacant_rooms) +"Lg" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/sign/poster/official/random{ - pixel_x = 32; - pixel_y = 32 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"QL" = ( -/obj/machinery/recycler, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/operations) -"QP" = ( -/obj/structure/chair/office{ - dir = 1 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Lh" = ( +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/vacant_rooms) +"Li" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"Ls" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"QR" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"QT" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 9 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"QY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Rb" = ( -/obj/machinery/door/airlock{ - id_tag = "ob4"; - name = "Bathroom" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Rd" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/effect/turf_decal/steeldecal/steel_decals7{ dir = 9 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"Re" = ( -/obj/structure/railing{ - dir = 1 +/obj/effect/turf_decal/steeldecal/steel_decals7{ + dir = 6 }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Lu" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/turf/open/floor/plasteel/stairs{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/area/outpost/cargo) -"Rk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"Rt" = ( +/obj/structure/disposalpipe/junction/yjunction{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/black/full, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"LB" = ( /obj/structure/table, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/corner/opaque/green/three_quarters{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/storage) +"LD" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/item/radio/intercom/directional/west, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"Ru" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/item/radio/intercom/directional/north{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/vacant_rooms) -"Rv" = ( -/obj/structure/table, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"Ry" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/box/corners{ +"LE" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/mahogany, +/area/outpost/crew/bar) +"LH" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"LK" = ( +/obj/structure/flora/junglebush/c, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/port) +"LL" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/hallway/port) +"LP" = ( +/obj/machinery/door/airlock, +/turf/open/floor/wood, +/area/outpost/crew/library) +"LR" = ( +/obj/effect/spawner/lootdrop/tool_engie_common, +/obj/effect/spawner/lootdrop/tool_engie_common, +/obj/structure/rack, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"LS" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 1 }, -/obj/effect/turf_decal/box/corners{ - dir = 8 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"LU" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/storage) +"LX" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"RC" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1; - pixel_x = -1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - pixel_x = -1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"RF" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, +/obj/item/radio/intercom/directional/south, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"RG" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"RN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +"LY" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/green{ +/obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"RV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/area/outpost/hallway/port) +"Md" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/decal/cleanable/crayon{ + icon_state = "firedanger"; + pixel_y = -28 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Me" = ( +/obj/structure/grille/indestructable, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/vacant_rooms) +"Ml" = ( +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 9 }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"RY" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/box, -/obj/structure/disposalpipe/trunk, -/obj/effect/landmark/observer_start, +/area/outpost/storage) +"Mm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Mq" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, /turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"Sa" = ( -/obj/machinery/porta_turret/ship, -/obj/structure/sign/warning/securearea{ - pixel_x = -26; - pixel_y = -5 +/area/outpost/maintenance/fore) +"Ms" = ( +/obj/structure/railing/corner{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 9 +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Mt" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Mu" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Sc" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Si" = ( -/obj/structure/filingcabinet/double, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/dorm) -"Sn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/disposalpipe/junction/flip{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/steeldecal/steel_decals7{ + dir = 9 }, -/obj/effect/turf_decal/corner/opaque/black{ +/obj/effect/turf_decal/steeldecal/steel_decals7{ dir = 6 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Sp" = ( -/obj/machinery/vending/snack/random, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel, -/area/outpost/crew) -"St" = ( -/obj/effect/turf_decal/corner/opaque/black{ +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Mw" = ( +/obj/structure/closet/crate/trashcart, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"MB" = ( +/obj/effect/turf_decal/corner/opaque/orange{ dir = 10 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"MD" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/beer{ + pixel_y = 13; + layer = 3 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"SC" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 1 +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/paper_bin{ + pixel_x = 6; + pixel_y = -4 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"ST" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/spline/fancy/wood{ +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"MF" = ( +/obj/structure/chair/office{ dir = 1 }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/outpost/vacant_rooms) -"SV" = ( -/obj/effect/turf_decal/siding/thinplating{ +/area/outpost/crew/library) +"MI" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/structure/barricade/wooden/crude, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/door/airlock/public/glass{ +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 4 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel, /area/outpost/vacant_rooms) -"Td" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +"MK" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/glass/mortar, +/obj/item/pestle, +/obj/item/reagent_containers/food/drinks/mug/coco{ + pixel_y = 12; + pixel_x = 15 }, -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) -"Th" = ( -/obj/structure/cable{ - icon_state = "2-8" +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"MM" = ( +/obj/structure/cable/yellow{ + icon_state = "2-9" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/effect/decal/cleanable/crayon{ + icon_state = "danger"; + pixel_x = 30 }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/dorm) -"Tk" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"MO" = ( +/obj/structure/chair/pew/right{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/effect/turf_decal/corner/opaque/green{ + dir = 6 }, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Tt" = ( -/obj/machinery/camera/autoname{ - dir = 10 +/area/outpost/hallway/central) +"Nc" = ( +/turf/closed/indestructible/rock, +/area/outpost/hallway/central) +"Ne" = ( +/obj/item/radio/intercom/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/filingcabinet/double, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"Ty" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"Ng" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/pill/happy, +/obj/item/pen{ + pixel_y = 3; + pixel_x = 5 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Ni" = ( +/obj/structure/table, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"No" = ( +/obj/structure/grille/indestructable, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"TA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/wood, +/turf/open/floor/plating, /area/outpost/vacant_rooms) -"TB" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +"Nu" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/turf/open/floor/wood, -/area/outpost/crew) -"TW" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 10 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Nv" = ( +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 }, -/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"TY" = ( -/obj/structure/window/reinforced{ +/area/outpost/storage) +"NF" = ( +/obj/structure/cable/yellow{ + icon_state = "6-8" + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/filingcabinet/double, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"Ud" = ( -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"NH" = ( +/obj/structure/grille, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"NI" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"Uo" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/line{ - dir = 4 +"NK" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/maintenance/fore) +"NN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/effect/turf_decal/trimline/opaque/green/line{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"NQ" = ( +/obj/structure/disposalpipe/trunk/multiz/down{ dir = 8 }, /turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"Up" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced, -/turf/open/floor/carpet, -/area/outpost/crew) -"Uw" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/cargo) -"Uy" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/opaque/green/line, -/obj/effect/turf_decal/trimline/opaque/green/line{ +/area/outpost/maintenance/fore) +"NT" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) +"NU" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/food/snacks/grown/citrus/orange, +/obj/effect/spawner/lootdrop/salvage_capacitor, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"NV" = ( +/obj/structure/table, +/obj/item/stack/wrapping_paper, +/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) -"Uz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 +"Oa" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush/c, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/port) +"Oh" = ( +/obj/structure/chair/sofa{ + dir = 1 }, -/obj/machinery/camera/autoname{ +/turf/open/floor/carpet/royalblack, +/area/outpost/crew/bar) +"Oi" = ( +/obj/structure/railing/corner, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Om" = ( +/obj/structure/flora/junglebush/b, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/port) +"On" = ( +/obj/machinery/conveyor/auto{ + id = "outpost3"; dir = 1 }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Or" = ( +/obj/structure/chair/sofa/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/royalblack, +/area/outpost/crew/bar) +"Oy" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/wine{ + pixel_y = 5; + pixel_x = -8 + }, +/obj/item/reagent_containers/food/drinks/bottle/wine{ + pixel_y = 5; + pixel_x = 7 + }, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/outpost/crew) -"UE" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"UM" = ( -/obj/machinery/holopad/emergency/bar, -/obj/effect/landmark/observer_start, -/turf/open/floor/carpet, -/area/outpost/crew) -"UU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Vg" = ( -/obj/machinery/modular_computer/console/preset/civilian, -/obj/machinery/camera/autoname{ - dir = 6 +/area/outpost/crew/bar) +"OC" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 1; + piping_layer = 2 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/cargo) -"Vh" = ( -/obj/structure/railing, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"OG" = ( +/obj/machinery/door/firedoor, /obj/effect/turf_decal/industrial/warning{ - dir = 1 + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, /turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Vq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" +/area/outpost/hallway/central) +"OH" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/port) +"OI" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, +/obj/structure/extinguisher_cabinet/directional/west, /obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"OK" = ( +/obj/structure/falsewall/wood, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/outpost/crew/bar) +"OM" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"Vy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"OO" = ( +/obj/structure/railing, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"OP" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew) -"VE" = ( -/obj/structure/railing, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/stairs{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, -/area/outpost/cargo) -"VG" = ( -/obj/effect/turf_decal/siding/thinplating{ +/obj/effect/turf_decal/corner/opaque/black{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"OY" = ( +/obj/structure/grille/indestructable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Pe" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Ph" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/door/airlock/public/glass{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) -"VR" = ( -/obj/structure/railing{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"VV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Pm" = ( +/obj/structure/chair{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/obj/item/toy/figure/captain, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Po" = ( +/obj/structure/chair/pew{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/corner/opaque/green{ + dir = 6 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"VW" = ( -/obj/structure/chair/wood/wings{ +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Pw" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance/four, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/vacant_rooms/office) +"Px" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"PD" = ( +/obj/structure/chair/sofa/right{ dir = 8 }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/outpost/crew) -"VX" = ( -/obj/machinery/button/door{ - id = "ob3"; - name = "door lock"; - pixel_x = -8; - pixel_y = 24; - specialfunctions = 4; - normaldoorcontrol = 1 +/turf/open/floor/carpet/royalblack, +/area/outpost/crew/bar) +"PF" = ( +/obj/structure/grille/indestructable, +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/obj/structure/toilet{ - dir = 8 +/obj/structure/cable/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/plasteel, -/area/outpost/crew) -"Wd" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood, -/area/outpost/crew) -"Wt" = ( -/obj/structure/railing{ +/obj/effect/turf_decal/industrial/warning/dust{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/industrial/warning/dust, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"PG" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 9 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Ww" = ( +/obj/structure/holosign/barrier/infinite{ + max_integrity = 500 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/outpost/crew) -"Wz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/area/outpost/hallway/port) +"PI" = ( +/obj/effect/turf_decal/box/corners{ dir = 4 }, -/obj/structure/sign/poster/official/random{ - pixel_x = -32; - pixel_y = -32 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"WI" = ( -/obj/structure/closet/cardboard, -/obj/item/picket_sign, -/obj/item/picket_sign, -/turf/open/floor/plasteel/patterned/grid, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/cargo) -"WM" = ( -/obj/structure/chair/greyscale{ - dir = 8 +"PO" = ( +/obj/structure/chair/wood{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 +/turf/open/floor/wood, +/area/outpost/crew/bar) +"PS" = ( +/obj/structure/falsewall/reinforced, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/outpost/crew/dorm) -"WT" = ( -/obj/effect/turf_decal/siding/wood{ +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"PT" = ( +/obj/structure/grille/indestructable, +/obj/structure/cable/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"PV" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"Qa" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 1 }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"WV" = ( -/obj/structure/sign/poster/contraband/inteq{ - pixel_y = 32 +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 5 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Qc" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ + dir = 8 }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"WW" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 5 +/area/outpost/hallway/port) +"Qg" = ( +/obj/structure/cable/yellow{ + icon_state = "4-9" }, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 +/obj/structure/cable/yellow{ + icon_state = "1-9" }, -/obj/machinery/vending/cigarette, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Xc" = ( -/obj/effect/turf_decal/corner/opaque/black{ +/obj/effect/turf_decal/corner_techfloor_gray{ dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"Qk" = ( +/obj/machinery/button/door{ + dir = 8; + pixel_x = 22; + pixel_y = 9; + id = "out3"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/obj/effect/turf_decal/corner/transparent/brown/full, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Xk" = ( +/area/outpost/crew/bar) +"Qn" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Qp" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/item/trash/semki, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"Qv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/obj/structure/cable{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Qx" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/minor/bowler_or_that, +/obj/effect/spawner/lootdrop/maintenance/three, +/turf/open/floor/plasteel/mono, +/area/outpost/storage) +"QA" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/firealarm/directional/south, +/obj/structure/janitorialcart, +/obj/item/mop, +/obj/item/clothing/gloves/color/purple, +/obj/item/clothing/head/beanie/purple, +/obj/item/clothing/neck/tie/purple, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) +"QL" = ( +/obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 9 + }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"Xl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Xm" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 1 +"QR" = ( +/obj/machinery/newscaster/directional/north, +/obj/structure/filingcabinet/double, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"QT" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Xn" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/closet/cardboard, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"Xp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/confetti, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Xr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/dorm) -"Xx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ +/area/outpost/hallway/central) +"QY" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 - }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"XB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +/area/outpost/hallway/port) +"QZ" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = 11; + pixel_x = -14 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 +/turf/closed/indestructible/reinforced, +/area/outpost/maintenance/fore) +"Ra" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Lounge" }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"XI" = ( -/obj/effect/turf_decal/siding/thinplating{ +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/airlock/public/glass{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/door/poddoor/preopen{ - dir = 8 - }, /turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"XM" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet, -/area/outpost/crew) -"XS" = ( +/area/outpost/crew/bar) +"Rb" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/vacant_rooms/office) +"Rc" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Yb" = ( -/obj/structure/table, -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/obj/item/paper_bin, -/obj/item/pen, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/dorm) -"Yd" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/hallway/central) -"Yo" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew) -"Yr" = ( -/turf/open/floor/plasteel/stairs{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 }, -/area/outpost/hallway/central) -"Yv" = ( -/obj/effect/turf_decal/box/corners{ +/obj/effect/turf_decal/corner/opaque/black{ dir = 1 }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"YB" = ( -/obj/machinery/button/door{ - id = "ob4"; - name = "door lock"; - pixel_x = 25; - pixel_y = -6; - dir = 8; - specialfunctions = 4; - normaldoorcontrol = 1 +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Rf" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/obj/structure/sink{ - dir = 4; - pixel_x = -13 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/obj/structure/mirror{ - pixel_x = -28 +/turf/open/floor/wood, +/area/outpost/crew/bar) +"Rg" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/outpost/cargo) -"YC" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"YE" = ( -/obj/item/kirbyplants/random, -/obj/machinery/newscaster/directional/south, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Rh" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Ri" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/item/trash/semki, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"Rr" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"YI" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-4" +/area/outpost/storage) +"Rs" = ( +/obj/structure/cable/yellow{ + icon_state = "6-8" }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"YK" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ +/obj/structure/cable/yellow{ + icon_state = "4-6" + }, +/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Rt" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ dir = 1 }, -/obj/structure/cable{ +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) +"Ru" = ( +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew) -"YQ" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"Rv" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/structure/railing/corner, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"YR" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/corner/opaque/black{ dir = 1 }, -/obj/machinery/door/airlock/public/glass, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Rx" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, /area/outpost/vacant_rooms) -"YV" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +"RA" = ( +/obj/structure/railing/wood{ + dir = 10; + color = "#792f27" }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/siding/wood/corner{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 + dir = 5 }, -/obj/machinery/door/airlock/wood{ - dir = 8 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"RG" = ( +/obj/structure/barricade/wooden/crude, +/obj/machinery/door/firedoor/closed, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/airlock/mining{ + req_access = list("106") }, /turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) -"YX" = ( -/obj/machinery/door/window{ - dir = 8 +/area/outpost/hallway/port) +"RH" = ( +/obj/structure/chair/stool/bar{ + dir = 1; + pixel_y = 13 }, /obj/effect/turf_decal/siding/wood{ - dir = 8 + dir = 1 }, -/obj/effect/turf_decal/spline/fancy/wood, -/turf/open/floor/carpet/royalblack, -/area/outpost/vacant_rooms) -"Za" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"RI" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/lootdrop/waste/trash, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"RJ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/outpost/storage) +"RO" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/machinery/conveyor_switch{ + id = "outpost1"; + layer = 3.11; + pixel_y = 4; + pixel_x = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"RU" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/storage) +"RV" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "safe"; + pixel_y = 29 + }, +/obj/effect/decal/cleanable/garbage{ + pixel_y = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/can/food/beans{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/trash/can/food/beans{ + pixel_x = -6; + pixel_y = 3 + }, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/central) +"RW" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/garbage{ + pixel_y = 6; + pixel_x = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"RY" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/obj/structure/disposalpipe/junction{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Sd" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/structure/cable{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Si" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/floordetail/pryhole, +/turf/open/floor/plasteel, +/area/outpost/maintenance/fore) +"Sk" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew) -"Ze" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Sl" = ( +/obj/structure/railing, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 9 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Sn" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 10 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Zg" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/unres{ +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/central) +"So" = ( +/obj/structure/closet/crate/trashcart, +/obj/effect/turf_decal/steeldecal/steel_decals1, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Sq" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/disposalpipe/segment{ dir = 1 }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/operations) -"Zi" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral{ dir = 1 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/outpost/crew) -"Zm" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood/end{ +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Sr" = ( +/obj/structure/sign/painting/library_private{ + pixel_y = -26 + }, +/obj/structure/chair/comfy/brown{ dir = 1 }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/outpost/vacant_rooms) -"Zr" = ( -/obj/machinery/porta_turret/ship, -/obj/structure/sign/warning/securearea{ - pixel_x = 26; - pixel_y = -5 +/area/outpost/crew/library) +"Ss" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 6 +/obj/structure/closet/emcloset/wall{ + pixel_y = 28 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"Zt" = ( -/obj/structure/window/reinforced/tinted{ - dir = 1 +"SC" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 }, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/outpost/crew) -"Zu" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/newscaster/directional/west, -/obj/machinery/newscaster/directional/west, +/obj/effect/decal/cleanable/insectguts, +/obj/effect/turf_decal/floordetail/tiled, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Zx" = ( -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/area/outpost/hallway/central) +"SE" = ( +/turf/open/floor/ship/dirt, +/area/outpost/hallway/port) +"SG" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/chair/office{ dir = 8 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/dorm) -"ZE" = ( -/obj/structure/table, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/vacant_rooms) -"ZM" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/camera/autoname{ + dir = 9 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/outpost/crew) -"ZO" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - pixel_x = -1 +/area/outpost/crew/library) +"SL" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/light/directional/east, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"SM" = ( +/obj/machinery/light/dim/directional/west, +/obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"SS" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, /area/outpost/vacant_rooms) -"ZS" = ( -/obj/structure/cable{ - icon_state = "1-4" +"SV" = ( +/obj/structure/flora/grass/jungle, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/port) +"SW" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/lootdrop/maintenance/two, +/turf/open/floor/plasteel/mono, +/area/outpost/vacant_rooms) +"SY" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Ta" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/oil, +/obj/effect/turf_decal/steeldecal/steel_decals9, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Tb" = ( +/obj/structure/flora/junglebush, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/central) +"Td" = ( +/obj/structure/bookcase/random, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"Tg" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/donut, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/vacant_rooms) +"Th" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/cargo/office) +"Tr" = ( +/obj/structure/railing{ + dir = 9 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/dorm) -"ZV" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/conveyor_switch{ + id = "outpost2"; + layer = 3.11; + pixel_y = 9; + pixel_x = -2 }, -/obj/structure/disposalpipe/junction{ +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Ts" = ( +/obj/structure/chair/pew{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Tx" = ( +/obj/machinery/button/door{ + specialfunctions = 4; + normaldoorcontrol = 1; + id = "out1"; + dir = 1; + pixel_y = -21; + pixel_x = -8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/outpost/storage) +"TA" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/stand_clear{ dir = 4 }, -/obj/structure/cable{ +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"TD" = ( +/obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"TE" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/autoname, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 + }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"ZY" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ +"TG" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"TM" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"TT" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"TU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"TZ" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"Ua" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Uf" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Ui" = ( +/obj/machinery/disposal/deliveryChute{ + name = "fun chute"; + desc = "If it's so fun, what's the harm in it?" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -19; + pixel_x = 2 + }, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Um" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/item/toy/figure/head_of_personnel{ + layer = 2.9; + pixel_y = 4 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Uq" = ( +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/hallway/port) +"Us" = ( +/obj/structure/cable/yellow{ + icon_state = "4-9" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Ut" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Bar" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/outpost/crew/bar) +"Uv" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Uw" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/cargo) +"UB" = ( +/obj/effect/turf_decal/corner/opaque/brown/full, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"UC" = ( +/obj/machinery/conveyor{ dir = 1; - pixel_x = -1 + id = "outpost2" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/cargo) +"UE" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) - -(1,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -"} -(2,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -"} -(3,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -"} -(4,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -"} -(5,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -"} -(6,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -"} -(7,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -"} -(8,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -"} -(9,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -"} -(10,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -"} -(11,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -"} -(12,1,1) = {" +/area/outpost/vacant_rooms/office) +"UG" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 1 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"UI" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/floordetail/tiled, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"UO" = ( +/obj/machinery/firealarm/directional/south, +/obj/item/kirbyplants{ + icon_state = "plant-21"; + pixel_y = 1; + pixel_x = -11 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"UP" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"UT" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"UU" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/fluff/hedge, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"UZ" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms/office) +"Vc" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Vf" = ( +/obj/structure/cable/yellow{ + icon_state = "6-9" + }, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Vg" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Vp" = ( +/obj/structure/flora/grass/jungle, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/port) +"Vq" = ( +/obj/structure/bed/double/maint{ + dir = 4 + }, +/obj/item/bedsheet/double/captain, +/obj/effect/decal/cleanable/greenglow, +/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/head/papersack/smiley{ + pixel_x = 7 + }, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/central) +"Vr" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Vv" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Vx" = ( +/obj/structure/railing{ + dir = 9 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"VG" = ( +/obj/structure/noticeboard{ + pixel_y = 26 + }, +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"VM" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/newscaster/directional/south, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"VN" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 10 + }, +/obj/machinery/camera/autoname{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"VO" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/holosign/barrier/infinite{ + max_integrity = 500 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"VP" = ( +/obj/structure/grille/indestructable, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"VQ" = ( +/obj/effect/turf_decal/industrial/loading{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"VT" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "med"; + pixel_y = -28 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"VW" = ( +/obj/structure/chair/sofa, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"Wa" = ( +/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/mouse/brown, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Wc" = ( +/obj/machinery/recycler, +/obj/machinery/conveyor/auto{ + dir = 4; + id = "outpost3" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Wd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"Wf" = ( +/obj/machinery/light/dim/directional/north, +/turf/open/floor/ship/dirt/dark, +/area/outpost/hallway/port) +"Wl" = ( +/obj/structure/grille/indestructable, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/dust, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Wm" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/industrial/stand_clear, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Wt" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/neutral, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Wv" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Wz" = ( +/obj/structure/barricade/wooden/crude, +/obj/effect/spawner/structure/window/reinforced/indestructable, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"WC" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/vacant_rooms/office) +"WH" = ( +/obj/structure/cable/yellow, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"WM" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/neutral, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"WO" = ( +/obj/effect/spawner/lootdrop/maintenance/two, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"WR" = ( +/obj/structure/noticeboard{ + name = "refinery notice board"; + dir = 8; + pixel_y = 0; + pixel_x = 26 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"WS" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/foamedmetal, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"WV" = ( +/obj/machinery/vending/snack/random, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/hallway/central) +"WW" = ( +/obj/effect/turf_decal/ihejirika_small, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"WZ" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Xd" = ( +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"Xe" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom/table{ + dir = 4 + }, +/turf/open/floor/wood/mahogany, +/area/outpost/crew/bar) +"Xg" = ( +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Xl" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/neutral, +/obj/effect/turf_decal/floordetail/tiled, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Xm" = ( +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/central) +"Xn" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Xq" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"Xr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"Xv" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Xy" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) +"Xz" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/port) +"XA" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance/five, +/turf/open/floor/plasteel/mono, +/area/outpost/vacant_rooms) +"XD" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 + }, +/obj/structure/sign/poster/random{ + pixel_x = 28 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"XE" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/port) +"XF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"XI" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/purple/filled/line, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) +"XP" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"XQ" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"XS" = ( +/obj/structure/falsewall/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"XV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/vacant_rooms) +"XW" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"XZ" = ( +/obj/structure/sign/painting/library{ + pixel_y = -26 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"Yd" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/hallway/central) +"Yj" = ( +/obj/machinery/vending/cigarette, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/hallway/central) +"Yl" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Yn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"Yq" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/junction/yjunction{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/black/three_quarters{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Yt" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Yu" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Yv" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/neutral, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Yw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/brown/full, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"YC" = ( +/obj/effect/spawner/lootdrop/waste/trash, +/obj/structure/rack, +/obj/effect/turf_decal/steeldecal/steel_decals_central2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"YD" = ( +/obj/structure/chair/sofa/left, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"YE" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"YF" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"YI" = ( +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"YL" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"YN" = ( +/obj/structure/flora/grass/jungle, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/grass/ship/jungle, +/area/outpost/hallway/central) +"YX" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/dim/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Ze" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Zh" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Zk" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms/office) +"Zm" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Zo" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/insectguts, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Zs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Zu" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"Zv" = ( +/obj/machinery/paystand{ + pixel_y = 8 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/storage) +"Zx" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/cargo/office) +"ZE" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"ZG" = ( +/obj/structure/cable/yellow{ + icon_state = "6-9" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"ZJ" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"ZK" = ( +/obj/item/radio/intercom/directional/north, +/obj/item/kirbyplants{ + icon_state = "plant-16"; + pixel_x = -13 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"ZM" = ( +/turf/closed/indestructible/wood, +/area/outpost/crew/bar) +"ZN" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"ZP" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/tool_surgery_common, +/obj/effect/spawner/lootdrop/maintenance/four, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/vacant_rooms/office) +"ZU" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"ZY" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/sign/poster/random{ + pixel_y = 30 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) + +(1,1,1) = {" mC mC mC @@ -7270,7 +8239,7 @@ mC mC mC "} -(13,1,1) = {" +(2,1,1) = {" mC mC mC @@ -7393,7 +8362,7 @@ mC mC mC "} -(14,1,1) = {" +(3,1,1) = {" mC mC mC @@ -7516,7 +8485,7 @@ mC mC mC "} -(15,1,1) = {" +(4,1,1) = {" mC mC mC @@ -7639,7 +8608,7 @@ mC mC mC "} -(16,1,1) = {" +(5,1,1) = {" mC mC mC @@ -7762,7 +8731,7 @@ mC mC mC "} -(17,1,1) = {" +(6,1,1) = {" mC mC mC @@ -7885,7 +8854,7 @@ mC mC mC "} -(18,1,1) = {" +(7,1,1) = {" mC mC mC @@ -8008,7 +8977,7 @@ mC mC mC "} -(19,1,1) = {" +(8,1,1) = {" mC mC mC @@ -8131,7 +9100,7 @@ mC mC mC "} -(20,1,1) = {" +(9,1,1) = {" mC mC mC @@ -8254,7 +9223,7 @@ mC mC mC "} -(21,1,1) = {" +(10,1,1) = {" mC mC mC @@ -8377,7 +9346,7 @@ mC mC mC "} -(22,1,1) = {" +(11,1,1) = {" mC mC mC @@ -8500,7 +9469,7 @@ mC mC mC "} -(23,1,1) = {" +(12,1,1) = {" mC mC mC @@ -8623,7 +9592,7 @@ mC mC mC "} -(24,1,1) = {" +(13,1,1) = {" mC mC mC @@ -8746,7 +9715,7 @@ mC mC mC "} -(25,1,1) = {" +(14,1,1) = {" mC mC mC @@ -8869,7 +9838,7 @@ mC mC mC "} -(26,1,1) = {" +(15,1,1) = {" mC mC mC @@ -8992,7 +9961,7 @@ mC mC mC "} -(27,1,1) = {" +(16,1,1) = {" mC mC mC @@ -9115,7 +10084,7 @@ mC mC mC "} -(28,1,1) = {" +(17,1,1) = {" mC mC mC @@ -9238,7 +10207,7 @@ mC mC mC "} -(29,1,1) = {" +(18,1,1) = {" mC mC mC @@ -9361,7 +10330,7 @@ mC mC mC "} -(30,1,1) = {" +(19,1,1) = {" mC mC mC @@ -9427,14 +10396,6 @@ mC mC mC mC -Or -pD -pD -pD -pD -pD -pD -Or mC mC mC @@ -9483,8 +10444,6 @@ mC mC mC mC -"} -(31,1,1) = {" mC mC mC @@ -9493,6 +10452,8 @@ mC mC mC mC +"} +(20,1,1) = {" mC mC mC @@ -9549,16 +10510,6 @@ mC mC mC mC -Or -Or -fC -ov -Ik -Ik -bT -jD -Or -Or mC mC mC @@ -9606,8 +10557,6 @@ mC mC mC mC -"} -(32,1,1) = {" mC mC mC @@ -9626,6 +10575,8 @@ mC mC mC mC +"} +(21,1,1) = {" mC mC mC @@ -9672,16 +10623,6 @@ mC mC mC mC -Or -ec -es -Qk -nE -nE -XM -EB -Zi -Or mC mC mC @@ -9729,8 +10670,6 @@ mC mC mC mC -"} -(33,1,1) = {" mC mC mC @@ -9759,6 +10698,8 @@ mC mC mC mC +"} +(22,1,1) = {" mC mC mC @@ -9794,18 +10735,6 @@ mC mC mC mC -Or -Or -Or -ys -bo -wF -Ep -NH -af -Or -Or -Or mC mC mC @@ -9852,8 +10781,6 @@ mC mC mC mC -"} -(34,1,1) = {" mC mC mC @@ -9894,6 +10821,8 @@ mC mC mC mC +"} +(23,1,1) = {" mC mC mC @@ -9916,19 +10845,6 @@ mC mC mC mC -Or -Or -gK -YK -TB -PR -rB -rB -FB -FQ -Ov -vf -Or mC mC mC @@ -9975,8 +10891,6 @@ mC mC mC mC -"} -(35,1,1) = {" mC mC mC @@ -10030,6 +10944,8 @@ mC mC mC mC +"} +(24,1,1) = {" mC mC mC @@ -10039,20 +10955,6 @@ mC mC mC mC -Or -Sp -Ww -sa -GJ -uG -rt -rt -tL -HH -lZ -lj -Or -Or mC mC mC @@ -10098,8 +11000,6 @@ mC mC mC mC -"} -(36,1,1) = {" mC mC mC @@ -10162,25 +11062,13 @@ mC mC mC mC -Or -pP -Rd -tg -xa -nf -du -KQ -Ou -Oz -Rk -kY -GA -Or mC mC mC mC mC +"} +(25,1,1) = {" mC mC mC @@ -10221,8 +11109,6 @@ mC mC mC mC -"} -(37,1,1) = {" mC mC mC @@ -10283,22 +11169,6 @@ mC mC mC mC -Or -Or -Or -BF -Rk -kW -ng -Qh -Qh -Qh -Qh -Yo -Nl -Rk -oq -Or mC mC mC @@ -10320,6 +11190,8 @@ mC mC mC mC +"} +(26,1,1) = {" mC mC mC @@ -10344,8 +11216,6 @@ mC mC mC mC -"} -(38,1,1) = {" mC mC mC @@ -10405,24 +11275,6 @@ mC mC mC mC -Or -Or -KK -EU -gy -lp -Au -Nv -ml -ml -ml -ml -Hm -FQ -uF -hd -Or -Or mC mC mC @@ -10461,14 +11313,14 @@ mC mC mC mC +"} +(27,1,1) = {" mC mC mC mC mC mC -"} -(39,1,1) = {" mC mC mC @@ -10515,12 +11367,24 @@ mC mC mC mC +NH +pk +NH +NH mC mC mC mC mC mC +NH +NH +NH +NH +mC +mC +mC +mC mC mC mC @@ -10528,24 +11392,6 @@ mC mC mC mC -zq -xW -Qk -bo -PH -dH -ZM -Cc -Qk -Qk -UM -Qk -Up -pO -ob -WT -dh -Or mC mC mC @@ -10591,7 +11437,7 @@ mC mC mC "} -(40,1,1) = {" +(28,1,1) = {" mC mC mC @@ -10646,32 +11492,16 @@ mC mC mC mC +rt mC mC mC mC mC -zq -kJ -Qk -Zt -PV -yh -JM -je -tr -ti -ti -ED -mn -Of -du -Ld -cx -Or mC mC mC +rt mC mC mC @@ -10713,8 +11543,6 @@ mC mC mC mC -"} -(41,1,1) = {" mC mC mC @@ -10731,6 +11559,8 @@ mC mC mC mC +"} +(29,1,1) = {" mC mC mC @@ -10774,24 +11604,8 @@ mC mC mC mC -zq -nE -Qk -iY -FB -VW -Bu -Za -Vy -sv -sv -sv -sv -JC -Uz -Or -Or -Or +HD +HD mC mC mC @@ -10801,6 +11615,7 @@ mC mC mC mC +rt mC mC mC @@ -10809,6 +11624,7 @@ mC mC mC mC +rt mC mC mC @@ -10836,8 +11652,6 @@ mC mC mC mC -"} -(42,1,1) = {" mC mC mC @@ -10868,6 +11682,8 @@ mC mC mC mC +"} +(30,1,1) = {" mC mC mC @@ -10897,24 +11713,6 @@ mC mC mC mC -zq -jI -Wd -kI -DB -nw -uF -zn -uF -Jz -cO -gN -jI -LZ -Nx -ez -DX -Or mC mC mC @@ -10922,16 +11720,25 @@ mC mC mC mC +HD +HD +HD mC mC mC mC +HD +HD +HD mC mC mC mC +HD +HD mC mC +rt mC mC mC @@ -10940,6 +11747,7 @@ mC mC mC mC +rt mC mC mC @@ -10959,8 +11767,6 @@ mC mC mC mC -"} -(43,1,1) = {" mC mC mC @@ -10999,6 +11805,18 @@ mC mC mC mC +"} +(31,1,1) = {" +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC mC mC mC @@ -11020,34 +11838,30 @@ mC mC mC mC -wL -wL -wL -wL -wL -wL -Ba -jN -Ba -wL -wL -wL -wL -wL -wL -wL -VX -Or mC mC mC +HD +HD +HD +HD +HD +HD mC mC mC mC +HD +HD +HD +HD mC +HD +HD +HD mC mC +rt mC mC mC @@ -11056,6 +11870,7 @@ mC mC mC mC +rt mC mC mC @@ -11082,8 +11897,6 @@ mC mC mC mC -"} -(44,1,1) = {" mC mC mC @@ -11115,6 +11928,9 @@ mC mC mC mC +"} +(32,1,1) = {" +mC mC mC mC @@ -11143,31 +11959,43 @@ mC mC mC mC -wL -nO -HB -Kw -Ff -wL -sC -RV -vv -wL -oF -hU -nz -Oq -KA -wL -Or -Or mC mC mC +HD mC +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC +HD +HD +HD +HD +HD +HD +HD +HD +HD +em +HD +Cc +je +je +je +je +Cc +HD +em +mC +mC mC mC mC @@ -11205,8 +12033,6 @@ mC mC mC mC -"} -(45,1,1) = {" mC mC mC @@ -11225,6 +12051,8 @@ mC mC mC mC +"} +(33,1,1) = {" mC mC mC @@ -11256,32 +12084,50 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD mC +HD +HD +HD +HD +ZM +ZM +ZM +ZM +HD +HD +HD +ZM +oa +XW +XW +lw +ZM +ZM +ZM +HD mC mC mC mC mC +NH mC mC mC mC -wL -pm -Ck -ga -rZ -wL -xs -RV -sO -wL -xQ -ZE -yK -RC -ve -wL mC mC mC @@ -11329,7 +12175,7 @@ mC mC mC "} -(46,1,1) = {" +(34,1,1) = {" mC mC mC @@ -11361,10 +12207,46 @@ mC mC mC mC +HD +HD +HD +HD +hq +hq +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +ZM +ib +sj +ZM +ZM +HD +HD +ZM +GE +tw +BX +Hh +qg +Or +ZM +HD +HD mC mC mC mC +NH mC mC mC @@ -11389,22 +12271,6 @@ mC mC mC mC -wL -Ry -Hi -BJ -zL -sk -Mk -ns -Xc -tB -Ev -Ps -Qt -jS -xn -wL mC mC mC @@ -11431,6 +12297,8 @@ mC mC mC mC +"} +(35,1,1) = {" mC mC mC @@ -11451,8 +12319,6 @@ mC mC mC mC -"} -(47,1,1) = {" mC mC mC @@ -11463,6 +12329,47 @@ mC mC mC mC +HD +HD +HD +HD +hq +hq +hq +hq +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +yq +OK +FD +HJ +Rf +ZM +ZM +ZM +ZM +EV +GY +GW +Hh +rs +Oh +ZM +HD +HD +em +rt +rt +rt +NH mC mC mC @@ -11512,23 +12419,9 @@ mC mC mC mC -wL -MO -BE -fV -tZ -ry -Hg -uv -wa -Td -iB -wR -gJ -ZO -CT -wL mC +"} +(36,1,1) = {" mC mC mC @@ -11557,9 +12450,49 @@ mC mC mC mC +HD +HD +HD +HD +HD +hq +hq +hq +hq +hq +Ha +hq +hq +HD +HD +HD +HD +HD +HD +HD +Jq +ZM +ZM +gE +Fs +ZM +nn +LE +ZM +iq +Yn +BR +ir +PD +ur +ZM +HD +HD +HD mC mC mC +NH mC mC mC @@ -11574,8 +12507,6 @@ mC mC mC mC -"} -(48,1,1) = {" mC mC mC @@ -11612,6 +12543,8 @@ mC mC mC mC +"} +(37,1,1) = {" mC mC mC @@ -11635,31 +12568,54 @@ mC mC mC mC -wL -fI -Qf -Gp -GT -wL -vr -RV -Pa -wL -wL -wL -wL -wL -wL -wL mC mC mC mC mC +HD +HD +HD +HD +Xd +hq +kH +hq +Bz +Qp +hq +hq +hq +HD +HD +EP +EP +mP +Zs +Iu +NN +lM +ZM +ZM +HX +ZM +Xe +wA +ZM +ZM +Ra +ZM +ZM +ZM +ZM +ZM +HD +HD mC mC mC mC +NH mC mC mC @@ -11697,8 +12653,6 @@ mC mC mC mC -"} -(49,1,1) = {" mC mC mC @@ -11712,6 +12666,8 @@ mC mC mC mC +"} +(38,1,1) = {" mC mC mC @@ -11739,6 +12695,45 @@ mC mC mC mC +HD +HD +HD +HD +Cm +zR +Xd +Gm +SL +SL +pQ +SL +Xq +HD +NK +NK +YL +NK +NK +NK +cS +EP +VT +ZM +JA +zO +uf +RA +AT +OI +SM +no +th +ZM +KK +ZM +HD +HD +HD mC mC mC @@ -11758,22 +12753,6 @@ mC mC mC mC -wL -rV -cs -ZE -ZY -wL -EY -ZV -AM -sB -iw -rS -Zu -rS -KH -wL mC mC mC @@ -11810,6 +12789,8 @@ mC mC mC mC +"} +(39,1,1) = {" mC mC mC @@ -11820,8 +12801,6 @@ mC mC mC mC -"} -(50,1,1) = {" mC mC mC @@ -11838,6 +12817,47 @@ mC mC mC mC +HD +HD +HD +HD +HD +hq +dr +qp +AH +hq +hq +HD +NK +PS +NK +NK +fq +fq +NK +ro +NK +MK +dR +Ng +ZM +ZK +Li +ED +mM +qG +Bq +GX +tu +zq +xW +Qk +ZM +ZM +ZM +ZM +Cc mC mC mC @@ -11881,22 +12901,6 @@ mC mC mC mC -wL -jW -ai -Sc -xo -wL -uX -sI -Ne -pt -et -UU -UU -Tk -pG -wL mC mC mC @@ -11908,6 +12912,8 @@ mC mC mC mC +"} +(40,1,1) = {" mC mC mC @@ -11934,6 +12940,47 @@ mC mC mC mC +HD +HD +HD +HD +hq +Ha +vc +SL +Ri +Ha +hq +HD +NK +rQ +kd +Fl +Ab +bV +NK +DS +NK +NU +ue +AP +ZM +wT +Li +cO +RH +ii +mJ +hZ +PO +UO +ZM +ZM +ZM +PV +yh +JM +je mC mC mC @@ -11943,8 +12990,6 @@ mC mC mC mC -"} -(51,1,1) = {" mC mC mC @@ -11990,6 +13035,8 @@ mC mC mC mC +"} +(41,1,1) = {" mC mC mC @@ -12004,22 +13051,6 @@ mC mC mC mC -wL -wL -wL -wL -wL -wL -WV -LD -lk -wL -jU -MF -nT -dq -HL -wL mC mC mC @@ -12031,6 +13062,48 @@ mC mC mC mC +HD +HD +HD +HD +HD +hq +hq +AH +hq +hq +hq +hq +HD +NK +xX +gS +NK +YF +hK +NK +dT +NK +NK +NK +NK +Cc +Fr +id +dQ +pb +fK +Iz +un +ii +bz +ZM +sb +iY +Li +VW +Bu +je mC mC mC @@ -12066,8 +13139,6 @@ mC mC mC mC -"} -(52,1,1) = {" mC mC mC @@ -12087,6 +13158,8 @@ mC mC mC mC +"} +(42,1,1) = {" mC mC mC @@ -12112,6 +13185,48 @@ mC mC mC mC +HD +HD +HD +HD +HD +hq +Bz +zE +hq +HD +HD +hq +HD +NK +YF +NK +NK +Gj +NK +NK +BY +og +ZJ +PT +hD +Cc +Cg +Li +nR +jR +yE +TD +ee +dw +sF +jI +Wd +iY +Li +VW +HF +je mC mC mC @@ -12128,21 +13243,6 @@ mC mC mC mC -wL -sL -Ob -uW -YR -gz -LD -fk -wL -Ru -lH -nz -LP -ar -wL mC mC mC @@ -12181,6 +13281,8 @@ mC mC mC mC +"} +(43,1,1) = {" mC mC mC @@ -12189,8 +13291,6 @@ mC mC mC mC -"} -(53,1,1) = {" mC mC mC @@ -12208,6 +13308,48 @@ mC mC mC mC +HD +HD +HD +HD +hq +hq +hq +hq +HD +HD +NK +YL +NK +NK +ow +DW +NK +Rs +LH +bn +NK +bS +eU +VP +NQ +Cc +MD +jj +Bf +dn +fP +mb +IE +hS +PO +ZM +Oy +au +FB +YD +qv +je mC mC mC @@ -12241,31 +13383,6 @@ mC mC mC mC -nU -nU -nU -nU -nU -wL -wL -wL -wL -wL -wL -rG -Xp -rK -kQ -yM -Hb -sO -wL -mF -fM -Gc -LP -Uy -wL mC mC mC @@ -12287,6 +13404,8 @@ mC mC mC mC +"} +(44,1,1) = {" mC mC mC @@ -12312,8 +13431,48 @@ mC mC mC mC -"} -(54,1,1) = {" +HD +HD +HD +HD +HD +hq +hq +hq +HD +NK +NK +gC +wq +NK +eD +Mq +NK +fw +ZG +Xg +NK +NK +Ak +NK +NK +Cc +ZM +ZM +ZM +ZM +ZM +Ut +ZM +ZM +ZM +ZM +ZM +ZM +Cc +Cc +Cc +Cc mC mC mC @@ -12363,37 +13522,13 @@ mC mC mC mC -nU -nU -dC -nU -cl -pV -wL -rj -nz -cc -YE -wL -vX -GK -mp -wL -vr -LD -GU -wL -NT -Nc -kP -LP -vn -wL mC mC mC mC mC +"} +(45,1,1) = {" mC mC mC @@ -12419,6 +13554,52 @@ mC mC mC mC +HD +HD +HD +HD +HD +NK +YL +NK +NK +NK +Ui +IN +mf +NK +zY +Qg +NK +qb +Qv +tG +aE +gA +cR +TG +rW +NK +Uf +yB +Ji +AU +UI +WZ +lh +pm +pm +pm +ga +ga +rZ +ZN +Yd +HD +HD +HD +HD +HD mC mC mC @@ -12435,8 +13616,6 @@ mC mC mC mC -"} -(55,1,1) = {" mC mC mC @@ -12471,6 +13650,8 @@ mC mC mC mC +"} +(46,1,1) = {" mC mC mC @@ -12486,32 +13667,6 @@ mC mC mC mC -nU -kg -wm -nU -WM -Df -wL -nz -ZE -cs -Rv -wL -kR -nK -qT -wL -HR -or -cg -wL -lW -cy -bI -Dz -Mz -wL mC mC mC @@ -12523,6 +13678,52 @@ mC mC mC mC +HD +HD +HD +HD +NK +LR +LR +LR +NK +NK +QZ +kE +NK +NK +YF +hz +nL +oN +xu +NK +Ef +TZ +If +at +lq +Wm +tA +vB +rj +rj +xM +XQ +Hi +BJ +AN +Hi +BJ +zL +sk +Yd +aI +aI +aI +aI +HD +HD mC mC mC @@ -12532,6 +13733,8 @@ mC mC mC mC +HD +HD mC mC mC @@ -12558,8 +13761,6 @@ mC mC mC mC -"} -(56,1,1) = {" mC mC mC @@ -12572,6 +13773,8 @@ mC mC mC mC +"} +(47,1,1) = {" mC mC mC @@ -12598,6 +13801,53 @@ mC mC mC mC +HD +HD +HD +HD +NK +EP +mk +Vc +qX +RI +qX +Cf +Sd +BN +kM +NK +UG +NK +NK +NK +Kx +Kx +Kx +Kx +Kx +Kx +OG +Cn +Yd +dU +xZ +qD +qD +Po +MO +BE +Yd +tZ +ry +Yd +uv +wa +tr +aI +HD +HD +HD mC mC mC @@ -12605,36 +13855,14 @@ mC mC mC mC +HD +HD +HD +HD mC mC mC mC -nU -IY -vV -tC -rn -lS -wL -uc -HG -HG -Bj -wL -eL -XB -AI -wL -Pz -PE -cg -wL -wH -Uo -zX -De -Hp -wL mC mC mC @@ -12668,6 +13896,8 @@ mC mC mC mC +"} +(48,1,1) = {" mC mC mC @@ -12681,8 +13911,6 @@ mC mC mC mC -"} -(57,1,1) = {" mC mC mC @@ -12697,10 +13925,63 @@ mC mC mC mC +HD +HD +HD +NK +qx +zM +xm +NK +NK +NK +NK +Yl +Hv +FS +NK +ZU +Sd +oU +Hv +Kx +jg +DH +Qx +Hk +Kx +JE +AO +Yd +Yd +fI +fI +fI +fI +fI +Yd +Yd +GT +Cl +Yd +JW +km +Td +aI +aI +aI +em mC mC mC +HD +HD mC +HD +HD +HD +HD +HD mC mC mC @@ -12729,35 +14010,6 @@ mC mC mC mC -GM -GM -GM -GM -nU -nU -nU -yl -Df -wL -Ez -SC -uL -Xl -wL -wL -wL -wL -wL -dW -AC -Ix -wL -wL -wL -wL -wL -wL -wL mC mC mC @@ -12767,6 +14019,8 @@ mC mC mC mC +"} +(49,1,1) = {" mC mC mC @@ -12794,6 +14048,63 @@ mC mC mC mC +HD +HD +HD +NK +iD +kU +uE +NK +EX +tS +NK +NK +NK +NK +NK +ip +xu +Rg +Kx +Kx +Ml +aw +aw +zr +Kx +Ch +VM +Yd +rr +lA +wF +ai +hO +uD +cs +Yd +ZY +FH +Yd +aI +AM +sB +iw +rS +Zu +aI +Fq +Fq +aI +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -12804,8 +14115,6 @@ mC mC mC mC -"} -(58,1,1) = {" mC mC mC @@ -12833,6 +14142,8 @@ mC mC mC mC +"} +(50,1,1) = {" mC mC mC @@ -12852,33 +14163,6 @@ mC mC mC mC -GM -YI -rE -GM -Si -ki -Yb -Oa -TW -wL -Qj -vX -vX -Xl -wL -HP -AY -kA -Yd -XI -ia -XI -Yd -Rt -QA -EI -Yd mC mC mC @@ -12887,6 +14171,60 @@ mC mC mC mC +HD +HD +HD +NK +NK +nb +NK +NK +rT +kd +wk +dN +xQ +lE +NK +Ta +fq +WS +LU +RU +Nv +ta +JV +um +Kx +Ss +tl +pC +YN +uD +hO +to +ai +uD +uD +Yd +xo +xJ +uX +aI +Ne +pt +et +FJ +UU +aI +pG +ky +aI +HD +HD +HD +HD +HD mC mC mC @@ -12928,7 +14266,7 @@ mC mC mC "} -(59,1,1) = {" +(51,1,1) = {" mC mC mC @@ -12957,6 +14295,60 @@ mC mC mC mC +HD +HD +HD +NK +it +JF +NK +Rg +NK +NK +NK +NK +PS +NK +NK +NK +WS +Kx +cm +Is +Rr +wX +fi +oK +AS +we +Yd +Tb +uD +uD +ai +ai +Xm +lA +Yd +TE +Zh +WV +aI +lk +rg +jU +MF +nT +aI +HL +Sr +aI +HD +HD +HD +HD +mC +mC mC mC mC @@ -12975,33 +14367,6 @@ mC mC mC mC -GM -nZ -oz -tH -sG -ZS -ri -HC -Df -wL -mz -Eo -jH -Xl -wL -DU -vL -Fu -Eg -IU -qQ -EG -Eg -dD -Gu -DQ -Yd mC mC mC @@ -13023,6 +14388,11 @@ mC mC mC mC +"} +(52,1,1) = {" +mC +mC +mC mC mC mC @@ -13048,10 +14418,59 @@ mC mC mC mC +HD +HD +HD +NK +aB +KI +PF +TT +NK +mU +Gn +NK +Rg +Hv +hk +NK +Rg +Kx +Kx +pl +pj +RJ +Tx +Kx +on +LX +Yd +Yd +fI +fI +fI +fI +fI +Yd +Yd +uW +Zh +gz +aI +fk +SG +Ru +lH +sV +LP +ar +XZ +aI +HD +HD +HD mC mC -"} -(60,1,1) = {" mC mC mC @@ -13092,39 +14511,14 @@ mC mC mC mC +"} +(53,1,1) = {" mC mC mC mC mC mC -GM -GM -GM -GM -Zx -Th -qs -Gq -LK -wL -bE -zv -mA -Qn -wL -ex -RN -GL -hG -cU -Kt -Ij -hG -Bs -MA -pl -Yd mC mC mC @@ -13147,6 +14541,56 @@ mC mC mC mC +HD +HD +HD +NK +Zo +EP +Wl +Hl +NK +LH +LH +NK +Rg +Br +lo +Dq +kM +LH +Kx +Ic +Zv +LB +LB +Kx +tt +Ph +Yd +dO +oT +Ts +Ts +Ts +bq +rG +Yd +rK +kQ +Yd +aI +sO +aI +aI +aI +aI +aI +aI +aI +aI +HD +HD mC mC mC @@ -13173,8 +14617,6 @@ mC mC mC mC -"} -(61,1,1) = {" mC mC mC @@ -13192,6 +14634,8 @@ mC mC mC mC +"} +(54,1,1) = {" mC mC mC @@ -13219,40 +14663,57 @@ mC mC mC mC -GM -GM -GM -gP -qH -nU -nU -nU -nU -gb -nU -wL -wL -VG -Bp -wL -wL -Yd -xs -OY -Yd -KW -zS -zS -Yd -iQ -jx -vT -Yd -Yd -Yd -Yd -Yd mC +HD +HD +HD +NK +NK +NK +NK +NK +NK +Ei +Kr +SY +wU +Sd +kM +NK +wq +LH +Kx +mm +Ic +ua +iH +Kx +KY +cl +LD +LD +rj +aU +cc +YE +uN +LD +GK +mp +yk +vr +sz +GU +VO +NT +Nc +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -13297,15 +14758,7 @@ mC mC mC "} -(62,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC +(55,1,1) = {" mC mC mC @@ -13333,6 +14786,58 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +HD +HD +HD +NK +ds +ci +NK +PS +NK +NK +NK +NK +NK +Kx +Kx +Kx +Kx +Kx +Kx +or +WM +Df +Kh +OM +ZE +ei +Rv +yR +Vg +nK +qT +Ua +HR +FQ +cg +HQ +NT +Nc +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -13342,42 +14847,6 @@ mC mC mC mC -GM -Md -Zg -QR -MB -KV -nU -En -HU -yu -mL -eg -Eg -ms -Jh -QT -sX -fD -nI -RV -Yd -ks -ks -sr -kH -RV -dK -Yd -Yd -AR -dS -Sa -GM -GM -GM -GM mC mC mC @@ -13411,6 +14880,8 @@ mC mC mC mC +"} +(56,1,1) = {" mC mC mC @@ -13419,8 +14890,6 @@ mC mC mC mC -"} -(63,1,1) = {" mC mC mC @@ -13440,6 +14909,59 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +HD +HD +NK +NK +NK +NK +NK +Gk +UP +nY +WH +EP +Mw +NK +Yl +NK +bc +IY +vV +tC +LL +LL +LL +LL +jL +HG +Bj +Yd +cq +cq +AI +cq +cq +cq +KF +gq +gq +gq +HD +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -13465,42 +14987,6 @@ mC mC mC mC -lb -KZ -GM -uQ -Lx -Xr -wB -kF -Mr -fc -aC -CL -Jr -It -wn -Jr -St -AK -Xx -DY -Yd -ks -ks -ks -kH -Ao -Vq -qt -CR -mt -Dg -RF -mQ -IA -wx -GM mC mC mC @@ -13517,6 +15003,8 @@ mC mC mC mC +"} +(57,1,1) = {" mC mC mC @@ -13542,9 +15030,63 @@ mC mC mC mC -"} -(64,1,1) = {" mC +HD +HD +HD +HD +HD +HD +HD +HD +HD +NK +mV +On +hg +NK +uu +NK +nb +Vr +XF +rC +NK +Au +NK +GM +CU +LL +LL +LL +XE +XE +Ez +SC +uL +Xl +wN +cq +yc +bs +cq +dl +cq +Ix +Ai +CK +gq +gq +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -13584,46 +15126,12 @@ mC mC mC mC +"} +(58,1,1) = {" mC mC mC mC -GM -QL -GM -GS -nd -KV -nU -im -jM -JB -aH -JX -Lj -AU -ls -uy -sX -fD -nI -LD -Yd -ks -ks -ks -kH -DV -jx -Yr -jl -Ty -em -Xm -te -LO -KU -GM mC mC mC @@ -13645,6 +15153,63 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +NK +Wc +Vx +BA +mr +cI +NK +xK +NK +LH +LH +LH +YI +NK +od +Si +LL +XE +Oa +XE +Om +Ez +kR +vX +ug +Yj +cq +zS +kA +zI +Ls +cq +XI +la +Rt +QA +gq +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -13665,8 +15230,6 @@ mC mC mC mC -"} -(65,1,1) = {" mC mC mC @@ -13686,6 +15249,8 @@ mC mC mC mC +"} +(59,1,1) = {" mC mC mC @@ -13711,42 +15276,64 @@ mC mC mC mC -GM -GM -GM -GS -Ni -JU -wL -wL -wL -SV -wL -wL -wL -YV -qZ -wL -wL -Yd -Ap -OY -Yd -Mt -Mt -Mt -Yd -tU -Yd -Yd +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +NK +vH +pp +Uv +NK +NK +NK +xK +NK +NK +LH +NK +nZ +NK +tH +sG +LL +vR +SE +XE +XE +Ez +Eo +jH +Ci Yd -OC -zG -Zr -GM -GM -GM -GM +cq +cq +cq +sP +Mu +DV +EG +Eg +dD +Gu +gq +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +mC mC mC mC @@ -13785,11 +15372,11 @@ mC mC mC mC +"} +(60,1,1) = {" mC mC mC -"} -(66,1,1) = {" mC mC mC @@ -13811,9 +15398,64 @@ mC mC mC mC +HD +HD +HD +HD mC mC mC +HD +HD +HD +HD +NK +NK +NK +NK +NK +Hv +Hv +NF +WO +NK +NK +Th +Th +Th +Th +Zx +Th +CL +XE +LK +SE +LL +zv +mA +Qn +zg +ks +ks +GL +cq +IU +cq +cq +cq +cq +cq +cq +IW +HD +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -13836,37 +15478,6 @@ mC mC mC mC -nU -cV -nU -ag -wL -bg -fv -GG -GB -wL -oC -sH -iI -OH -wL -FF -bs -ac -Hl -cU -Ct -yp -xr -sm -tv -pw -Yd -Yd -Yd -Yd -Yd mC mC mC @@ -13884,6 +15495,8 @@ mC mC mC mC +"} +(61,1,1) = {" mC mC mC @@ -13907,13 +15520,65 @@ mC mC mC mC +HD +HD +HD +HD mC mC mC mC -"} -(67,1,1) = {" mC +HD +HD +HD +HD +HD +HD +HD +NK +Pe +Hv +JS +Vf +Gb +sf +Th +gP +qH +Fv +rU +Th +XE +gb +nU +EC +LL +VG +Bp +fE +zg +ks +ks +ks +cq +KW +Ks +zS +cq +iQ +jx +vT +IW +HD +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -13953,41 +15618,14 @@ mC mC mC mC +"} +(62,1,1) = {" mC mC mC mC mC mC -nU -vZ -nU -Ip -wL -bL -CI -xi -Jl -wL -ST -eq -TA -He -wL -WW -Ty -lX -YC -ls -Sn -nM -Bx -XS -Cj -yg -Yd -cZ -Yd mC mC mC @@ -14004,6 +15642,10 @@ mC mC mC mC +HD +HD +HD +HD mC mC mC @@ -14011,6 +15653,54 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +NK +FS +Hv +Wa +Px +MM +Md +Th +QR +MB +KV +Th +Th +XE +CL +XE +XE +LL +ms +Bp +QT +zg +ks +ks +ks +cq +Mt +Us +So +cq +RV +dK +uV +IW +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -14034,8 +15724,6 @@ mC mC mC mC -"} -(68,1,1) = {" mC mC mC @@ -14053,6 +15741,8 @@ mC mC mC mC +"} +(63,1,1) = {" mC mC mC @@ -14075,6 +15765,8 @@ mC mC mC mC +HD +HD mC mC mC @@ -14082,40 +15774,55 @@ mC mC mC mC -nU -nU -nU -nU -wL -wL -gF -PA -oe -wL -DJ -AL -Lu -hA -wL -jd -Od -lx -Yd -rD -FN -rD -Yd -xy -np -sn -Yd -Yd -Yd mC mC mC +HD +HD +HD +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +KZ +Th +uQ +MB +Xr +Th +SE +SE +XE +SE +CL +Ez +It +wn +Jr +cq +cq +cq +cq +cq +ER +XP +cq +cq +Ao +Vq +IW +IW +HD +HD +HD mC mC +HD +HD mC mC mC @@ -14158,7 +15865,7 @@ mC mC mC "} -(69,1,1) = {" +(64,1,1) = {" mC mC mC @@ -14192,6 +15899,52 @@ mC mC mC mC +HD +HD +HD +HD +Uw +DP +dg +ny +tE +Yt +vI +Xv +QL +cV +GS +nd +ie +Th +Wf +jM +JX +nU +JX +Ez +AU +ls +uy +cq +gR +sn +lB +om +sR +Rh +gR +cq +DV +IW +IW +cq +cq +cq +HD +HD +mC +mC mC mC mC @@ -14210,28 +15963,6 @@ mC mC mC mC -wL -rM -nc -IB -wL -Zm -Qc -HZ -YX -wL -Yd -Yd -Yd -Uw -jC -bJ -jC -Uw -Yd -Yd -Yd -Yd mC mC mC @@ -14256,6 +15987,8 @@ mC mC mC mC +"} +(65,1,1) = {" mC mC mC @@ -14280,8 +16013,6 @@ mC mC mC mC -"} -(70,1,1) = {" mC mC mC @@ -14290,6 +16021,51 @@ mC mC mC mC +HD +HD +HD +HD +HD +Uw +kT +zo +UC +UC +UC +rN +oS +hb +cV +rR +Ni +JU +Th +ph +SE +SV +ic +Vp +Ez +UI +Sk +zb +cq +sn +wR +OY +hs +FY +XP +Mt +cq +tU +hj +cK +TU +OC +cq +HD +HD mC mC mC @@ -14333,24 +16109,22 @@ mC mC mC mC -wL -hB -FU -Ka -wL -Jw -Ky -Ky -yj -wL -Uw -oR -YB -Rb -jC -Xk -Kz -Uw +mC +"} +(66,1,1) = {" +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC mC mC mC @@ -14368,6 +16142,55 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +HD +Uw +FI +zC +Tr +tT +tT +jK +qq +md +cV +cV +Th +ag +Th +LL +LL +LL +GB +LL +LL +sH +iI +OH +cq +FF +cq +cq +cq +cq +Ct +cq +cq +sm +tv +cq +IH +kx +cq +HD +HD +HD +mC mC mC mC @@ -14403,8 +16226,6 @@ mC mC mC mC -"} -(71,1,1) = {" mC mC mC @@ -14412,6 +16233,8 @@ mC mC mC mC +"} +(67,1,1) = {" mC mC mC @@ -14443,6 +16266,53 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +Uw +fR +zC +KS +uz +UB +Yw +Yw +UT +TM +vZ +uj +Ip +IM +bL +CI +xr +uA +GQ +GQ +eq +TA +He +cq +WW +cq +lX +YC +cq +Sn +nM +cq +XS +cq +cq +cq +cq +cq +HD +HD +HD mC mC mC @@ -14456,26 +16326,6 @@ mC mC mC mC -wL -wL -wL -wL -wL -wL -wL -wL -wL -wL -Uw -Uw -Uw -Uw -pA -KJ -pA -Uw -Uw -Uw mC mC mC @@ -14506,6 +16356,8 @@ mC mC mC mC +"} +(68,1,1) = {" mC mC mC @@ -14526,8 +16378,6 @@ mC mC mC mC -"} -(72,1,1) = {" mC mC mC @@ -14538,6 +16388,54 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +HD +Uw +jo +zC +KS +eG +sl +xf +xf +Vv +op +cG +Xz +wC +dW +hJ +QY +EH +gr +QY +QY +AL +Lu +hA +cq +jd +cq +lx +Mt +cq +FN +rD +Mm +xy +np +sn +cq +HD +HD +HD +HD +HD mC mC mC @@ -14581,6 +16479,8 @@ mC mC mC mC +"} +(69,1,1) = {" mC mC mC @@ -14590,15 +16490,6 @@ mC mC mC mC -Uw -pF -Fa -pA -KJ -pA -Yv -jn -Uw mC mC mC @@ -14620,6 +16511,54 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +HD +Uw +Ms +oS +cr +yS +tN +VQ +CV +wv +WR +gW +uj +qA +Zm +yV +rM +nc +IB +uU +Zm +Qc +HZ +YX +cq +sn +ER +zS +Mt +cq +bJ +jC +tm +wi +np +hY +cq +HD +HD +HD +HD +HD mC mC mC @@ -14649,8 +16588,6 @@ mC mC mC mC -"} -(73,1,1) = {" mC mC mC @@ -14665,6 +16602,8 @@ mC mC mC mC +"} +(70,1,1) = {" mC mC mC @@ -14696,6 +16635,53 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +Uw +Yu +Dm +eQ +mN +dZ +oS +gZ +Uw +Uw +Uw +LL +Uq +Aw +LL +wL +wL +wL +wL +wL +BM +Ky +yj +wK +wK +wK +wK +Rb +cq +cq +Kz +cq +cq +cq +cq +cq +HD +HD +HD +HD +HD mC mC mC @@ -14712,17 +16698,6 @@ mC mC mC mC -Uw -Uw -UE -LL -pA -KJ -pA -LL -mT -Uw -Uw mC mC mC @@ -14750,6 +16725,8 @@ mC mC mC mC +"} +(71,1,1) = {" mC mC mC @@ -14772,8 +16749,6 @@ mC mC mC mC -"} -(74,1,1) = {" mC mC mC @@ -14784,6 +16759,51 @@ mC mC mC mC +HD +HD +HD +HD +HD +Uw +uw +qN +UB +UB +gT +FE +VN +Uw +HD +HD +LL +LL +LL +LL +wL +aM +Tg +aM +wL +rm +Kl +hW +iV +Gi +WC +Fx +Zk +cq +KJ +pA +Mt +Mt +tk +Ap +cq +HD +HD +HD +HD mC mC mC @@ -14828,26 +16848,13 @@ mC mC mC mC +"} +(72,1,1) = {" mC mC mC mC mC -Uw -Uw -Uw -iV -LL -LL -pA -KJ -pA -LL -LL -yV -Uw -Uw -Uw mC mC mC @@ -14875,6 +16882,50 @@ mC mC mC mC +HD +HD +HD +HD +HD +Uw +PI +js +UB +yv +Sl +gO +aq +Uw +HD +HD +HD +HD +HD +HD +wL +xI +kh +ev +wL +Qa +LY +wu +iV +ZP +tj +pF +Fa +wK +Kd +KC +IJ +jn +yQ +bC +cq +HD +HD +HD mC mC mC @@ -14895,8 +16946,6 @@ mC mC mC mC -"} -(75,1,1) = {" mC mC mC @@ -14922,6 +16971,8 @@ mC mC mC mC +"} +(73,1,1) = {" mC mC mC @@ -14955,25 +17006,50 @@ mC mC mC mC +HD +HD +HD +HD Uw +NI +CV +Yw +Di +uk +gO +rP Uw -gf -mg -GQ -Ko -Xn -pA -gs -pA -Ko -QD -Wz -xm -Hx -Uw -Uw -mC -mC +HD +HD +HD +HD +HD +HD +wL +aM +kh +nz +wL +Fi +qR +wu +iV +Pw +AW +UE +UZ +wK +RW +Iv +Ke +mT +Um +va +cq +HD +HD +HD +HD mC mC mC @@ -15019,9 +17095,7 @@ mC mC mC "} -(76,1,1) = {" -mC -mC +(74,1,1) = {" mC mC mC @@ -15056,6 +17130,49 @@ mC mC mC mC +HD +HD +HD +Uw +Oi +Dp +tI +tI +RO +gO +BZ +Uw +HD +HD +HD +HD +HD +HD +wL +HB +IS +vd +lG +LS +DF +Lg +wK +iV +iV +wK +Ht +wK +DL +sn +aZ +Pm +sn +tk +cq +HD +HD +HD +HD mC mC mC @@ -15077,25 +17194,6 @@ mC mC mC mC -Uw -Uw -gr -QY -QY -EH -PG -PG -ey -Jo -fj -VR -VR -DA -RG -RG -Ku -Uw -Uw mC mC mC @@ -15119,6 +17217,8 @@ mC mC mC mC +"} +(75,1,1) = {" mC mC mC @@ -15141,8 +17241,6 @@ mC mC mC mC -"} -(77,1,1) = {" mC mC mC @@ -15156,6 +17254,48 @@ mC mC mC mC +HD +HD +Uw +OO +oS +ca +ca +ca +fd +bi +Uw +HD +HD +HD +HD +HD +wL +wL +wL +wL +wL +wL +go +nt +jO +gf +GQ +GQ +Ko +Xn +cq +cq +Wz +Wz +Wz +Wz +cq +cq +HD +HD +HD +HD mC mC mC @@ -15200,25 +17340,10 @@ mC mC mC mC -Uw -Yv -kb -LL -Fa -Ze -iG -iG -mB -RY -Ju -iG -iG -Wt -Yv -kb -LL -Fa -Uw +"} +(76,1,1) = {" +mC +mC mC mC mC @@ -15248,6 +17373,53 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +Uw +hM +CX +CX +Ca +aP +CX +aX +Uw +HD +HD +HD +wL +wL +wL +rv +rb +Bt +Xy +Jp +Sq +Yq +Rc +OP +QY +EH +Nu +PG +ey +Jo +DA +DA +DA +DA +fN +RG +HD +HD +HD +HD +HD mC mC mC @@ -15264,8 +17436,6 @@ mC mC mC mC -"} -(78,1,1) = {" mC mC mC @@ -15293,6 +17463,8 @@ mC mC mC mC +"} +(77,1,1) = {" mC mC mC @@ -15323,27 +17495,54 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +HD Uw -Am -LL -LL -QD +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +HD +HD +HD +wL +dP +bA +fG +yN +XA +di +wL +Wv +vp +kb +XD +pr Ze -iG -iG -lK -FM -iF -iG +aS +pn +mB +RY +Wt +Ay iG Wt -cW -LL -LL -dt -Uw -mC -mC +Yv +RG +HD +HD +HD +HD +HD mC mC mC @@ -15388,7 +17587,7 @@ mC mC mC "} -(79,1,1) = {" +(78,1,1) = {" mC mC mC @@ -15420,7 +17619,54 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD mC +nq +Cp +NV +fG +mv +SW +xk +wL +pS +Am +wL +wL +wL +wL +wL +dL +wL +LL +LL +LL +LL +LL +LL +LL +HD +HD +HD +HD +HD +HD mC mC mC @@ -15446,25 +17692,6 @@ mC mC mC mC -Uw -EW -pA -pA -pA -Ze -iG -xc -LG -Kn -EK -pe -iG -Eh -Cd -Cd -Cd -gm -Uw mC mC mC @@ -15482,6 +17709,8 @@ mC mC mC mC +"} +(79,1,1) = {" mC mC mC @@ -15510,14 +17739,57 @@ mC mC mC mC -"} -(80,1,1) = {" mC mC mC mC mC +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD mC +nq +pg +pg +fG +rp +gt +ev +wL +wL +wL +wL +Le +Le +Bc +mW +xc +wL +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -15560,6 +17832,8 @@ mC mC mC mC +"} +(80,1,1) = {" mC mC mC @@ -15569,25 +17843,6 @@ mC mC mC mC -Uw -Pu -Lz -cC -fZ -Ze -iG -Qw -cz -cz -cz -Vh -iG -hI -vu -lC -cC -lC -Uw mC mC mC @@ -15612,9 +17867,48 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +HD +HD +em +HD +HD +HD +HD mC mC mC +nq +nq +wL +MI +eE +hX +lb +Rx +lY +Le +Lh +Le +fZ +Gv +wL +wL +wL +HD +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -15633,8 +17927,6 @@ mC mC mC mC -"} -(81,1,1) = {" mC mC mC @@ -15663,6 +17955,8 @@ mC mC mC mC +"} +(81,1,1) = {" mC mC mC @@ -15692,42 +17986,51 @@ mC mC mC mC -Uw -Vg -QP -cC -Bh -Ze -iG -Qw -cz -jp -cz -Vh -iG -hI -bk -QP -cC -Tt -Uw mC mC mC mC +HD +HD mC +HD mC mC mC mC +rt mC mC mC mC mC +NH mC mC mC +wL +Et +bY +wL +wL +wL +Bd +Me +wL +wL +wL +No +wL +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -15756,8 +18059,6 @@ mC mC mC mC -"} -(82,1,1) = {" mC mC mC @@ -15777,6 +18078,8 @@ mC mC mC mC +"} +(82,1,1) = {" mC mC mC @@ -15809,35 +18112,47 @@ mC mC mC mC +HD +HD mC mC mC mC mC +NH +NH +NH +NH +NH mC -Uw -dY -Pj -cC -Do -Ze -iG -Qw -cz -cz -cz -Vh -iG -hI -qc -JL -cC -TY -Uw mC mC +NH mC mC +HD +wL +wL +wL +wL +HD +wL +XV +XV +qW +wL +Do +SS +wL +HD +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -15879,8 +18194,6 @@ mC mC mC mC -"} -(83,1,1) = {" mC mC mC @@ -15888,6 +18201,8 @@ mC mC mC mC +"} +(83,1,1) = {" mC mC mC @@ -15919,6 +18234,8 @@ mC mC mC mC +HD +HD mC mC mC @@ -15933,30 +18250,35 @@ mC mC mC mC +NH +rt +em +HD +HD +HD +HD +HD +HD +wL +wL +wL +wL +wL +wL +wL +wL +HD +HD +HD +HD +HD +HD +HD mC mC mC mC mC -Uw -oi -RG -RG -RG -gU -bv -sd -fh -fQ -fh -MN -bv -BQ -QY -QY -QY -mO -Uw mC mC mC @@ -16051,7 +18373,28 @@ mC mC mC mC +NH mC +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD mC mC mC @@ -16061,27 +18404,6 @@ mC mC mC mC -Uw -iL -LL -LL -Fa -ya -Yv -YQ -Lr -Eq -bt -da -Fa -EM -Yv -LL -LL -re -Uw -mC -mC mC mC mC @@ -16176,6 +18498,25 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +mC +mC mC mC mC @@ -16184,25 +18525,6 @@ mC mC mC mC -Uw -Ko -WI -LL -qi -ya -LL -su -VE -zW -Re -an -LL -EM -Ko -kb -kb -QD -Uw mC mC mC @@ -16297,6 +18619,25 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +HD +mC +mC +mC mC mC mC @@ -16307,25 +18648,6 @@ mC mC mC mC -Uw -Uw -qP -Cd -Cd -VV -LL -su -cC -cC -cC -an -LL -gX -Cd -hv -yy -Uw -Uw mC mC mC @@ -16419,6 +18741,23 @@ mC mC mC mC +HD +HD +HD +HD +HD +mC +mC +mC +HD +HD +mC +mC +HD +HD +HD +mC +mC mC mC mC @@ -16431,23 +18770,6 @@ mC mC mC mC -Uw -Uw -Hx -jk -QK -Ko -hx -Qe -cC -cC -lz -Oj -EM -jk -zp -Uw -Uw mC mC mC @@ -16541,6 +18863,21 @@ mC mC mC mC +HD +HD +HD +HD +HD +HD +mC +mC +mC +mC +mC +mC +mC +mC +mC mC mC mC @@ -16555,21 +18892,6 @@ mC mC mC mC -Uw -Uw -Uw -mG -Ac -ID -wr -cC -Ud -ME -oV -KD -Uw -Uw -Uw mC mC mC @@ -16666,6 +18988,17 @@ mC mC mC mC +HD +HD +HD +mC +mC +mC +mC +mC +mC +mC +mC mC mC mC @@ -16680,17 +19013,6 @@ mC mC mC mC -Uw -Uw -LI -lP -py -NX -rF -pY -tK -Uw -Uw mC mC mC @@ -16790,6 +19112,15 @@ mC mC mC mC +HD +HD +mC +mC +mC +mC +mC +mC +mC mC mC mC @@ -16804,15 +19135,6 @@ mC mC mC mC -Uw -Uw -Uw -Uw -Uw -Uw -Uw -Uw -Uw mC mC mC diff --git a/_maps/outpost/nanotrasen_asteroid.dmm b/_maps/outpost/nanotrasen_asteroid.dmm index e127c600d71e..39a1808839b2 100644 --- a/_maps/outpost/nanotrasen_asteroid.dmm +++ b/_maps/outpost/nanotrasen_asteroid.dmm @@ -580,16 +580,13 @@ pixel_y = -3 }, /obj/item/toy/plush/beeplushie, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 5 - }, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 6 - }, /obj/item/reagent_containers/food/drinks/mug/tea{ pixel_y = -14; pixel_x = -4 }, +/obj/effect/turf_decal/weather/snow/surround{ + dir = 4 + }, /turf/open/floor/plating/asteroid/snow/under/lit, /area/outpost/external) "cm" = ( @@ -998,7 +995,7 @@ /area/outpost/maintenance/fore) "dO" = ( /obj/effect/turf_decal/snow, -/obj/effect/turf_decal/weather/snow/corner{ +/obj/effect/turf_decal/weather/snow{ dir = 8 }, /turf/open/floor/concrete/reinforced, @@ -3253,7 +3250,7 @@ pixel_y = 3; pixel_x = -1 }, -/obj/effect/turf_decal/weather/snow/corner{ +/obj/effect/turf_decal/weather/snow{ dir = 9 }, /turf/open/floor/plating/asteroid/snow/under/lit, @@ -6619,7 +6616,7 @@ /area/outpost/hallway/central) "xk" = ( /obj/structure/bonfire/prelit, -/obj/effect/turf_decal/weather/snow/corner{ +/obj/effect/turf_decal/weather/snow{ dir = 1 }, /turf/open/floor/plating/asteroid/snow/under/lit, @@ -9282,7 +9279,7 @@ pixel_y = 5; pixel_x = 1 }, -/obj/effect/turf_decal/weather/snow/corner{ +/obj/effect/turf_decal/weather/snow{ dir = 10 }, /turf/open/floor/plating/asteroid/snow/under/lit, @@ -11618,13 +11615,13 @@ /turf/open/floor/concrete/slab_3, /area/outpost/hallway/central) "Os" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 6 - }, /obj/item/shovel, /obj/item/flashlight/lantern{ pixel_x = 7 }, +/obj/effect/turf_decal/weather/snow{ + dir = 6 + }, /turf/open/floor/plating/asteroid/snow/under/lit, /area/outpost/external) "Ot" = ( diff --git a/_maps/shuttles/shiptest/independent_beluga.dmm b/_maps/shuttles/independent/independent_beluga.dmm similarity index 99% rename from _maps/shuttles/shiptest/independent_beluga.dmm rename to _maps/shuttles/independent/independent_beluga.dmm index 16a771d5be54..67d686bd4faa 100644 --- a/_maps/shuttles/shiptest/independent_beluga.dmm +++ b/_maps/shuttles/independent/independent_beluga.dmm @@ -647,6 +647,7 @@ /obj/item/clothing/head/hopcap, /obj/item/gun/energy/e_gun/mini, /obj/item/clothing/head/HoS/cowboy, +/obj/item/clothing/suit/jacket/leather/duster/command, /turf/open/floor/plasteel/dark, /area/ship/bridge) "ge" = ( @@ -3504,10 +3505,9 @@ pixel_x = -28 }, /obj/item/clothing/under/rank/command/captain, -/obj/item/clothing/under/rank/command/lieutenant, +/obj/item/clothing/under/rank/command, /obj/item/clothing/shoes/laceup, /obj/item/clothing/shoes/cowboy/black, -/obj/item/clothing/suit/armor/vest/capcarapace/alt, /obj/item/clothing/suit/armor/vest/capcarapace/duster, /obj/item/clothing/head/beret/captain, /obj/item/clothing/head/caphat, @@ -3521,6 +3521,7 @@ /obj/item/areaeditor/shuttle, /obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, /obj/item/clothing/head/caphat/cowboy, +/obj/item/clothing/suit/armor/vest/capcarapace/captunic, /turf/open/floor/wood/walnut, /area/ship/bridge) "Hv" = ( diff --git a/_maps/shuttles/shiptest/independent_box.dmm b/_maps/shuttles/independent/independent_box.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_box.dmm rename to _maps/shuttles/independent/independent_box.dmm diff --git a/_maps/shuttles/shiptest/independent_boyardee.dmm b/_maps/shuttles/independent/independent_boyardee.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_boyardee.dmm rename to _maps/shuttles/independent/independent_boyardee.dmm diff --git a/_maps/shuttles/shiptest/independent_bubble.dmm b/_maps/shuttles/independent/independent_bubble.dmm similarity index 98% rename from _maps/shuttles/shiptest/independent_bubble.dmm rename to _maps/shuttles/independent/independent_bubble.dmm index 6e37d1b244e8..32efe563c0bb 100644 --- a/_maps/shuttles/shiptest/independent_bubble.dmm +++ b/_maps/shuttles/independent/independent_bubble.dmm @@ -650,13 +650,14 @@ /turf/open/floor/plasteel/mono, /area/ship/hallway/central) "AR" = ( -/obj/machinery/door/airlock/external, -/obj/docking_port/mobile{ - launch_status = 0; - port_direction = 4 +/obj/docking_port/stationary{ + width = 30; + height = 15; + dwidth = 15; + dir = 2 }, -/turf/open/floor/plating, -/area/ship/engineering) +/turf/template_noop, +/area/space) "AU" = ( /obj/machinery/cryopod{ dir = 4 @@ -955,6 +956,18 @@ }, /turf/open/floor/plating/rust, /area/ship/maintenance/aft) +"Nf" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/docking_port/mobile{ + launch_status = 0; + port_direction = 8; + preferred_direction = 4; + dir = 2 + }, +/turf/open/floor/plating, +/area/ship/external) "NN" = ( /obj/structure/frame/computer{ dir = 4 @@ -1278,6 +1291,7 @@ VB VB VB VB +VB "} (2,1,1) = {" VB @@ -1297,6 +1311,7 @@ VB VB VB VB +VB "} (3,1,1) = {" VB @@ -1316,6 +1331,7 @@ VB VB VB VB +VB "} (4,1,1) = {" VB @@ -1335,6 +1351,7 @@ Ob VB VB VB +VB "} (5,1,1) = {" VB @@ -1354,6 +1371,7 @@ Ob VB VB VB +VB "} (6,1,1) = {" VB @@ -1373,6 +1391,7 @@ nH nH VB VB +VB "} (7,1,1) = {" VB @@ -1392,6 +1411,7 @@ KG nH VB VB +VB "} (8,1,1) = {" VB @@ -1411,6 +1431,7 @@ eT nH VB VB +VB "} (9,1,1) = {" VB @@ -1430,6 +1451,7 @@ fs vR xX VB +VB "} (10,1,1) = {" VB @@ -1449,6 +1471,7 @@ kW nH NX VB +VB "} (11,1,1) = {" Xn @@ -1468,9 +1491,10 @@ IL Vt Rk MJ +VB "} (12,1,1) = {" -gl +Nf Gl ec nS @@ -1486,6 +1510,7 @@ cH Ls ZQ cG +ZQ AR "} (13,1,1) = {" @@ -1506,6 +1531,7 @@ UC Vt mY MJ +VB "} (14,1,1) = {" VB @@ -1525,6 +1551,7 @@ MJ MJ VB VB +VB "} (15,1,1) = {" VB @@ -1544,6 +1571,7 @@ zy VB VB VB +VB "} (16,1,1) = {" VB @@ -1563,6 +1591,7 @@ zy VB VB VB +VB "} (17,1,1) = {" VB @@ -1582,6 +1611,7 @@ VB VB VB VB +VB "} (18,1,1) = {" VB @@ -1601,4 +1631,25 @@ VB VB VB VB +VB +"} +(19,1,1) = {" +VB +VB +VB +VB +VB +VB +VB +VB +VB +VB +VB +VB +VB +VB +VB +VB +VB +VB "} diff --git a/_maps/shuttles/shiptest/independent_byo.dmm b/_maps/shuttles/independent/independent_byo.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_byo.dmm rename to _maps/shuttles/independent/independent_byo.dmm diff --git a/_maps/shuttles/shiptest/independent_caravan.dmm b/_maps/shuttles/independent/independent_caravan.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_caravan.dmm rename to _maps/shuttles/independent/independent_caravan.dmm diff --git a/_maps/shuttles/shiptest/independent_dwayne.dmm b/_maps/shuttles/independent/independent_dwayne.dmm similarity index 99% rename from _maps/shuttles/shiptest/independent_dwayne.dmm rename to _maps/shuttles/independent/independent_dwayne.dmm index 6f86b626025b..645b3a652960 100644 --- a/_maps/shuttles/shiptest/independent_dwayne.dmm +++ b/_maps/shuttles/independent/independent_dwayne.dmm @@ -1552,8 +1552,9 @@ /obj/effect/turf_decal/corner/opaque/blue/half{ dir = 1 }, -/obj/item/clothing/head/caphat/cowboy, /obj/item/radio/intercom/wideband/directional/east, +/obj/item/clothing/suit/armor/vest/capcarapace/duster, +/obj/item/clothing/head/caphat/cowboy, /turf/open/floor/plasteel/dark, /area/ship/bridge) "Ka" = ( diff --git a/_maps/shuttles/shiptest/independent_halftrack.dmm b/_maps/shuttles/independent/independent_halftrack.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_halftrack.dmm rename to _maps/shuttles/independent/independent_halftrack.dmm diff --git a/_maps/shuttles/shiptest/independent_junker.dmm b/_maps/shuttles/independent/independent_junker.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_junker.dmm rename to _maps/shuttles/independent/independent_junker.dmm diff --git a/_maps/shuttles/shiptest/independent_kilo.dmm b/_maps/shuttles/independent/independent_kilo.dmm similarity index 99% rename from _maps/shuttles/shiptest/independent_kilo.dmm rename to _maps/shuttles/independent/independent_kilo.dmm index 48c5487f6ebe..29264dd2958f 100644 --- a/_maps/shuttles/shiptest/independent_kilo.dmm +++ b/_maps/shuttles/independent/independent_kilo.dmm @@ -646,6 +646,7 @@ /obj/item/spacecash/bundle/c1000, /obj/item/spacecash/bundle/c1000, /obj/item/spacecash/bundle/c1000, +/obj/item/clothing/suit/armor/vest/capcarapace/duster, /turf/open/floor/carpet, /area/ship/crew) "da" = ( diff --git a/_maps/shuttles/shiptest/independent_lagoon.dmm b/_maps/shuttles/independent/independent_lagoon.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_lagoon.dmm rename to _maps/shuttles/independent/independent_lagoon.dmm diff --git a/_maps/shuttles/shiptest/independent_litieguai.dmm b/_maps/shuttles/independent/independent_litieguai.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_litieguai.dmm rename to _maps/shuttles/independent/independent_litieguai.dmm diff --git a/_maps/shuttles/shiptest/independent_masinyane.dmm b/_maps/shuttles/independent/independent_masinyane.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_masinyane.dmm rename to _maps/shuttles/independent/independent_masinyane.dmm diff --git a/_maps/shuttles/shiptest/independent_meta.dmm b/_maps/shuttles/independent/independent_meta.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_meta.dmm rename to _maps/shuttles/independent/independent_meta.dmm diff --git a/_maps/shuttles/shiptest/independent_mudskipper.dmm b/_maps/shuttles/independent/independent_mudskipper.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_mudskipper.dmm rename to _maps/shuttles/independent/independent_mudskipper.dmm diff --git a/_maps/shuttles/shiptest/independent_nemo.dmm b/_maps/shuttles/independent/independent_nemo.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_nemo.dmm rename to _maps/shuttles/independent/independent_nemo.dmm diff --git a/_maps/shuttles/shiptest/independent_pillbottle.dmm b/_maps/shuttles/independent/independent_pillbottle.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_pillbottle.dmm rename to _maps/shuttles/independent/independent_pillbottle.dmm diff --git a/_maps/shuttles/shiptest/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_rigger.dmm rename to _maps/shuttles/independent/independent_rigger.dmm diff --git a/_maps/shuttles/shiptest/independent_rube_goldberg.dmm b/_maps/shuttles/independent/independent_rube_goldberg.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_rube_goldberg.dmm rename to _maps/shuttles/independent/independent_rube_goldberg.dmm diff --git a/_maps/shuttles/shiptest/independent_schmiedeberg.dmm b/_maps/shuttles/independent/independent_schmiedeberg.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_schmiedeberg.dmm rename to _maps/shuttles/independent/independent_schmiedeberg.dmm diff --git a/_maps/shuttles/shiptest/independent_shepherd.dmm b/_maps/shuttles/independent/independent_shepherd.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_shepherd.dmm rename to _maps/shuttles/independent/independent_shepherd.dmm diff --git a/_maps/shuttles/shiptest/independent_shetland.dmm b/_maps/shuttles/independent/independent_shetland.dmm similarity index 100% rename from _maps/shuttles/shiptest/independent_shetland.dmm rename to _maps/shuttles/independent/independent_shetland.dmm diff --git a/_maps/shuttles/shiptest/independent_tranquility.dmm b/_maps/shuttles/independent/independent_tranquility.dmm similarity index 99% rename from _maps/shuttles/shiptest/independent_tranquility.dmm rename to _maps/shuttles/independent/independent_tranquility.dmm index e612c7fe57e9..27fd11a9368d 100644 --- a/_maps/shuttles/shiptest/independent_tranquility.dmm +++ b/_maps/shuttles/independent/independent_tranquility.dmm @@ -4729,7 +4729,6 @@ /obj/item/clothing/head/beret/chem, /obj/item/clothing/suit/hooded/wintercoat/science, /obj/item/clothing/suit/jacket/miljacket, -/obj/item/clothing/under/pants/mustangjeans, /obj/item/clothing/under/dress/sundress, /obj/item/clothing/under/color/random, /obj/item/clothing/under/color/jumpskirt/random, diff --git a/_maps/shuttles/shiptest/nanotrasen_heron.dmm b/_maps/shuttles/independent/nanotrasen_heron.dmm similarity index 99% rename from _maps/shuttles/shiptest/nanotrasen_heron.dmm rename to _maps/shuttles/independent/nanotrasen_heron.dmm index 0898de1238af..a7ccdec275fc 100644 --- a/_maps/shuttles/shiptest/nanotrasen_heron.dmm +++ b/_maps/shuttles/independent/nanotrasen_heron.dmm @@ -773,7 +773,7 @@ dir = 5 }, /obj/machinery/computer/atmos_control/tank/air_tank{ - sensors = list("hairon"="Heron Air Mix Tank") + sensors = list("hairon"="Heron Air Mix Tank") }, /obj/machinery/light_switch{ pixel_y = 23 @@ -6617,8 +6617,6 @@ req_access_txt = "20" }, /obj/item/clothing/neck/cloak/cap, -/obj/item/clothing/gloves/color/captain, -/obj/item/clothing/head/caphat, /obj/item/radio/headset/heads/captain/alt, /obj/item/storage/backpack/captain, /obj/item/clothing/under/rank/centcom/officer, @@ -6640,6 +6638,8 @@ /obj/item/clothing/suit/hooded/wintercoat/centcom, /obj/item/clothing/head/beret/centcom_formal, /obj/item/stock_parts/cell/gun/upgraded, +/obj/item/clothing/head/centcom_cap, +/obj/item/clothing/gloves/combat, /turf/open/floor/carpet/green, /area/ship/crew/dorm/dormtwo) "yc" = ( @@ -9267,6 +9267,10 @@ /obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/ship/crew/canteen/kitchen) +"HR" = ( +/obj/item/clothing/gloves/color/captain/nt, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/law_office) "HT" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -9707,7 +9711,7 @@ dir = 9 }, /obj/machinery/computer/atmos_control/tank/toxin_tank{ - sensors = list("heron_plasm"="Heron Plasma Tank") + sensors = list("heron_plasm"="Heron Plasma Tank") }, /obj/structure/cable{ icon_state = "0-4" @@ -15962,7 +15966,7 @@ oz Oa QG QG -QG +HR QG QG Ge diff --git a/_maps/shuttles/shiptest/radio_funny.dmm b/_maps/shuttles/independent/radio_funny.dmm similarity index 100% rename from _maps/shuttles/shiptest/radio_funny.dmm rename to _maps/shuttles/independent/radio_funny.dmm diff --git a/_maps/shuttles/shiptest/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm similarity index 100% rename from _maps/shuttles/shiptest/inteq_colossus.dmm rename to _maps/shuttles/inteq/inteq_colossus.dmm diff --git a/_maps/shuttles/shiptest/inteq_hound.dmm b/_maps/shuttles/inteq/inteq_hound.dmm similarity index 100% rename from _maps/shuttles/shiptest/inteq_hound.dmm rename to _maps/shuttles/inteq/inteq_hound.dmm diff --git a/_maps/shuttles/shiptest/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm similarity index 100% rename from _maps/shuttles/shiptest/inteq_talos.dmm rename to _maps/shuttles/inteq/inteq_talos.dmm diff --git a/_maps/shuttles/shiptest/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm similarity index 100% rename from _maps/shuttles/shiptest/inteq_vaquero.dmm rename to _maps/shuttles/inteq/inteq_vaquero.dmm diff --git a/_maps/shuttles/shiptest/minutemen_asclepius.dmm b/_maps/shuttles/minutemen/minutemen_asclepius.dmm similarity index 100% rename from _maps/shuttles/shiptest/minutemen_asclepius.dmm rename to _maps/shuttles/minutemen/minutemen_asclepius.dmm diff --git a/_maps/shuttles/shiptest/minutemen_cepheus.dmm b/_maps/shuttles/minutemen/minutemen_cepheus.dmm similarity index 100% rename from _maps/shuttles/shiptest/minutemen_cepheus.dmm rename to _maps/shuttles/minutemen/minutemen_cepheus.dmm diff --git a/_maps/shuttles/shiptest/minutemen_corvus.dmm b/_maps/shuttles/minutemen/minutemen_corvus.dmm similarity index 100% rename from _maps/shuttles/shiptest/minutemen_corvus.dmm rename to _maps/shuttles/minutemen/minutemen_corvus.dmm diff --git a/_maps/shuttles/shiptest/minutemen_vela.dmm b/_maps/shuttles/minutemen/minutemen_vela.dmm similarity index 100% rename from _maps/shuttles/shiptest/minutemen_vela.dmm rename to _maps/shuttles/minutemen/minutemen_vela.dmm diff --git a/_maps/shuttles/misc/hunter_bounty.dmm b/_maps/shuttles/misc/hunter_bounty.dmm deleted file mode 100644 index b25215cfbcd8..000000000000 --- a/_maps/shuttles/misc/hunter_bounty.dmm +++ /dev/null @@ -1,479 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/template_noop, -/area/template_noop) -"b" = ( -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/hunter) -"c" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/airlock/external, -/turf/open/floor/plating, -/area/shuttle/hunter) -"d" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plating, -/area/shuttle/hunter) -"e" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/shuttle/hunter) -"f" = ( -/obj/structure/shuttle/engine/heater{ - icon_state = "heater"; - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/shuttle/hunter) -"g" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/hunter) -"h" = ( -/turf/open/floor/plating, -/area/shuttle/hunter) -"i" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/shuttle/hunter) -"j" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plating, -/area/shuttle/hunter) -"k" = ( -/obj/structure/sign/poster/contraband/inteq, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/hunter) -"l" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/door/airlock/external, -/turf/open/floor/plating, -/area/shuttle/hunter) -"m" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/pod/light, -/area/shuttle/hunter) -"n" = ( -/obj/structure/table, -/turf/open/floor/pod/light, -/area/shuttle/hunter) -"o" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/floor/pod/light, -/area/shuttle/hunter) -"p" = ( -/obj/effect/mob_spawn/human/fugitive/bounty/hook, -/turf/open/floor/pod/light, -/area/shuttle/hunter) -"q" = ( -/obj/structure/shuttle/engine/heater{ - icon_state = "heater"; - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/shuttle/hunter) -"r" = ( -/obj/machinery/computer/launchpad{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"s" = ( -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"t" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"u" = ( -/obj/structure/curtain/bounty, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"v" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"w" = ( -/obj/structure/table, -/obj/item/phone, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"x" = ( -/obj/structure/table, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"y" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"z" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"A" = ( -/obj/machinery/computer/helm{ - icon_state = "computer"; - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"B" = ( -/obj/machinery/launchpad, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"C" = ( -/obj/item/multitool, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"D" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"E" = ( -/obj/structure/table, -/obj/item/binoculars, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"F" = ( -/obj/machinery/power/smes, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"G" = ( -/obj/machinery/fugitive_capture, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"H" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"I" = ( -/obj/structure/frame/computer{ - anchored = 1; - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/shuttle/hunter) -"J" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/pod/light, -/area/shuttle/hunter) -"K" = ( -/obj/machinery/suit_storage_unit/open, -/turf/open/floor/pod/light, -/area/shuttle/hunter) -"M" = ( -/obj/effect/mob_spawn/human/fugitive/bounty/armor{ - icon_state = "sleeper"; - dir = 1 - }, -/turf/open/floor/pod/light, -/area/shuttle/hunter) -"N" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/door/airlock/external, -/obj/docking_port/mobile{ - dheight = 3; - dwidth = 3; - height = 13; - movement_force = list("KNOCKDOWN" = 0, "THROW" = 0); - name = "hunter shuttle"; - rechargeTime = 1800; - width = 15 - }, -/turf/open/floor/plating, -/area/shuttle/hunter) -"P" = ( -/obj/structure/fluff/empty_sleeper{ - icon_state = "sleeper-open"; - dir = 1 - }, -/turf/open/floor/pod/light, -/area/shuttle/hunter) -"Z" = ( -/obj/effect/mob_spawn/human/fugitive/bounty/synth, -/turf/open/floor/pod/light, -/area/shuttle/hunter) - -(1,1,1) = {" -a -a -a -b -a -a -a -a -a -b -a -a -a -"} -(2,1,1) = {" -a -a -a -b -a -a -a -a -a -b -a -a -a -"} -(3,1,1) = {" -b -a -a -b -a -e -a -e -a -b -a -a -b -"} -(4,1,1) = {" -b -a -e -b -b -q -i -q -b -b -e -a -b -"} -(5,1,1) = {" -b -b -f -b -b -r -B -F -b -b -f -b -b -"} -(6,1,1) = {" -b -b -g -b -b -s -C -G -b -b -g -b -b -"} -(7,1,1) = {" -c -d -h -j -l -t -D -H -c -d -h -j -N -"} -(8,1,1) = {" -b -b -i -b -b -u -u -u -b -b -i -b -b -"} -(9,1,1) = {" -a -b -i -b -m -v -s -s -J -b -i -b -a -"} -(10,1,1) = {" -a -a -i -k -n -w -x -s -J -b -i -a -a -"} -(11,1,1) = {" -a -a -a -b -n -x -E -s -K -b -a -a -a -"} -(12,1,1) = {" -a -a -a -b -o -y -s -s -J -b -a -a -a -"} -(13,1,1) = {" -a -a -a -i -b -u -u -u -b -i -a -a -a -"} -(14,1,1) = {" -a -a -a -i -p -s -s -s -P -i -a -a -a -"} -(15,1,1) = {" -a -a -a -i -Z -z -s -z -M -i -a -a -a -"} -(16,1,1) = {" -a -a -a -b -i -A -n -I -i -b -a -a -a -"} -(17,1,1) = {" -a -a -a -a -i -i -i -i -i -a -a -a -a -"} diff --git a/_maps/shuttles/misc/hunter_russian.dmm b/_maps/shuttles/misc/hunter_russian.dmm deleted file mode 100644 index 6ac6c73929ee..000000000000 --- a/_maps/shuttles/misc/hunter_russian.dmm +++ /dev/null @@ -1,493 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/template_noop, -/area/template_noop) -"b" = ( -/turf/closed/wall, -/area/shuttle/hunter) -"c" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/shuttle/hunter) -"d" = ( -/obj/structure/shuttle/engine/heater{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/shuttle/hunter) -"e" = ( -/obj/machinery/portable_atmospherics/scrubber/huge, -/turf/open/floor/plating, -/area/shuttle/hunter) -"f" = ( -/obj/machinery/power/smes, -/turf/open/floor/plating, -/area/shuttle/hunter) -"g" = ( -/turf/open/floor/plating, -/area/shuttle/hunter) -"h" = ( -/obj/machinery/door/airlock/security/glass, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/hunter) -"i" = ( -/obj/machinery/door/airlock/security/glass, -/obj/structure/fans/tiny, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/hunter) -"j" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/hunter) -"k" = ( -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/hunter) -"m" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/item/weldingtool/largetank, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/hunter) -"n" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/reagent_dispensers/watertank, -/obj/item/reagent_containers/glass/bucket, -/obj/item/mop, -/obj/item/storage/bag/trash{ - pixel_x = 6 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/hunter) -"o" = ( -/obj/effect/mob_spawn/human/fugitive/russian{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/hunter) -"p" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate{ - icon_state = "crateopen" - }, -/turf/open/floor/plating, -/area/shuttle/hunter) -"q" = ( -/turf/open/floor/mineral/plastitanium, -/area/shuttle/hunter) -"r" = ( -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/hunter) -"s" = ( -/obj/structure/table, -/obj/item/storage/fancy/cigarettes/cigars/cohiba{ - pixel_y = 6 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/hunter) -"t" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/large{ - icon_state = "crittercrate" - }, -/turf/open/floor/plating, -/area/shuttle/hunter) -"u" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/hunter) -"v" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/hunter) -"w" = ( -/obj/machinery/fugitive_capture, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/hunter) -"x" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plating, -/area/shuttle/hunter) -"y" = ( -/turf/template_noop, -/area/shuttle/hunter) -"z" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/hunter) -"A" = ( -/obj/machinery/computer/helm{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/hunter) -"B" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/closet/crate{ - icon_state = "crateopen" - }, -/turf/open/floor/plating, -/area/shuttle/hunter) -"C" = ( -/obj/machinery/computer/camera_advanced{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/hunter) -"D" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/hunter) -"E" = ( -/obj/structure/frame/computer{ - anchored = 1; - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/hunter) -"F" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/engineering{ - icon_state = "engi_crateopen" - }, -/turf/open/floor/plating, -/area/shuttle/hunter) -"G" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/bottle/vodka, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/hunter) -"H" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/closet/crate/coffin{ - icon_state = "coffinopen" - }, -/turf/open/floor/plating, -/area/shuttle/hunter) -"I" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/mecha_wreckage/ripley, -/turf/open/floor/plating, -/area/shuttle/hunter) -"J" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/hunter) -"K" = ( -/obj/machinery/door/airlock/security/glass, -/obj/structure/fans/tiny, -/obj/docking_port/mobile{ - dheight = 3; - dwidth = 3; - height = 13; - movement_force = list("KNOCKDOWN" = 0, "THROW" = 0); - name = "hunter shuttle"; - rechargeTime = 1800; - width = 15 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/hunter) -"L" = ( -/obj/effect/mob_spawn/human/fugitive/russian{ - dir = 1 - }, -/turf/open/floor/plating, -/area/shuttle/hunter) -"N" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/turf_decal/industrial/warning{ - dir = 2 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/hunter) -"Q" = ( -/obj/item/book/manual/ripley_build_and_repair, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/hunter) -"Y" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/hunter) - -(1,1,1) = {" -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -"} -(2,1,1) = {" -a -a -a -a -a -a -b -c -c -b -a -a -a -a -a -a -"} -(3,1,1) = {" -a -c -c -a -b -b -b -d -d -b -b -b -a -c -c -a -"} -(4,1,1) = {" -b -d -d -b -b -p -t -x -B -B -F -b -b -d -d -b -"} -(5,1,1) = {" -b -e -g -b -j -q -u -q -q -u -u -H -b -g -L -b -"} -(6,1,1) = {" -b -e -g -h -k -k -k -k -k -D -k -k -h -g -L -b -"} -(7,1,1) = {" -b -f -g -b -x -k -Y -Y -Y -Y -Q -I -b -g -L -b -"} -(8,1,1) = {" -b -b -b -b -b -h -b -b -b -b -h -b -b -b -b -b -"} -(9,1,1) = {" -a -b -b -b -m -k -b -y -y -b -k -N -b -b -b -a -"} -(10,1,1) = {" -a -a -a -i -k -k -v -y -y -v -k -k -K -a -a -a -"} -(11,1,1) = {" -a -a -a -b -n -r -b -y -y -b -r -J -b -a -a -a -"} -(12,1,1) = {" -a -a -a -b -b -h -b -b -b -b -h -b -b -a -a -a -"} -(13,1,1) = {" -a -a -a -b -o -k -r -z -z -k -k -o -b -a -a -a -"} -(14,1,1) = {" -a -a -a -b -b -s -w -A -C -E -G -b -b -a -a -a -"} -(15,1,1) = {" -a -a -a -a -b -b -v -v -v -v -b -b -a -a -a -a -"} diff --git a/_maps/shuttles/misc/pirate_default.dmm b/_maps/shuttles/misc/pirate_default.dmm deleted file mode 100644 index e24ae5d92697..000000000000 --- a/_maps/shuttles/misc/pirate_default.dmm +++ /dev/null @@ -1,1521 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"ab" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/recharger, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"ac" = ( -/obj/machinery/computer/helm, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"ad" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "piratebridge"; - name = "Bridge Shutters Control"; - pixel_y = -5 - }, -/obj/item/radio/intercom/directional/north{ - pixel_y = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"ae" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"af" = ( -/turf/template_noop, -/area/template_noop) -"ag" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"ah" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"ai" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"aj" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/shuttle/pirate) -"ak" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, -/obj/structure/closet/secure_closet/freezer{ - locked = 0; - name = "fridge" - }, -/obj/item/storage/box/donkpockets{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/storage/box/donkpockets, -/obj/item/storage/fancy/donut_box, -/obj/item/reagent_containers/food/snacks/cookie, -/obj/item/reagent_containers/food/snacks/cookie{ - pixel_x = -6; - pixel_y = -6 - }, -/obj/item/reagent_containers/food/snacks/chocolatebar, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"al" = ( -/obj/machinery/loot_locator, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"am" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"an" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "piratebridgebolt"; - name = "Bridge Bolt Control"; - normaldoorcontrol = 1; - pixel_y = -25; - specialfunctions = 4 - }, -/obj/effect/turf_decal/corner/opaque/red, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"ao" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/airalarm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"ap" = ( -/obj/machinery/door/airlock/hatch{ - name = "Port Gun Battery" - }, -/obj/structure/barricade/wooden/crude, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"aq" = ( -/obj/structure/chair/stool, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"ar" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/storage/fancy/cigarettes{ - pixel_x = 2; - pixel_y = 6 - }, -/obj/item/storage/fancy/cigarettes/cigpack_carp{ - pixel_x = 10; - pixel_y = 6 - }, -/obj/item/storage/fancy/cigarettes/cigpack_robust{ - pixel_x = 2 - }, -/obj/item/storage/fancy/cigarettes/cigpack_midori{ - pixel_x = 10 - }, -/obj/item/storage/fancy/cigarettes/cigpack_shadyjims{ - pixel_x = 2; - pixel_y = -6 - }, -/obj/item/storage/fancy/cigarettes/cigpack_uplift{ - pixel_x = 10; - pixel_y = -6 - }, -/obj/item/lighter{ - pixel_x = -10; - pixel_y = -2 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"au" = ( -/obj/machinery/door/airlock/hatch{ - id_tag = "piratebridgebolt"; - name = "Bridge" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"av" = ( -/obj/machinery/door/airlock/hatch{ - name = "Starboard Gun Battery" - }, -/obj/structure/barricade/wooden/crude, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"aw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"ax" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"ay" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/vomit/old, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"az" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/machinery/chem_dispenser/drinks{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"aB" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/computer/monitor/secret{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"aC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/structure/frame/computer{ - anchored = 1; - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"aD" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"aF" = ( -/obj/machinery/door/airlock/external/glass{ - id_tag = "pirateportexternal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/shuttle/pirate) -"aG" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"aH" = ( -/obj/structure/shuttle/engine/propulsion/left, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) -"aI" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/vacuum/external{ - pixel_x = -32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"aJ" = ( -/obj/machinery/door/airlock/external/glass{ - id_tag = "pirateportexternal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/shuttle/pirate) -"aK" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) -"aL" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"aM" = ( -/obj/structure/closet/secure_closet/personal, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/wood, -/area/shuttle/pirate) -"aN" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/button/door{ - id = "pirateportexternal"; - name = "External Bolt Control"; - normaldoorcontrol = 1; - pixel_x = -4; - pixel_y = -25; - specialfunctions = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"aO" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/button/door{ - id = "piratestarboardexternal"; - name = "External Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 4; - pixel_y = -25; - specialfunctions = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"aQ" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 1; - faction = list("pirate") - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/shuttle/pirate) -"aR" = ( -/obj/machinery/porta_turret/syndicate/energy{ - faction = list("pirate") - }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/pirate) -"aS" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"aU" = ( -/obj/structure/sign/departments/engineering, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/shuttle/pirate) -"aV" = ( -/obj/effect/mob_spawn/human/pirate{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"aW" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/frame/computer{ - anchored = 1; - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"be" = ( -/obj/machinery/space_heater, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, -/area/shuttle/pirate) -"bf" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - pixel_y = -25; - req_access = null - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"bg" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/gun/energy/laser{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/gun/energy/laser{ - pixel_y = 3 - }, -/obj/machinery/recharger, -/turf/open/floor/pod/light, -/area/shuttle/pirate) -"bk" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/smes/engineering{ - charge = 1e+006 - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"bl" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/airalarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/gun/energy/laser{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/gun/energy/laser{ - pixel_y = 3 - }, -/turf/open/floor/pod/light, -/area/shuttle/pirate) -"bm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"bo" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/sign/warning/vacuum/external{ - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/shuttle/pirate) -"br" = ( -/obj/structure/table/wood, -/obj/item/storage/box/matches, -/obj/item/reagent_containers/food/drinks/bottle/rum{ - name = "Captain Pete's Private Reserve Cuban Spaced Rum"; - pixel_x = -6; - pixel_y = 8 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = 6; - pixel_y = 12 - }, -/obj/item/clothing/mask/cigarette/cigar, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/wood, -/area/shuttle/pirate) -"bu" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"bv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"bx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"by" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/piratepad, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"bA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"bB" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"bC" = ( -/obj/machinery/airalarm/directional/east, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/neutral, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"bF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/item/book/manual/wiki/barman_recipes{ - pixel_x = -8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"bH" = ( -/obj/machinery/vending/boozeomat/all_access{ - all_items_free = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"bI" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/computer/piratepad_control{ - dir = 1 - }, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"bJ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"bK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sink{ - pixel_y = 25 - }, -/obj/structure/toilet{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/shuttle/pirate) -"bM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock{ - name = "Crew Cabin" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"bO" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc{ - aidisabled = 1; - dir = 1; - name = "Pirate Corvette APC"; - pixel_y = 25; - req_access = null - }, -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"bP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"bQ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"bX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 4 - }, -/obj/item/flashlight{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/lights/bulbs, -/obj/item/stack/sheet/mineral/plasma{ - amount = 10 - }, -/obj/item/multitool, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plating, -/area/shuttle/pirate) -"bZ" = ( -/obj/machinery/door/airlock/external/glass{ - id_tag = "piratestarboardexternal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/shuttle/pirate) -"df" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 4; - faction = list("pirate") - }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/pirate) -"dy" = ( -/obj/structure/chair/wood, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/shuttle/pirate) -"dU" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"ek" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/structure/sign/poster/contraband/peacemaker{ - pixel_x = 32 - }, -/obj/item/storage/backpack/duffelbag/syndie/x4{ - pixel_y = 8 - }, -/obj/item/grenade/smokebomb{ - pixel_x = -5 - }, -/obj/item/grenade/smokebomb{ - pixel_x = 5 - }, -/turf/open/floor/pod/light, -/area/shuttle/pirate) -"ep" = ( -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 1 - }, -/obj/structure/shuttle/engine/heater, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) -"er" = ( -/obj/structure/shuttle/engine/propulsion/right, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) -"et" = ( -/obj/structure/grille, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) -"eu" = ( -/obj/structure/girder, -/obj/item/stack/rods{ - amount = 3 - }, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) -"ew" = ( -/obj/structure/girder, -/obj/item/stack/rods{ - amount = 5 - }, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) -"ex" = ( -/obj/structure/window/reinforced, -/obj/structure/frame/machine, -/obj/item/wrench, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) -"ey" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "piratebridge" - }, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/shuttle/pirate) -"ez" = ( -/obj/structure/window/reinforced, -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) -"eA" = ( -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 1 - }, -/obj/structure/frame/computer{ - anchored = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"eE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"fW" = ( -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/pirate) -"fY" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"gY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"jv" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "piratebridge" - }, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/shuttle/pirate) -"km" = ( -/obj/machinery/atmospherics/components/unary/tank/air, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/firealarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"mD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/structure/closet/secure_closet/personal, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"mU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/engineering{ - name = "Engineering" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"np" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/airalarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"vB" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, -/obj/item/storage/box/lethalshot, -/obj/item/gun/ballistic/shotgun/automatic/combat{ - pixel_x = -2; - pixel_y = 2 - }, -/turf/open/floor/pod/light, -/area/shuttle/pirate) -"wf" = ( -/obj/machinery/door/airlock{ - name = "Unisex Restrooms" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/shuttle/pirate) -"wR" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 8; - faction = list("pirate") - }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/pirate) -"yi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/hatch{ - name = "Armory Access" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/shuttle/pirate) -"yv" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "piratebridge" - }, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/shuttle/pirate) -"zw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock{ - name = "Captain's Quarters" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/wood, -/area/shuttle/pirate) -"DZ" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "piratebridge" - }, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plating, -/area/shuttle/pirate) -"Gk" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/suit_storage_unit/pirate, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/pirate) -"IC" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "piratebridge" - }, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plating, -/area/shuttle/pirate) -"JT" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate, -/obj/item/storage/bag/money/vault, -/obj/item/stack/sheet/mineral/gold{ - amount = 3; - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/stack/sheet/mineral/silver{ - amount = 8; - pixel_x = 2; - pixel_y = -1 - }, -/turf/open/floor/pod/light, -/area/shuttle/pirate) -"Oe" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"OD" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/pirate) -"OL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"RY" = ( -/obj/effect/mob_spawn/human/pirate/captain{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 - }, -/turf/open/floor/wood, -/area/shuttle/pirate) -"SE" = ( -/obj/machinery/door/airlock/external/glass{ - id_tag = "piratestarboardexternal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/docking_port/mobile/pirate{ - dwidth = 11; - height = 16; - launch_status = 0; - name = "Pirate Ship"; - port_direction = 2; - width = 17 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/shuttle/pirate) -"Ur" = ( -/obj/structure/closet/secure_closet/personal, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/shuttle/pirate) -"UL" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/firealarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/melee/transforming/energy/sword/saber/pirate{ - pixel_x = -1; - pixel_y = 6 - }, -/obj/item/melee/transforming/energy/sword/saber/pirate{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/melee/transforming/energy/sword/saber/pirate{ - pixel_x = 13; - pixel_y = 6 - }, -/turf/open/floor/pod/light, -/area/shuttle/pirate) -"Xk" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "piratebridge" - }, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/shuttle/pirate) - -(1,1,1) = {" -af -af -af -fW -aj -aj -aj -aj -aj -aj -aj -wR -af -af -af -af -"} -(2,1,1) = {" -af -et -eu -ex -eA -aa -ap -aw -ak -bF -aj -aj -aj -fW -af -af -"} -(3,1,1) = {" -aQ -aj -aj -aj -aj -aj -aj -ax -aq -ar -aj -RY -aM -ep -aH -af -"} -(4,1,1) = {" -af -af -af -af -af -af -jv -ay -Oe -OL -zw -dy -br -ep -er -af -"} -(5,1,1) = {" -af -af -af -af -af -af -aj -az -bx -bH -aj -aj -aj -aj -aj -aR -"} -(6,1,1) = {" -af -af -af -ey -IC -aj -aj -aj -yi -aj -aj -Gk -aS -aF -aI -aJ -"} -(7,1,1) = {" -af -af -ey -DZ -aC -aW -aj -bg -gY -JT -aj -km -aN -aj -aj -aj -"} -(8,1,1) = {" -af -af -jv -ab -ae -bf -aj -bl -fY -ai -aU -be -aD -aG -ep -aH -"} -(9,1,1) = {" -af -af -jv -ac -ag -am -au -bm -by -bm -mU -aL -bP -bX -ep -aK -"} -(10,1,1) = {" -af -af -jv -ad -ah -an -aj -UL -gY -bI -aj -bO -bQ -bk -ep -er -"} -(11,1,1) = {" -af -af -ey -yv -al -aB -aj -ek -bA -vB -aj -np -aO -aj -aj -aj -"} -(12,1,1) = {" -af -af -af -ey -Xk -aj -aj -aj -yi -aj -aj -Gk -aS -bZ -bo -SE -"} -(13,1,1) = {" -af -af -af -af -af -af -aj -mD -bB -Ur -aj -aj -aj -aj -aj -aR -"} -(14,1,1) = {" -af -af -af -af -af -af -jv -eE -bC -bJ -bM -dU -aV -ep -aH -af -"} -(15,1,1) = {" -aQ -aj -aj -aj -aj -aj -aj -bu -aj -wf -aj -OD -aV -ep -er -af -"} -(16,1,1) = {" -af -et -ew -ez -eA -ao -av -bv -aj -bK -aj -aj -aj -fW -af -af -"} -(17,1,1) = {" -af -af -af -fW -aj -aj -aj -aj -aj -aj -aj -df -af -af -af -af -"} diff --git a/_maps/shuttles/shiptest/nanotrasen_delta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm similarity index 99% rename from _maps/shuttles/shiptest/nanotrasen_delta.dmm rename to _maps/shuttles/nanotrasen/nanotrasen_delta.dmm index 67e7dd8f1afc..c91299ae62ba 100644 --- a/_maps/shuttles/shiptest/nanotrasen_delta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm @@ -1105,6 +1105,8 @@ /obj/item/gun/energy/laser, /obj/item/megaphone/command, /obj/machinery/light/small/directional/east, +/obj/item/clothing/head/caphat/parade, +/obj/item/clothing/suit/armor/vest/capcarapace, /turf/open/floor/plasteel/dark, /area/ship/bridge) "fy" = ( diff --git a/_maps/shuttles/shiptest/nanotrasen_gecko.dmm b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm similarity index 99% rename from _maps/shuttles/shiptest/nanotrasen_gecko.dmm rename to _maps/shuttles/nanotrasen/nanotrasen_gecko.dmm index 529647a0cbb9..1f0322ae6a5c 100644 --- a/_maps/shuttles/shiptest/nanotrasen_gecko.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm @@ -1934,7 +1934,7 @@ /obj/structure/railing, /obj/machinery/computer/atmos_control/incinerator{ dir = 4; - sensors = list("gecko_burn_sensor"="Combustion Chamber") + sensors = list("gecko_burn_sensor"="Combustion Chamber") }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering/engine) @@ -3399,6 +3399,8 @@ /obj/effect/turf_decal/borderfloor{ dir = 1 }, +/obj/item/clothing/head/caphat/parade, +/obj/item/clothing/suit/armor/vest/capcarapace, /turf/open/floor/plasteel/dark, /area/ship/bridge) "Ij" = ( diff --git a/_maps/shuttles/shiptest/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm similarity index 99% rename from _maps/shuttles/shiptest/nanotrasen_mimir.dmm rename to _maps/shuttles/nanotrasen/nanotrasen_mimir.dmm index 5e8f8530b1cd..9223b7746f9a 100644 --- a/_maps/shuttles/shiptest/nanotrasen_mimir.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm @@ -7697,9 +7697,6 @@ pixel_x = 8; pixel_y = 2 }, -/obj/item/storage/fancy/cigarettes/cigpack_shadyjims{ - pixel_y = 10 - }, /obj/item/lighter/greyscale{ pixel_y = 4; pixel_x = -9 diff --git a/_maps/shuttles/shiptest/nanotrasen_osprey.dmm b/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm similarity index 99% rename from _maps/shuttles/shiptest/nanotrasen_osprey.dmm rename to _maps/shuttles/nanotrasen/nanotrasen_osprey.dmm index 970e3b2031f0..238992831180 100644 --- a/_maps/shuttles/shiptest/nanotrasen_osprey.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm @@ -1035,7 +1035,6 @@ /obj/item/clothing/under/rank/command/captain/nt/skirt, /obj/item/clothing/under/rank/command/captain/nt, /obj/item/clothing/suit/armor/vest/capcarapace/alt, -/obj/item/clothing/gloves/color/captain, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/head/caphat/nt, /obj/item/storage/belt/sabre, @@ -1044,6 +1043,9 @@ desc = "An ICW-era self-destruct authorization disk. The codes on this are long past obsolete, but it's still a flagrant violation of company policy."; name = "outdated nuclear authentication disk" }, +/obj/item/clothing/head/caphat/parade, +/obj/item/clothing/suit/armor/vest/capcarapace, +/obj/item/clothing/gloves/color/captain/nt, /turf/open/floor/carpet/royalblue, /area/ship/bridge) "hv" = ( diff --git a/_maps/shuttles/shiptest/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm similarity index 100% rename from _maps/shuttles/shiptest/nanotrasen_ranger.dmm rename to _maps/shuttles/nanotrasen/nanotrasen_ranger.dmm diff --git a/_maps/shuttles/shiptest/nanotrasen_skipper.dmm b/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm similarity index 99% rename from _maps/shuttles/shiptest/nanotrasen_skipper.dmm rename to _maps/shuttles/nanotrasen/nanotrasen_skipper.dmm index 27eec1aa822e..e763b1fd0765 100644 --- a/_maps/shuttles/shiptest/nanotrasen_skipper.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm @@ -1508,10 +1508,7 @@ /obj/item/storage/backpack/satchel/leather, /obj/item/clothing/shoes/laceup, /obj/item/clothing/suit/armor/vest/hop, -/obj/item/clothing/head/hopcap, /obj/item/clothing/head/hopcap/nt, -/obj/item/clothing/under/rank/command/head_of_personnel, -/obj/item/clothing/under/rank/command/head_of_personnel/skirt, /obj/item/storage/box/ids, /obj/item/storage/box/PDAs, /obj/item/assembly/flash/handheld, @@ -1521,6 +1518,8 @@ pixel_y = 32 }, /obj/effect/turf_decal/siding/wood, +/obj/item/clothing/under/rank/command/head_of_personnel/nt, +/obj/item/clothing/under/rank/command/head_of_personnel/nt/skirt, /turf/open/floor/wood, /area/ship/crew/crewthree) "lg" = ( @@ -1833,7 +1832,7 @@ "nu" = ( /obj/machinery/computer/atmos_control/incinerator{ dir = 4; - sensors = list("nemo_incinerator_sensor"="Incinerator Chamber") + sensors = list("nemo_incinerator_sensor"="Incinerator Chamber") }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5527,15 +5526,16 @@ /obj/item/storage/backpack/captain, /obj/item/storage/belt/sabre, /obj/item/clothing/glasses/sunglasses, -/obj/item/clothing/head/caphat, -/obj/item/clothing/head/beret/captain, /obj/item/clothing/suit/armor/vest/capcarapace, -/obj/item/clothing/under/rank/command/captain/skirt, -/obj/item/clothing/under/rank/command/captain/suit, /obj/item/clothing/under/rank/command/captain/parade, /obj/item/clothing/shoes/laceup, /obj/item/door_remote/captain, /obj/item/clothing/suit/armor/vest/capcarapace/alt, +/obj/item/clothing/gloves/color/captain/nt, +/obj/item/clothing/under/rank/command/captain/nt/skirt, +/obj/item/clothing/under/rank/command/captain/nt, +/obj/item/clothing/head/caphat/parade, +/obj/item/clothing/head/caphat/nt, /turf/open/floor/wood, /area/ship/crew/crewtwo) "UN" = ( diff --git a/_maps/shuttles/shiptest/pirate_ember.dmm b/_maps/shuttles/pirate/pirate_ember.dmm similarity index 100% rename from _maps/shuttles/shiptest/pirate_ember.dmm rename to _maps/shuttles/pirate/pirate_ember.dmm diff --git a/_maps/shuttles/shiptest/pirate_libertatia.dmm b/_maps/shuttles/pirate/pirate_libertatia.dmm similarity index 100% rename from _maps/shuttles/shiptest/pirate_libertatia.dmm rename to _maps/shuttles/pirate/pirate_libertatia.dmm diff --git a/_maps/shuttles/shiptest/pirate_noderider.dmm b/_maps/shuttles/pirate/pirate_noderider.dmm similarity index 100% rename from _maps/shuttles/shiptest/pirate_noderider.dmm rename to _maps/shuttles/pirate/pirate_noderider.dmm diff --git a/_maps/shuttles/shiptest/srm_glaive.dmm b/_maps/shuttles/roumain/srm_glaive.dmm similarity index 99% rename from _maps/shuttles/shiptest/srm_glaive.dmm rename to _maps/shuttles/roumain/srm_glaive.dmm index 6ac9e480222e..8b5cb2a3fdc8 100644 --- a/_maps/shuttles/shiptest/srm_glaive.dmm +++ b/_maps/shuttles/roumain/srm_glaive.dmm @@ -208,9 +208,7 @@ /obj/structure/flora/ausbushes/brflowers, /obj/structure/flora/ausbushes/sparsegrass, /obj/item/book/manual/trickwines_4_brewers, -/turf/open/floor/grass{ - icon_state = "junglegrass" - }, +/turf/open/floor/grass/ship/jungle, /area/ship/roumain) "cJ" = ( /obj/structure/cable/orange{ @@ -255,6 +253,7 @@ "ds" = ( /obj/structure/flora/ausbushes/sparsegrass, /obj/structure/flora/ausbushes/brflowers, +/obj/item/reagent_containers/food/drinks/breakawayflask, /turf/open/floor/grass/ship/jungle, /area/ship/roumain) "dt" = ( @@ -726,15 +725,7 @@ /area/ship/engineering/engine) "jG" = ( /obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/tree/jungle{ - icon_state = "churchtree"; - icon = 'icons/obj/flora/chapeltree.dmi'; - randomize_icon = 0; - pixel_x = -16; - pixel_y = 0; - desc = "A sturdy oak tree imported directly from the homeworld of the Montagne who runs the ship it resides on. It is planted in soil from the same place."; - name = "Montagne's Oak" - }, +/obj/structure/flora/tree/srm, /turf/open/floor/grass/ship/jungle, /area/ship/roumain) "ko" = ( @@ -753,6 +744,12 @@ }, /turf/open/floor/wood/maple, /area/ship/construction) +"lb" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/fermenting_barrel, +/turf/open/floor/grass/ship/jungle, +/area/ship/roumain) "lf" = ( /obj/structure/cable/orange{ icon_state = "2-8" @@ -1680,7 +1677,7 @@ /area/ship/medical) "At" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask/vintageash, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine, /turf/open/floor/plating{ icon_state = "greenerdirt" }, @@ -1776,7 +1773,7 @@ /obj/structure/railing{ dir = 1 }, -/obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask/vintageash, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine, /turf/open/floor/ship/dirt/dark, /area/ship/roumain) "BB" = ( @@ -2106,6 +2103,7 @@ name = "Body Holofield Switch"; id = "glaive_body_holo" }, +/obj/structure/fermenting_barrel, /turf/open/floor/grass/ship/jungle, /area/ship/roumain) "FA" = ( @@ -2889,8 +2887,10 @@ /turf/open/floor/plating, /area/ship/engineering) "Sl" = ( -/obj/structure/fermenting_barrel, -/turf/open/floor/ship/dirt/dark, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/fermenting_barrel/distiller, +/turf/open/floor/grass/ship/jungle, /area/ship/roumain) "Sx" = ( /obj/structure/window/reinforced/spawner{ @@ -3951,8 +3951,8 @@ Lk cz YP ds -aM -aM +lb +Sl Fu wp wp @@ -4177,7 +4177,7 @@ ZE MZ qN NL -Sl +NL NL NL NL diff --git a/_maps/shuttles/ruin/ruin_caravan_victim.dmm b/_maps/shuttles/ruin/ruin_caravan_victim.dmm deleted file mode 100644 index 4b8d1803616d..000000000000 --- a/_maps/shuttles/ruin/ruin_caravan_victim.dmm +++ /dev/null @@ -1,1793 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ap" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/multitool, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ship/cargo) -"ax" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/mineral/silver{ - amount = 25 - }, -/obj/item/stack/sheet/mineral/silver{ - amount = 25 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"aP" = ( -/obj/machinery/door/airlock{ - name = "Crew Quarters" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ship/crew) -"bg" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ship/crew) -"bu" = ( -/obj/machinery/door/airlock{ - name = "Crew Cabins" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ship/crew) -"bI" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/box/white/corners, -/obj/machinery/button/door{ - id = "caravantrade1_cargo"; - name = "Cargo Blast Door Control"; - pixel_y = -25 - }, -/obj/structure/closet/crate, -/obj/item/stack/sheet/mineral/diamond{ - amount = 5 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"bR" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/structure/sink{ - pixel_y = 25 - }, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/crew) -"ct" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/airless, -/area/ship/cargo) -"cx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/power/terminal, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/crew) -"cX" = ( -/obj/structure/chair/stool, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, -/turf/open/floor/plasteel{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/crew) -"ec" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"eP" = ( -/obj/machinery/door/poddoor{ - id = "caravantrade1_cargo"; - name = "Cargo Blast Door" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating/airless, -/area/ship/cargo) -"fk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/machinery/meter, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"fD" = ( -/turf/template_noop, -/area/ship/cargo) -"gs" = ( -/obj/structure/closet/secure_closet/freezer{ - locked = 0; - name = "fridge" - }, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/beer, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/drinks/waterbottle{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/waterbottle, -/obj/item/reagent_containers/food/drinks/waterbottle{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/snacks/pizzaslice/margherita{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/snacks/pizzaslice/margherita, -/obj/item/reagent_containers/food/snacks/chocolatebar, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, -/turf/open/floor/plasteel{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/crew) -"gw" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mob_spawn/human/corpse/cargo_tech, -/obj/effect/decal/cleanable/blood, -/obj/effect/turf_decal/corner/opaque/blue, -/turf/open/floor/plasteel/dark{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/bridge) -"hk" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"if" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ship/cargo) -"ig" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "caravantrade1_bridge" - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/ship/bridge) -"jg" = ( -/obj/machinery/door/airlock{ - name = "Restroom" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/crew) -"jr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ship/cargo) -"lt" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/machinery/space_heater, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"lx" = ( -/obj/effect/turf_decal/box/white/corners{ - dir = 1 - }, -/turf/open/floor/plasteel/airless{ - icon_state = "damaged4" - }, -/area/ship/cargo) -"lC" = ( -/obj/machinery/power/smes, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"lM" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/vacuum{ - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"mo" = ( -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/obj/item/wrench, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"mu" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/cargo) -"mw" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/storage/toolbox/emergency, -/obj/item/wrench, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/power/terminal, -/obj/structure/cable, -/turf/open/floor/plasteel/dark{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/bridge) -"mZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/structure/frame/computer{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/bridge) -"nM" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating/airless, -/area/ship/cargo) -"oj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"ot" = ( -/obj/effect/turf_decal/box/white/corners{ - dir = 4 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"oS" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"pR" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/crew) -"pU" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/bridge) -"qp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/bridge) -"qM" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/dark/airless, -/area/ship/bridge) -"rf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/airless{ - icon_state = "floorscorched1" - }, -/area/ship/cargo) -"rF" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/airless, -/area/ship/crew) -"sf" = ( -/obj/machinery/light/directional/north, -/obj/structure/table, -/obj/item/stack/packageWrap, -/obj/item/crowbar, -/obj/item/flashlight{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/machinery/airalarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ship/cargo) -"si" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/external{ - id_tag = "caravantrade1_bolt" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/ship/bridge) -"ss" = ( -/obj/structure/rack, -/obj/item/storage/belt/utility, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ship/cargo) -"tg" = ( -/obj/effect/turf_decal/box/white/corners{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/space_heater, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"tj" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "caravantrade1_bridge" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"ur" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless{ - icon_state = "platingdmg3" - }, -/area/ship/cargo) -"uA" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/bed, -/obj/item/bedsheet, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/obj/machinery/button/door{ - id = "caravantrade1_cabin1"; - name = "Cabin Bolt Control"; - normaldoorcontrol = 1; - pixel_x = -25; - pixel_y = 6; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/crew) -"uS" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"vt" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"vO" = ( -/obj/machinery/door/poddoor{ - id = "caravantrade1_cargo"; - name = "Cargo Blast Door" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/cargo) -"xz" = ( -/obj/effect/turf_decal/box/white/corners{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-9" - }, -/obj/structure/cable{ - icon_state = "1-5" - }, -/turf/open/floor/plasteel/airless{ - icon_state = "damaged5" - }, -/area/ship/cargo) -"yn" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/mineral/titanium{ - amount = 20 - }, -/obj/item/stack/sheet/mineral/titanium{ - amount = 20 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"yC" = ( -/obj/machinery/button/door{ - id = "caravantrade1_bolt"; - name = "External Bolt Control"; - normaldoorcontrol = 1; - pixel_x = -25; - pixel_y = 8; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/turf_decal/corner/opaque/blue, -/turf/open/floor/plasteel{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/bridge) -"zd" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"zy" = ( -/obj/structure/girder, -/turf/open/floor/plating/airless{ - icon_state = "platingdmg1" - }, -/area/ship/cargo) -"Ax" = ( -/obj/item/stack/sheet/metal/fifty, -/turf/open/floor/plasteel/airless{ - icon_state = "floorscorched2" - }, -/area/ship/cargo) -"AM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/command{ - name = "Bridge" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/bridge) -"AX" = ( -/obj/effect/turf_decal/box/white/corners, -/obj/structure/closet/crate, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"Bu" = ( -/obj/item/stack/sheet/mineral/titanium, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-10" - }, -/turf/open/floor/plasteel/airless{ - icon_state = "damaged1" - }, -/area/ship/cargo) -"Bx" = ( -/obj/structure/table, -/obj/item/storage/box/donkpockets{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/trash/plate{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/crew) -"BN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/engineering{ - name = "Engine Room" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"CR" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"CU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless{ - icon_state = "floorscorched1" - }, -/area/ship/cargo) -"Dt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/decal/cleanable/blood, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/crew) -"DQ" = ( -/obj/effect/turf_decal/box/white/corners{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate, -/obj/item/stack/sheet/mineral/gold{ - amount = 25 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"El" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) -"Eo" = ( -/obj/structure/lattice, -/obj/item/stack/sheet/mineral/titanium, -/turf/template_noop, -/area/ship/cargo) -"EI" = ( -/obj/effect/decal/cleanable/blood, -/mob/living/simple_animal/hostile/syndicate/melee/sword/space/stormtrooper, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/bridge) -"EQ" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/firealarm/directional/west, -/obj/effect/decal/cleanable/blood, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/mob/living/simple_animal/hostile/syndicate/ranged/smg/space, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, -/turf/open/floor/plasteel{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/crew) -"EW" = ( -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - id = "caravantrade1_bridge"; - name = "Ship Blast Door Control" - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/bridge) -"EZ" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"Fv" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering/engine) -"Fx" = ( -/obj/structure/lattice, -/obj/structure/fluff/broken_flooring{ - icon_state = "singular" - }, -/turf/template_noop, -/area/ship/cargo) -"GJ" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ship/crew) -"Hv" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/airless, -/area/ship/crew) -"Ib" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ship/bridge) -"Ja" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/storage/firstaid/regular, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/bridge) -"Jv" = ( -/turf/template_noop, -/area/template_noop) -"Kc" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "caravantrade1_bridge" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"Ko" = ( -/obj/structure/rack, -/obj/item/tank/internals/oxygen, -/obj/item/radio, -/obj/item/clothing/mask/gas, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/turf/open/floor/plasteel{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/bridge) -"KC" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"KX" = ( -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"Lr" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "caravantrade1_bridge" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"Lt" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew) -"LK" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ship/bridge) -"LM" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "caravantrade1_bridge" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"LX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/door_assembly/door_assembly_min{ - anchored = 1; - density = 0; - name = "broken airlock" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/airless, -/area/ship/cargo) -"Mb" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ship/crew) -"NL" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/crew) -"NY" = ( -/obj/machinery/door/poddoor{ - id = "caravantrade1_cargo"; - name = "Cargo Blast Door" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating/airless{ - icon_state = "platingdmg3" - }, -/area/ship/cargo) -"Od" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/pen{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/folder/yellow{ - pixel_x = -6 - }, -/obj/item/gps{ - gpstag = "Distress Signal" - }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/bridge) -"Ov" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless{ - icon_state = "damaged2" - }, -/area/ship/cargo) -"Ow" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/machinery/computer/helm{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - initial_gas_mix = "TEMP=2.7" - }, -/area/ship/bridge) -"OK" = ( -/obj/effect/turf_decal/box/white/corners{ - dir = 1 - }, -/obj/structure/closet/crate, -/obj/item/stack/sheet/mineral/uranium{ - amount = 10 - }, -/obj/item/stack/sheet/mineral/uranium{ - amount = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"PM" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/bed, -/obj/item/bedsheet, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/obj/machinery/button/door{ - id = "caravantrade1_cabin2"; - name = "Cabin Bolt Control"; - normaldoorcontrol = 1; - pixel_x = -25; - pixel_y = 6; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/crew) -"Qk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/airless, -/area/ship/cargo) -"Qs" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"QU" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "caravantrade1_bridge" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"QY" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/machinery/firealarm/directional/north, -/obj/item/stack/cable_coil/yellow{ - pixel_x = 12; - pixel_y = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ship/cargo) -"Rw" = ( -/obj/machinery/door/airlock{ - id_tag = "caravantrade1_cabin2"; - name = "Cabin 2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark/airless, -/area/ship/crew) -"RI" = ( -/obj/effect/turf_decal/box/white/corners{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"RN" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/power/terminal, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plating/airless{ - icon_state = "platingdmg3" - }, -/area/ship/engineering/engine) -"Su" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless{ - icon_state = "damaged3" - }, -/area/ship/cargo) -"Td" = ( -/obj/structure/lattice, -/turf/template_noop, -/area/ship/cargo) -"TP" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen" - }, -/obj/item/stack/sheet/metal/fifty, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"Ut" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless, -/area/ship/cargo) -"UW" = ( -/obj/machinery/airalarm/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating/airless{ - icon_state = "platingdmg1" - }, -/area/ship/engineering/engine) -"VD" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/external{ - id_tag = "caravantrade1_bolt" - }, -/obj/docking_port/mobile{ - callTime = 250; - dir = 2; - dwidth = 5; - height = 11; - launch_status = 0; - name = "Small Freighter"; - port_direction = 8; - preferred_direction = 4; - width = 21 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/ship/bridge) -"VN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "6-8" - }, -/turf/open/floor/plasteel/airless, -/area/ship/cargo) -"VT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ship/crew) -"Wm" = ( -/obj/machinery/door/airlock{ - id_tag = "caravantrade1_cabin1"; - name = "Cabin 1" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark/airless, -/area/ship/crew) -"Wr" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "caravantrade1_bridge" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/ship/crew) -"WI" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"WU" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/mob_spawn/human/corpse/cargo_tech, -/obj/effect/decal/cleanable/blood, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/airless, -/area/ship/crew) -"WX" = ( -/obj/effect/turf_decal/box/white/corners{ - dir = 8 - }, -/obj/structure/closet/crate, -/obj/item/stack/sheet/plasteel/twenty, -/obj/item/stack/sheet/plasteel/twenty, -/turf/open/floor/plasteel/airless{ - icon_state = "damaged5" - }, -/area/ship/cargo) -"WZ" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass{ - amount = 10 - }, -/obj/item/stack/rods/ten, -/obj/item/storage/box/lights/bulbs, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/engineering/engine) -"Xh" = ( -/obj/machinery/door/poddoor{ - id = "caravantrade1_cargo"; - name = "Cargo Blast Door" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating/airless, -/area/ship/cargo) -"Xt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/holopad/emergency/command, -/turf/open/floor/plasteel/dark/airless, -/area/ship/bridge) -"XI" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"Yk" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"YR" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "caravantrade1_bridge" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"Zk" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) -"ZY" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating/airless, -/area/ship/cargo) -"ZZ" = ( -/obj/effect/turf_decal/box/white/corners{ - dir = 1 - }, -/obj/structure/closet/crate, -/obj/item/stack/sheet/rglass{ - amount = 20 - }, -/obj/item/stack/sheet/rglass{ - amount = 20 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ship/cargo) - -(1,1,1) = {" -El -El -El -vt -vt -El -KX -Jv -Jv -Jv -Jv -"} -(2,1,1) = {" -Fv -mo -El -KC -KC -El -El -ZY -ZY -ZY -mu -"} -(3,1,1) = {" -El -RN -lC -WZ -lt -zd -El -nM -nM -nM -mu -"} -(4,1,1) = {" -El -oj -ec -Qs -UW -fk -El -OK -ax -tg -WI -"} -(5,1,1) = {" -El -BN -El -El -El -BN -El -DQ -oS -bI -WI -"} -(6,1,1) = {" -Lt -GJ -Rw -PM -WI -Qk -ct -Zk -uS -EZ -eP -"} -(7,1,1) = {" -Wr -Mb -Lt -Lt -WI -ss -CU -ZZ -hk -RI -NY -"} -(8,1,1) = {" -Lt -bg -Wm -uA -mu -sf -jr -ot -hk -AX -Xh -"} -(9,1,1) = {" -Lt -bu -Lt -Lt -WI -QY -if -Ax -yn -Su -eP -"} -(10,1,1) = {" -Lt -cx -Lt -bR -WI -ap -VN -lx -TP -WX -vO -"} -(11,1,1) = {" -Wr -pR -Lt -jg -WI -WI -rf -xz -Ov -Td -ur -"} -(12,1,1) = {" -Wr -Dt -WU -Hv -rF -LX -Bu -CR -Fx -fD -Eo -"} -(13,1,1) = {" -Wr -gs -cX -EQ -VT -WI -XI -Ut -Td -fD -fD -"} -(14,1,1) = {" -Lt -NL -Bx -Lt -aP -WI -WI -zy -fD -fD -Jv -"} -(15,1,1) = {" -Yk -Yk -Yk -Yk -Ib -LK -Yk -Jv -Jv -Jv -Jv -"} -(16,1,1) = {" -VD -lM -si -yC -qp -Ko -Lr -Jv -Jv -Jv -Jv -"} -(17,1,1) = {" -pU -Yk -Yk -Yk -AM -Yk -Yk -Jv -Jv -Jv -Jv -"} -(18,1,1) = {" -Jv -Yk -Ja -qM -Xt -mw -Yk -Jv -Jv -Jv -Jv -"} -(19,1,1) = {" -Jv -ig -Od -EI -gw -EW -Lr -Jv -Jv -Jv -Jv -"} -(20,1,1) = {" -Jv -LM -QU -mZ -Ow -tj -LM -Jv -Jv -Jv -Jv -"} -(21,1,1) = {" -Jv -Jv -Kc -YR -YR -Kc -Jv -Jv -Jv -Jv -Jv -"} diff --git a/_maps/shuttles/ruin/ruin_pirate_cutter.dmm b/_maps/shuttles/ruin/ruin_pirate_cutter.dmm deleted file mode 100644 index e71d9c9c7fb6..000000000000 --- a/_maps/shuttles/ruin/ruin_pirate_cutter.dmm +++ /dev/null @@ -1,1613 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"af" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering) -"aE" = ( -/obj/structure/closet{ - name = "pirate outfits" - }, -/obj/item/clothing/head/collectable/pirate, -/obj/item/clothing/suit/pirate, -/obj/item/clothing/under/costume/pirate, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/head/bandana, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/black, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/crew) -"aK" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/medical) -"bd" = ( -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - id = "caravanpirate_bridge"; - name = "Bridge Blast Door Control"; - pixel_x = -16 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"bH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/medical) -"cU" = ( -/obj/machinery/sleeper{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"de" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"dE" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"fh" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"fL" = ( -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/machinery/computer/helm{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"fU" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"gG" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/vacuum{ - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/ship/medical) -"gT" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/item/melee/classic_baton, -/obj/effect/turf_decal/corner/opaque/red, -/obj/item/radio/intercom/wideband/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"hh" = ( -/mob/living/simple_animal/hostile/pirate{ - environment_smash = 0 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"hI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"hZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"ig" = ( -/obj/structure/table, -/obj/item/circular_saw, -/obj/item/scalpel{ - pixel_y = 12 - }, -/obj/item/cautery{ - pixel_x = 4 - }, -/obj/machinery/light/small/directional/west, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/medical) -"iF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"iX" = ( -/obj/structure/table, -/obj/machinery/door/window/southleft{ - base_state = "right"; - icon_state = "right"; - name = "Weapon Storage" - }, -/obj/item/gun/energy/laser, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"ja" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/power/terminal, -/obj/structure/cable, -/turf/open/floor/plasteel, -/area/ship/security) -"jh" = ( -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/obj/item/wrench, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/obj/structure/cable/yellow, -/turf/open/floor/plating, -/area/ship/engineering) -"kl" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/medical) -"ku" = ( -/obj/structure/rack, -/obj/item/storage/bag/money/vault, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/mob/living/simple_animal/parrot{ - faction = list("pirate"); - name = "Pegwing" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"kY" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/machinery/meter, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"kZ" = ( -/obj/structure/table, -/obj/machinery/airalarm/directional/north, -/obj/item/ammo_box/a40mm, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"le" = ( -/obj/machinery/porta_turret/syndicate/pod{ - dir = 5; - faction = list("pirate") - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"lu" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"lG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"lY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/medical) -"mr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "Bridge" - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"mF" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - id = "caravanpirate_bridge" - }, -/turf/open/floor/plating, -/area/ship/security) -"oa" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/bed, -/obj/item/bedsheet/brown, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"oF" = ( -/obj/structure/closet{ - name = "pirate outfits" - }, -/obj/item/clothing/head/collectable/pirate, -/obj/item/clothing/suit/pirate, -/obj/item/clothing/under/costume/pirate, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/head/bandana, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"oL" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/medical) -"oO" = ( -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/structure/frame/computer, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"oT" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/window/southleft{ - name = "Weapon Storage" - }, -/obj/item/grenade/smokebomb{ - pixel_x = -4 - }, -/obj/item/grenade/smokebomb{ - pixel_x = 2 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"oV" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"pS" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"qo" = ( -/obj/machinery/porta_turret/syndicate/pod{ - dir = 6; - faction = list("pirate") - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"qC" = ( -/obj/structure/table, -/obj/item/storage/fancy/donut_box{ - pixel_y = 18 - }, -/obj/item/storage/box/donkpockets{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/storage/box/donkpockets{ - pixel_x = -6 - }, -/obj/item/reagent_containers/food/drinks/bottle/rum{ - pixel_x = 8; - pixel_y = 3 - }, -/obj/structure/sign/poster/contraband/red_rum{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"qX" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/item/reagent_containers/glass/bucket, -/obj/item/mop, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"rI" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"su" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/ship/medical) -"th" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering{ - name = "Engineering" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"to" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/bottle/rum{ - pixel_x = 3; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/drinks/bottle/rum, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ty" = ( -/obj/structure/closet/crate/secure/loot, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"tM" = ( -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/pirate/ranged{ - environment_smash = 0 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"ul" = ( -/obj/structure/table, -/obj/item/retractor, -/obj/item/hemostat, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"un" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"uB" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/vacuum{ - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/ship/security) -"vd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"wa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/holopad/emergency/command, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"wk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/medical) -"wL" = ( -/obj/machinery/button/door{ - id = "caravanpirate_bolt_port"; - name = "External Bolt Control"; - normaldoorcontrol = 1; - pixel_x = -4; - pixel_y = 25; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/medical) -"wZ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"xg" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"yt" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"yu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"yW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/space_heater, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"zB" = ( -/obj/machinery/button/door{ - id = "caravanpirate_bolt_starboard"; - name = "External Bolt Control"; - normaldoorcontrol = 1; - pixel_x = -4; - pixel_y = -25; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"Ag" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Ah" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/external{ - id_tag = "caravanpirate_bolt_starboard" - }, -/turf/open/floor/plating, -/area/ship/security) -"Av" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/medical) -"AP" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/medical) -"Bi" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - id = "caravanpirate_bridge" - }, -/turf/open/floor/plating, -/area/ship/medical) -"BL" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/cell/high, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plating, -/area/ship/engineering) -"CF" = ( -/obj/structure/table, -/obj/item/storage/firstaid/brute{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/firstaid/fire, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Ek" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plating, -/area/ship/engineering) -"EB" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - pixel_y = -30; - req_access = null - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/mob/living/simple_animal/hostile/pirate/ranged{ - environment_smash = 0 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"EK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/medical) -"FM" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/closet/crate, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass{ - amount = 10 - }, -/obj/item/storage/toolbox/mechanical, -/obj/item/flashlight{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stack/sheet/mineral/plasma{ - amount = 20 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Gb" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Gh" = ( -/obj/machinery/atmospherics/components/unary/tank/air, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plating, -/area/ship/engineering) -"Gw" = ( -/obj/machinery/suit_storage_unit/open, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"GO" = ( -/obj/machinery/porta_turret/syndicate/pod{ - dir = 9; - faction = list("pirate") - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"GR" = ( -/obj/structure/table, -/obj/item/coin/gold, -/obj/item/coin/silver, -/obj/item/coin/silver, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Hp" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/security) -"Hq" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/corner/opaque/black, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/crew) -"HD" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"HO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security{ - name = "Armory" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"II" = ( -/obj/structure/closet/crate/freezer/surplus_limbs, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"IZ" = ( -/obj/item/stack/sheet/mineral/gold{ - amount = 25 - }, -/obj/item/stack/sheet/mineral/bananium{ - amount = 5 - }, -/obj/item/stack/sheet/mineral/silver{ - amount = 25 - }, -/obj/item/stack/sheet/mineral/uranium{ - amount = 10 - }, -/obj/item/stack/sheet/mineral/diamond{ - amount = 5 - }, -/obj/structure/closet/crate, -/obj/item/coin/silver, -/obj/item/coin/silver, -/obj/item/coin/silver, -/obj/item/coin/gold, -/obj/item/coin/gold, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Jb" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/external{ - id_tag = "caravanpirate_bolt_port" - }, -/obj/docking_port/mobile{ - callTime = 150; - dir = 2; - name = "Pirate Cutter"; - port_direction = 8; - preferred_direction = 4 - }, -/turf/open/floor/plating, -/area/ship/medical) -"Jv" = ( -/turf/template_noop, -/area/template_noop) -"Ka" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Kr" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/closet/crate/secure/loot, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Ku" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/external{ - id_tag = "caravanpirate_bolt_starboard" - }, -/turf/open/floor/plating, -/area/ship/security) -"Ld" = ( -/obj/machinery/suit_storage_unit/open, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"LG" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/medical) -"NE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/power/terminal, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ON" = ( -/obj/machinery/porta_turret/syndicate/pod{ - dir = 10; - faction = list("pirate") - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"Pc" = ( -/obj/structure/sign/departments/engineering, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering) -"Pn" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"Pp" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"PL" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/bed, -/obj/item/bedsheet/brown, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Qj" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"QQ" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) -"Rq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/medical) -"Rz" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/external{ - id_tag = "caravanpirate_bolt_port" - }, -/turf/open/floor/plating, -/area/ship/medical) -"RC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"RK" = ( -/obj/machinery/power/smes{ - charge = 5e+006 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Sk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"SF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/black, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/crew) -"Ty" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plating, -/area/ship/engineering) -"TK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/airalarm/directional/east, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"UP" = ( -/obj/structure/rack, -/obj/item/storage/toolbox/emergency, -/obj/item/weldingtool, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Wd" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/engineering) -"Yb" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/crew) -"Yo" = ( -/obj/structure/table, -/obj/item/storage/box/lethalshot, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Yw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Zo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Zp" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - id = "caravanpirate_bridge" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"ZD" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/west{ - brightness = 3 - }, -/obj/item/spacecash/bundle/c200, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ZY" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) - -(1,1,1) = {" -Jv -Jv -Wd -Pn -Pn -Pn -Jv -Pn -Pn -Pn -Wd -Jv -Jv -"} -(2,1,1) = {" -Jv -GO -af -HD -HD -HD -af -HD -HD -HD -af -ON -Jv -"} -(3,1,1) = {" -Jv -af -Ty -qX -yt -yW -af -RK -FM -jh -Ek -af -Jv -"} -(4,1,1) = {" -Jv -af -Gh -kY -Ka -fh -TK -hI -Ka -Zo -BL -af -Jv -"} -(5,1,1) = {" -Jv -af -af -th -Pc -af -af -af -Pc -th -af -af -Jv -"} -(6,1,1) = {" -Jv -LG -Ld -Rq -ig -ul -Hp -Yo -oV -un -Gw -Hp -Jv -"} -(7,1,1) = {" -oL -LG -LG -wk -su -Ag -Hp -kZ -tM -ja -Hp -Hp -QQ -"} -(8,1,1) = {" -Jb -gG -Rz -kl -EK -CF -Hp -Gb -pS -fU -Ku -uB -Ah -"} -(9,1,1) = {" -oL -LG -LG -wL -lY -cU -Hp -oT -hh -zB -Hp -Hp -QQ -"} -(10,1,1) = {" -Jv -Bi -Ld -aK -bH -II -Hp -iX -vd -Qj -Gw -mF -Jv -"} -(11,1,1) = {" -Jv -oL -LG -AP -Av -LG -Hp -Hp -HO -Hp -Hp -QQ -Jv -"} -(12,1,1) = {" -Jv -Jv -rI -aE -SF -Hq -Kr -Pp -RC -oF -rI -Jv -Jv -"} -(13,1,1) = {" -Jv -Jv -rI -oa -yu -hZ -wZ -de -iF -PL -rI -Jv -Jv -"} -(14,1,1) = {" -Jv -Jv -le -rI -xg -qC -IZ -Sk -ku -rI -qo -Jv -Jv -"} -(15,1,1) = {" -Jv -Jv -Jv -Yb -lu -lu -lu -mr -lu -Yb -Jv -Jv -Jv -"} -(16,1,1) = {" -Jv -Jv -Jv -Jv -lu -to -ZD -Yw -lu -Jv -Jv -Jv -Jv -"} -(17,1,1) = {" -Jv -Jv -Jv -Jv -lu -GR -ZY -NE -lu -Jv -Jv -Jv -Jv -"} -(18,1,1) = {" -Jv -Jv -Jv -Jv -lu -ty -lG -wa -lu -Jv -Jv -Jv -Jv -"} -(19,1,1) = {" -Jv -Jv -Jv -Jv -lu -UP -dE -gT -lu -Jv -Jv -Jv -Jv -"} -(20,1,1) = {" -Jv -Jv -Jv -Jv -Zp -oO -EB -bd -Zp -Jv -Jv -Jv -Jv -"} -(21,1,1) = {" -Jv -Jv -Jv -Jv -Zp -Zp -fL -Zp -Zp -Jv -Jv -Jv -Jv -"} -(22,1,1) = {" -Jv -Jv -Jv -Jv -Jv -Zp -Zp -Zp -Jv -Jv -Jv -Jv -Jv -"} diff --git a/_maps/shuttles/ruin/ruin_solgov_exploration_pod.dmm b/_maps/shuttles/ruin/ruin_solgov_exploration_pod.dmm deleted file mode 100644 index 6ab4c6c19195..000000000000 --- a/_maps/shuttles/ruin/ruin_solgov_exploration_pod.dmm +++ /dev/null @@ -1,155 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/bridge) -"d" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/turf/open/floor/plating, -/area/ship/bridge) -"g" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"j" = ( -/obj/machinery/computer/helm{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) -"s" = ( -/obj/machinery/power/smes/shuttle{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/window/westright, -/turf/open/floor/plating, -/area/ship/bridge) -"w" = ( -/obj/machinery/power/smes/shuttle{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/window/westleft, -/turf/open/floor/plating, -/area/ship/bridge) -"y" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/ship/bridge) -"z" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"B" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/holopad/emergency/command, -/turf/open/floor/mineral/titanium/yellow, -/area/ship/bridge) -"E" = ( -/obj/structure/frame/computer{ - anchored = 1; - dir = 4 - }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) -"G" = ( -/obj/machinery/door/airlock/titanium, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/docking_port/mobile{ - height = 6; - name = "SolGov Exploration Pod"; - port_direction = 8; - preferred_direction = 4; - width = 4 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"J" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/ship/bridge) -"U" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/ship/bridge) -"Y" = ( -/obj/machinery/door/airlock/titanium, -/turf/open/floor/plating, -/area/ship/bridge) - -(1,1,1) = {" -a -d -d -a -"} -(2,1,1) = {" -d -E -j -d -"} -(3,1,1) = {" -a -y -J -a -"} -(4,1,1) = {" -Y -U -B -G -"} -(5,1,1) = {" -a -s -w -a -"} -(6,1,1) = {" -z -g -g -z -"} diff --git a/_maps/shuttles/ruin/ruin_syndicate_dropship.dmm b/_maps/shuttles/ruin/ruin_syndicate_dropship.dmm deleted file mode 100644 index edec2afb3308..000000000000 --- a/_maps/shuttles/ruin/ruin_syndicate_dropship.dmm +++ /dev/null @@ -1,771 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"al" = ( -/obj/machinery/airalarm/syndicate{ - dir = 4; - pixel_x = -25 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"az" = ( -/obj/machinery/power/apc/syndicate{ - dir = 8; - name = "Syndicate Drop Ship APC"; - pixel_x = -25 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/structure/table, -/obj/item/storage/toolbox/emergency, -/turf/open/floor/plating, -/area/ship/crew) -"bo" = ( -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"bB" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/button/door{ - id = "caravansyndicate3_bolt_starboard"; - name = "External Bolt Control"; - normaldoorcontrol = 1; - pixel_x = -25; - pixel_y = -6; - req_access_txt = "150"; - specialfunctions = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"bN" = ( -/obj/machinery/power/smes{ - charge = 5e+006 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/obj/structure/cable/yellow, -/turf/open/floor/plating, -/area/ship/crew) -"cB" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"dZ" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/crew) -"gl" = ( -/obj/machinery/door/airlock/hatch{ - id_tag = "caravansyndicate3_bolt_port"; - name = "External Airlock"; - normalspeed = 0; - req_access_txt = "150" - }, -/obj/docking_port/mobile{ - dir = 2; - dwidth = 6; - height = 7; - name = "Syndicate Drop Ship"; - port_direction = 8; - preferred_direction = 4; - width = 15 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/plating, -/area/ship/crew) -"ha" = ( -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/obj/item/wrench, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/crew) -"ka" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/ship/crew) -"ns" = ( -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - id = "caravansyndicate3_bridge"; - name = "Bridge Blast Door Control"; - pixel_x = -16; - pixel_y = 5; - req_access_txt = "150" - }, -/obj/machinery/button/door{ - id = "caravansyndicate3_bolt_bridge"; - name = "Bridge Bolt Control"; - normaldoorcontrol = 1; - pixel_x = -16; - pixel_y = -5; - req_access_txt = "150"; - specialfunctions = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"qE" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/syndicate{ - anchored = 1 - }, -/obj/item/clothing/under/syndicate, -/obj/item/clothing/shoes/sneakers/black, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) -"rz" = ( -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/machinery/computer/helm{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"rU" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - id = "caravansyndicate3_bridge" - }, -/turf/open/floor/plating, -/area/ship/crew) -"rV" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/pod/dark, -/area/ship/crew) -"sb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/structure/frame/computer{ - anchored = 1; - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"sn" = ( -/obj/structure/chair/comfy/shuttle, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/pod/dark, -/area/ship/crew) -"ss" = ( -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"uy" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"vw" = ( -/obj/structure/table/reinforced, -/obj/item/storage/firstaid/regular, -/obj/item/assembly/flash/handheld, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"wH" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/crew) -"xC" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/button/door{ - id = "caravansyndicate3_bolt_port"; - name = "External Bolt Control"; - normaldoorcontrol = 1; - pixel_x = -25; - pixel_y = 6; - req_access_txt = "150"; - specialfunctions = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Bp" = ( -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"BQ" = ( -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Cm" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/machinery/firealarm/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/pod/dark, -/area/ship/crew) -"Dt" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/syndicate{ - anchored = 1 - }, -/obj/item/storage/box/syndie_kit/chameleon, -/obj/item/crowbar/red, -/obj/machinery/light/small/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) -"Dx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"EO" = ( -/obj/structure/chair/comfy/shuttle, -/obj/machinery/airalarm/syndicate{ - pixel_y = 25 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/pod/dark, -/area/ship/crew) -"Fa" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/syndicate{ - anchored = 1 - }, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/shoes/jackboots, -/obj/item/storage/belt/military, -/obj/item/crowbar/red, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) -"Gx" = ( -/obj/machinery/airalarm/syndicate{ - dir = 4; - pixel_x = -25 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"HJ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/sign/warning/vacuum{ - pixel_y = -32 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/syndicate{ - anchored = 1 - }, -/obj/item/clothing/under/syndicate/combat, -/obj/item/storage/belt/military, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) -"HM" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/mob/living/simple_animal/hostile/syndicate/ranged/smg/pilot{ - environment_smash = 0 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Ij" = ( -/obj/machinery/turretid{ - ailock = 1; - desc = "A specially designed set of turret controls. Looks to be covered in protective casing to prevent AI interfacing."; - icon_state = "control_kill"; - lethal = 1; - name = "Shuttle turret control"; - pixel_y = 34; - req_access = null; - req_access_txt = "150" - }, -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"IR" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/hatch{ - id_tag = "caravansyndicate3_bolt_bridge"; - name = "Bridge"; - req_access_txt = "150" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"IU" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Jv" = ( -/turf/template_noop, -/area/template_noop) -"KS" = ( -/obj/machinery/door/airlock/hatch{ - id_tag = "caravansyndicate3_bolt_starboard"; - name = "External Airlock"; - normalspeed = 0; - req_access_txt = "150" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/crew) -"Lq" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/closet/syndicate{ - anchored = 1 - }, -/obj/structure/sign/warning/vacuum{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/shoes/sneakers/black, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) -"NH" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/closet/syndicate{ - anchored = 1 - }, -/obj/item/clothing/under/syndicate, -/obj/item/clothing/glasses/night, -/obj/machinery/light/small/directional/north, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) -"Pt" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/closet/crate, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass{ - amount = 10 - }, -/obj/item/stack/sheet/mineral/plastitanium{ - amount = 20 - }, -/obj/item/storage/box/lights/bulbs, -/obj/item/storage/toolbox/mechanical, -/obj/item/stack/sheet/mineral/plasma{ - amount = 20 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, -/turf/open/floor/plating, -/area/ship/crew) -"PL" = ( -/obj/machinery/porta_turret/syndicate/energy, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"PY" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/hatch/yellow{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ship/crew) -"Rj" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 1 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"Sl" = ( -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/emergency, -/obj/item/wrench, -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Tn" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"UD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"US" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Vf" = ( -/obj/machinery/door/airlock/hatch{ - name = "Ready Room"; - req_access_txt = "150" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Wr" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"YU" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/structure/closet/syndicate{ - anchored = 1 - }, -/obj/item/clothing/under/syndicate/combat, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) -"ZB" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/crew) -"ZI" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/syndicate{ - anchored = 1 - }, -/obj/item/clothing/shoes/jackboots, -/obj/item/crowbar/red, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) -"ZJ" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "fuel pump" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"ZK" = ( -/obj/machinery/computer/crew{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"ZZ" = ( -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/holopad/emergency/command, -/turf/open/floor/plasteel/dark, -/area/ship/crew) - -(1,1,1) = {" -ZB -Jv -dZ -dZ -dZ -Jv -ZB -"} -(2,1,1) = {" -Tn -Tn -wH -wH -wH -Tn -Tn -"} -(3,1,1) = {" -Tn -az -bN -Pt -ha -PY -Tn -"} -(4,1,1) = {" -Tn -sn -US -ZJ -BQ -ka -Tn -"} -(5,1,1) = {" -Tn -EO -ss -IU -Bp -Cm -Tn -"} -(6,1,1) = {" -Tn -sn -ss -cB -UD -rV -Tn -"} -(7,1,1) = {" -Tn -NH -Fa -cB -qE -Dt -Tn -"} -(8,1,1) = {" -Rj -Tn -Tn -Vf -Tn -Tn -PL -"} -(9,1,1) = {" -gl -xC -al -cB -bo -bB -KS -"} -(10,1,1) = {" -Tn -Lq -YU -Dx -ZI -HJ -Tn -"} -(11,1,1) = {" -Tn -Tn -Tn -IR -Tn -Tn -Tn -"} -(12,1,1) = {" -Tn -uy -Gx -cB -ZZ -Sl -Tn -"} -(13,1,1) = {" -rU -ns -Ij -HM -Wr -vw -rU -"} -(14,1,1) = {" -rU -rU -sb -rz -ZK -rU -rU -"} -(15,1,1) = {" -Jv -rU -rU -rU -rU -rU -Jv -"} diff --git a/_maps/shuttles/ruin/ruin_syndicate_fighter_shiv.dmm b/_maps/shuttles/ruin/ruin_syndicate_fighter_shiv.dmm deleted file mode 100644 index 34f45b2b62da..000000000000 --- a/_maps/shuttles/ruin/ruin_syndicate_fighter_shiv.dmm +++ /dev/null @@ -1,230 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aA" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/mob/living/simple_animal/hostile/syndicate/ranged/smg/pilot{ - environment_smash = 0 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security) -"cU" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 1 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) -"dw" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) -"eC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/toxins, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security) -"fh" = ( -/obj/machinery/camera/xray{ - c_tag = "External View"; - dir = 4; - network = list("caravansyndicate1"); - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 1 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) -"na" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) -"qx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/turretid{ - ailock = 1; - desc = "A specially designed set of turret controls. Looks to be covered in protective casing to prevent AI interfacing."; - icon_state = "control_kill"; - lethal = 1; - name = "Shuttle turret control"; - pixel_x = 32; - req_access = null; - req_access_txt = "150" - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "engine fuel pump" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security) -"tH" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) -"tU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/security, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security) -"us" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/security) -"uW" = ( -/obj/machinery/button/door{ - id = "caravansyndicate1_bolt"; - name = "External Bolt Control"; - normaldoorcontrol = 1; - pixel_x = -25; - req_access_txt = "150"; - specialfunctions = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/frame/computer{ - anchored = 1; - - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security) -"vD" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 4 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) -"vK" = ( -/obj/machinery/power/apc/highcap/fifteen_k{ - dir = 8; - name = "Syndicate Fighter APC"; - pixel_x = -25; - req_access_txt = "150" - }, -/obj/machinery/computer/helm{ - dir = 1 - }, -/obj/item/radio/intercom/wideband/directional/north, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security) -"wV" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/hatch{ - id_tag = "caravansyndicate1_bolt"; - name = "External Airlock"; - normalspeed = 0; - req_access_txt = "150" - }, -/obj/effect/decal/cleanable/dirt, -/obj/docking_port/mobile{ - callTime = 50; - dir = 4; - dwidth = 4; - height = 5; - ignitionTime = 25; - name = "Syndicate Fighter"; - port_direction = 2; - preferred_direction = 4; - width = 9 - }, -/turf/open/floor/plating, -/area/ship/security) -"zu" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 1 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) -"Fs" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) -"Jv" = ( -/turf/template_noop, -/area/template_noop) -"YP" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) -"YX" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) - -(1,1,1) = {" -Jv -us -YX -YX -wV -YX -YX -us -Jv -"} -(2,1,1) = {" -Jv -YP -YX -uW -aA -vK -YX -YP -Jv -"} -(3,1,1) = {" -YX -na -YX -tU -qx -eC -YX -na -YX -"} -(4,1,1) = {" -YX -Fs -cU -dw -fh -zu -cU -tH -YX -"} -(5,1,1) = {" -vD -Jv -Jv -Jv -Jv -Jv -Jv -Jv -vD -"} diff --git a/_maps/shuttles/ruin/ruin_syndicate_interceptor.dmm b/_maps/shuttles/ruin/ruin_syndicate_interceptor.dmm deleted file mode 100644 index d08a43ace5fb..000000000000 --- a/_maps/shuttles/ruin/ruin_syndicate_interceptor.dmm +++ /dev/null @@ -1,267 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/template_noop, -/area/template_noop) -"b" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"c" = ( -/obj/structure/chair/comfy/shuttle{ - name = "Grav Couch"; - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) -"h" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/preopen{ - id = "jbs04EM" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"i" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"n" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"s" = ( -/obj/machinery/atmospherics/pipe/manifold/orange{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"u" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"v" = ( -/obj/structure/sign/syndicate, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"B" = ( -/obj/structure/sign/syndicate, -/obj/docking_port/mobile{ - dir = 4; - port_direction = 4; - preferred_direction = 2 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"D" = ( -/obj/machinery/atmospherics/pipe/manifold/orange{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plating, -/area/ship/bridge) -"E" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/door/poddoor/preopen{ - id = "jbs04EM" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"F" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced{ - dir = 8 - }, -/obj/item/clothing/suit/space/pilot, -/obj/item/clothing/head/helmet/space/pilot, -/obj/item/tank/jetpack/oxygen, -/obj/machinery/door/poddoor/preopen{ - id = "jbs04EM" - }, -/obj/machinery/suit_storage_unit/inherit, -/turf/open/floor/plating, -/area/ship/bridge) -"I" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"L" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"M" = ( -/obj/structure{ - desc = "A devastating strike weapon of times past. The mountings seem broken now."; - dir = 4; - icon = 'icons/mecha/mecha_equipment.dmi'; - icon_state = "mecha_missilerack_six"; - name = "ancient missile rack"; - pixel_x = 7; - pixel_y = 11 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"N" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/turf/open/floor/engine/hull, -/area/ship/bridge) -"O" = ( -/obj/structure{ - desc = "A formerly deadly laser cannon, now stuck rusting on a fightercraft."; - dir = 4; - icon = 'icons/obj/turrets.dmi'; - icon_state = "syndie_off"; - name = "defunct laser cannon"; - pixel_x = 8 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"Q" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, -/obj/effect/turf_decal/number/zero{ - pixel_x = -6 - }, -/obj/effect/turf_decal/number/four{ - pixel_x = 6 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"V" = ( -/obj/machinery/computer/helm{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) -"W" = ( -/obj/structure{ - desc = "A devastating strike weapon of times past. The mountings seem broken now."; - dir = 4; - icon = 'icons/mecha/mecha_equipment.dmi'; - icon_state = "mecha_missilerack_six"; - name = "ancient missile rack"; - pixel_x = 7; - pixel_y = -5 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"X" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"Y" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/button/door{ - pixel_y = 26; - pixel_x = 5; - id = "jbs04EM"; - name = "Emergency Lockdown" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) - -(1,1,1) = {" -a -a -a -B -a -a -a -"} -(2,1,1) = {" -a -a -N -b -N -a -a -"} -(3,1,1) = {" -O -L -I -b -I -L -O -"} -(4,1,1) = {" -a -n -s -D -i -b -a -"} -(5,1,1) = {" -a -W -L -u -L -M -a -"} -(6,1,1) = {" -a -a -X -F -Q -a -a -"} -(7,1,1) = {" -a -a -b -Y -E -a -a -"} -(8,1,1) = {" -a -a -v -c -v -a -a -"} -(9,1,1) = {" -a -a -h -V -h -a -a -"} -(10,1,1) = {" -a -a -h -h -h -a -a -"} diff --git a/_maps/shuttles/shiptest/solgov_chronicle.dmm b/_maps/shuttles/solgov/solgov_chronicle.dmm similarity index 100% rename from _maps/shuttles/shiptest/solgov_chronicle.dmm rename to _maps/shuttles/solgov/solgov_chronicle.dmm diff --git a/_maps/shuttles/solgov/solgov_inkwell.dmm b/_maps/shuttles/solgov/solgov_inkwell.dmm new file mode 100644 index 000000000000..3c8e75a7ace0 --- /dev/null +++ b/_maps/shuttles/solgov/solgov_inkwell.dmm @@ -0,0 +1,8990 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"af" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/storage) +"am" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"ao" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"aq" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/mining/glass{ + dir = 4; + name = "Cargo" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/starboard) +"ar" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/library) +"aO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"bf" = ( +/obj/effect/turf_decal/corner/opaque/solgovgold/three_quarters, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"bh" = ( +/obj/structure/bed, +/obj/item/bedsheet/solgov, +/obj/structure/sign/solgov_flag{ + dir = 8; + pixel_x = 28 + }, +/obj/structure/sign/poster/solgov/random{ + pixel_y = 32 + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormthree) +"bn" = ( +/obj/structure/fluff/hedge/opaque, +/obj/effect/turf_decal/siding/wood{ + color = "#543c30" + }, +/obj/machinery/button/door{ + dir = 8; + id = "sgi_captainbolt"; + name = "bolt control"; + pixel_x = 20; + pixel_y = 6; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormtwo) +"br" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"bs" = ( +/obj/structure/bookcase/random, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"bt" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + name = "ship engineer's locker"; + populate = 0 + }, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/head/hardhat/solgov, +/obj/item/folder/solgov, +/obj/item/clipboard, +/obj/item/clothing/under/solgov/formal, +/obj/item/clothing/under/solgov, +/obj/item/clothing/accessory/armband/engine, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/glasses/welding, +/obj/item/clothing/head/welding, +/obj/item/pen/solgov, +/obj/item/clothing/suit/hazardvest/solgov, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/gloves/combat, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/industrial/outline/orange, +/obj/item/clothing/glasses/meson/prescription, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"bu" = ( +/obj/structure/closet/secure_closet/security{ + populate = 0; + name = "sonnensöldners's locker"; + anchored = 1 + }, +/obj/item/clothing/head/solgov/sonnensoldner, +/obj/item/radio{ + icon_state = "sec_radio" + }, +/obj/item/clothing/under/solgov/formal, +/obj/item/clothing/under/solgov/dress, +/obj/item/clothing/under/solgov, +/obj/item/clothing/shoes/workboots, +/obj/item/storage/belt/sabre/solgov, +/obj/item/clothing/gloves/combat, +/obj/item/radio/headset/solgov/alt, +/obj/item/storage/backpack, +/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"bB" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"bI" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"bS" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/starboard) +"bU" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/crew/library) +"ce" = ( +/obj/structure/sign/solgov_seal{ + pixel_y = 0; + pixel_x = 28 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"cn" = ( +/obj/structure/fluff/hedge, +/obj/machinery/light/directional/north, +/turf/open/floor/wood/birch, +/area/ship/hallway/starboard) +"co" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"ct" = ( +/obj/machinery/modular_computer/console/preset/id{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ship/bridge) +"cz" = ( +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/item/kirbyplants{ + icon_state = "plant-22"; + pixel_y = 11; + pixel_x = -6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"cG" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"cH" = ( +/obj/structure/curtain, +/obj/machinery/shower{ + dir = 1 + }, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"cI" = ( +/obj/structure/closet/secure_closet/security{ + populate = 0; + name = "sonnensöldners's locker"; + anchored = 1 + }, +/obj/item/clothing/head/solgov/sonnensoldner, +/obj/item/radio{ + icon_state = "sec_radio" + }, +/obj/item/clothing/under/solgov/formal, +/obj/item/clothing/under/solgov/dress, +/obj/item/clothing/under/solgov, +/obj/item/clothing/shoes/workboots, +/obj/item/storage/belt/sabre/solgov, +/obj/item/clothing/gloves/combat, +/obj/item/radio/headset/solgov/alt, +/obj/item/storage/backpack, +/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"cL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/holopad/emergency/command, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormtwo) +"cO" = ( +/obj/effect/turf_decal/solgov/wood/center_right, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/wood, +/area/ship/bridge) +"cQ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) +"cX" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) +"da" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"db" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/arrows{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"df" = ( +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 9 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"dm" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/library) +"dn" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/solgov{ + dir = 4; + req_one_access = list(20); + name = "Captain's Quarters"; + id_tag = "sgi_captainbolt" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm/dormtwo) +"dp" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 21 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"dv" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull, +/area/ship/maintenance/starboard) +"dw" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/crew/dorm/dormtwo) +"dE" = ( +/obj/structure/railing/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 22; + pixel_y = 10; + name = "external shutters control"; + id = "sgi_cafeteria" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"dH" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"dK" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/structure/closet/crate/bin, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"dM" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"dQ" = ( +/obj/structure/chair/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"dR" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"dT" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 4; + id = "sgi_cargo1"; + name = "blast door control"; + pixel_x = -20; + pixel_y = -7 + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = 2; + pixel_x = -18; + id = "sgi_holocargo1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"dY" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/wood/birch, +/area/ship/crew/canteen) +"ea" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/toilet) +"eb" = ( +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"ec" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/canteen) +"ek" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"en" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"eq" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/structure/railing/corner/wood{ + color = "#543C30" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormtwo) +"ex" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"ez" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/table/wood, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"eA" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"eB" = ( +/obj/structure/curtain, +/obj/machinery/shower{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 4; + id = "sgi_bolt"; + name = "bathroom lock"; + pixel_x = -20; + pixel_y = 7; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"eD" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"eM" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "sgi_captain" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm/dormtwo) +"eQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/canteen) +"eX" = ( +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 6 + }, +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"ff" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/starboard) +"fi" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"fj" = ( +/obj/structure/chair/wood, +/obj/machinery/light/directional/north, +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"fk" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"ft" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/crew/dorm) +"fv" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"fB" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"fC" = ( +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/storage) +"fE" = ( +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"fG" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/techfloor/orange{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 8 + }, +/obj/structure/sign/poster/solgov/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"fI" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/computer/helm/viewscreen/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"fO" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"fQ" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/hallway/starboard) +"fU" = ( +/obj/structure/chair/office, +/turf/open/floor/wood/maple, +/area/ship/bridge) +"fZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/closed/wall/mineral/titanium, +/area/ship/security/armory) +"gf" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/hallway/starboard) +"gi" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"gm" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 5 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/storage) +"gn" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "sgi_office" + }, +/turf/open/floor/plating, +/area/ship/crew/office) +"gp" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/storage) +"gr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"gu" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"gw" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"gI" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/machinery/light/floor, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"gP" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"gS" = ( +/obj/machinery/suit_storage_unit/solgov, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormthree) +"gV" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"gW" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"ha" = ( +/obj/structure/rack, +/obj/item/storage/box/emptysandbags{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/storage/box/emptysandbags, +/obj/item/storage/box/emptysandbags{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/structure/rack, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"hg" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/solgov, +/obj/item/tank/jetpack/oxygen, +/turf/open/floor/wood/maple, +/area/ship/crew/dorm/dormtwo) +"hl" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/structure/closet/emcloset/wall{ + dir = 1; + pixel_y = -28 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"hm" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_y = 7; + pixel_x = 16 + }, +/obj/item/paper_bin, +/obj/item/pen/solgov, +/obj/machinery/light/directional/north, +/turf/open/floor/carpet/blue, +/area/ship/crew/office) +"hw" = ( +/obj/structure/bed, +/obj/item/bedsheet/solgov, +/obj/structure/curtain/cloth, +/obj/machinery/light/directional/west, +/turf/open/floor/carpet/blue, +/area/ship/crew/dorm) +"hB" = ( +/obj/structure/closet/crate/wooden, +/obj/item/paper_bin/bundlenatural, +/obj/item/paper_bin/bundlenatural, +/obj/item/paper_bin/bundlenatural, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/folder/solgov, +/obj/item/folder/solgov, +/obj/item/folder/solgov, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"hE" = ( +/obj/machinery/porta_turret/ship/solgov, +/turf/closed/wall/mineral/titanium, +/area/ship/bridge) +"hF" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/library) +"hJ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/stack/sheet/mineral/plasma/twenty, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"hM" = ( +/obj/structure/railing/wood, +/obj/structure/chair/stool/bar, +/obj/effect/turf_decal/siding/wood, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/wood/birch, +/area/ship/crew/canteen) +"hR" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"hS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/office) +"ia" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"ib" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/item/hand_labeler{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"ic" = ( +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"if" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/table/wood, +/obj/item/screwdriver{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/item/hand_labeler{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/machinery/newscaster/security_unit/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"ij" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"iq" = ( +/obj/structure/closet/crate{ + name = "space suits crate" + }, +/obj/item/clothing/suit/space/solgov, +/obj/item/clothing/suit/space/solgov, +/obj/item/clothing/suit/space/solgov, +/obj/item/clothing/head/helmet/space/solgov, +/obj/item/clothing/head/helmet/space/solgov, +/obj/item/clothing/head/helmet/space/solgov, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"iu" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormtwo) +"iy" = ( +/obj/effect/turf_decal/box/corners, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/arrows{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"iD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/office) +"iE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"iG" = ( +/turf/template_noop, +/area/template_noop) +"iI" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/machinery/cryopod{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"iJ" = ( +/obj/item/clothing/neck/stripedsolgovscarf, +/obj/item/clothing/neck/stripedsolgovscarf, +/obj/item/clothing/under/solgov, +/obj/item/clothing/under/solgov, +/obj/item/clothing/under/solgov/dress, +/obj/item/clothing/under/solgov/formal, +/obj/item/clothing/under/solgov/formal, +/obj/item/clothing/shoes/laceup, +/obj/item/clothing/shoes/laceup, +/obj/item/clothing/head/beret/solgov/plain, +/obj/item/clothing/head/beret/solgov/plain, +/obj/item/clothing/suit/solgov, +/obj/item/clothing/suit/solgov/dress, +/obj/item/clothing/suit/solgov/jacket, +/obj/item/clothing/under/solgov/formal/skirt, +/obj/item/clothing/suit/solgov/suit, +/obj/structure/table/wood, +/obj/structure/closet/wall{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/button/door{ + pixel_y = -21; + pixel_x = -8; + dir = 1; + id = "sgi_dorms"; + name = "dorms shutters control" + }, +/obj/item/clothing/suit/hooded/wintercoat/solgov, +/obj/item/clothing/suit/hooded/wintercoat/solgov, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"iL" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/hallway/starboard) +"iM" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"iR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"jc" = ( +/obj/structure/chair/wood, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"je" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 8 + }, +/obj/machinery/light/floor, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"jf" = ( +/obj/structure/table/wood, +/obj/item/table_bell{ + pixel_x = -6; + pixel_y = 9 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"jh" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"jo" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/wood, +/area/ship/crew/office) +"jv" = ( +/turf/open/floor/wood, +/area/ship/crew/canteen) +"jw" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"jE" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"jM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"jP" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"jX" = ( +/obj/structure/chair/sofa/left{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/blue, +/area/ship/crew/canteen/kitchen) +"ka" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/machinery/suit_storage_unit/solgov, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"ke" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"kf" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/closet/cabinet{ + name = "armor cabinet" + }, +/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/item/clothing/head/solgov/sonnensoldner, +/obj/item/clothing/head/solgov/sonnensoldner, +/obj/item/clothing/head/solgov/sonnensoldner, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"km" = ( +/obj/structure/table/wood, +/obj/item/storage/belt/utility{ + pixel_y = 6 + }, +/obj/item/radio/intercom/directional/north, +/obj/item/multitool{ + pixel_x = 7; + pixel_y = 2 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 2 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"ks" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/solgov/random{ + pixel_y = 32 + }, +/turf/open/floor/wood, +/area/ship/hallway/starboard) +"ku" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"kx" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"kz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"kB" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Electrical Room"; + req_one_access = list(10) + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"kK" = ( +/obj/machinery/door/window/brigdoor/westleft, +/obj/structure/rack, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security/armory) +"kL" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/solgov/glass{ + dir = 4; + name = "Offices" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/starboard) +"kN" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"kR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/wood, +/area/ship/crew/office) +"kZ" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/newscaster/security_unit/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"lh" = ( +/obj/item/clothing/neck/stripedsolgovscarf, +/obj/item/clothing/neck/stripedsolgovscarf, +/obj/item/clothing/under/solgov, +/obj/item/clothing/under/solgov, +/obj/item/clothing/under/solgov/dress, +/obj/item/clothing/under/solgov/formal, +/obj/item/clothing/under/solgov/formal, +/obj/item/clothing/shoes/laceup, +/obj/item/clothing/shoes/laceup, +/obj/item/clothing/head/beret/solgov/plain, +/obj/item/clothing/head/beret/solgov/plain, +/obj/item/clothing/suit/solgov, +/obj/item/clothing/suit/solgov/dress, +/obj/item/clothing/suit/solgov/jacket, +/obj/item/clothing/under/solgov/formal/skirt, +/obj/item/clothing/suit/solgov/suit, +/obj/structure/table/wood, +/obj/structure/closet/wall{ + dir = 8; + pixel_x = 28 + }, +/obj/item/clothing/suit/hooded/wintercoat/solgov, +/obj/item/clothing/suit/hooded/wintercoat/solgov, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"li" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_y = 7; + pixel_x = 16 + }, +/obj/item/folder/solgov, +/obj/machinery/light/directional/south, +/turf/open/floor/carpet/blue, +/area/ship/crew/office) +"lj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/turretid/lethal{ + pixel_y = 0; + pixel_x = -26 + }, +/turf/open/floor/plasteel/stairs/wood{ + dir = 1 + }, +/area/ship/bridge) +"ln" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/maintenance/starboard) +"lq" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"lu" = ( +/obj/machinery/photocopier, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"lx" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/structure/rack, +/obj/structure/window/reinforced, +/obj/item/storage/box/handcuffs, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"lB" = ( +/obj/structure/fluff/hedge/opaque, +/obj/effect/turf_decal/siding/wood{ + color = "#D5A66E"; + dir = 1 + }, +/turf/open/floor/wood/birch, +/area/ship/crew/dorm/dormthree) +"lD" = ( +/obj/structure/bed, +/obj/item/bedsheet/solgov, +/obj/structure/curtain/cloth, +/obj/machinery/firealarm/directional/south, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/blue, +/area/ship/crew/dorm) +"lT" = ( +/obj/structure/railing/corner/wood{ + color = "#543C30"; + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"lW" = ( +/obj/structure/railing/corner/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/newscaster/security_unit/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/canteen) +"lX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"md" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"mf" = ( +/obj/item/kirbyplants{ + icon_state = "applebush"; + pixel_y = 2; + pixel_x = -5 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/wood/birch, +/area/ship/crew/office) +"my" = ( +/obj/structure/fluff/hedge, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"mz" = ( +/obj/structure/closet/crate, +/obj/item/reagent_containers/food/snacks/store/bread/plain, +/obj/item/reagent_containers/food/snacks/store/bread/plain, +/obj/item/reagent_containers/food/snacks/store/bread/plain, +/obj/item/reagent_containers/food/snacks/store/bread/plain, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"mA" = ( +/obj/structure/fluff/hedge, +/turf/open/floor/wood/birch, +/area/ship/crew/office) +"mB" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/radio/intercom/directional/south, +/obj/machinery/advanced_airlock_controller{ + pixel_x = -25; + pixel_y = 2 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"mD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormtwo) +"mQ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Field Engineer Locker Room"; + req_one_access = list(10,31) + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/starboard) +"mY" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"nc" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"nf" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/office) +"ng" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"nh" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543c30" + }, +/obj/structure/railing/wood{ + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/industrial/stand_clear, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"ni" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/maintenance/starboard) +"nk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 21 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"no" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"np" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"nx" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"ny" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"nA" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/reagent_containers/food/snacks/meat/slab, +/obj/item/reagent_containers/food/snacks/meat/slab, +/obj/item/reagent_containers/food/snacks/meat/slab, +/obj/item/reagent_containers/food/snacks/meat/slab, +/obj/item/reagent_containers/food/snacks/meat/slab, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/food/snacks/grown/cocoapod, +/obj/item/reagent_containers/food/snacks/grown/cocoapod, +/obj/item/reagent_containers/food/snacks/grown/citrus/orange, +/obj/item/reagent_containers/food/snacks/grown/citrus/orange, +/obj/item/reagent_containers/food/snacks/grown/apple, +/obj/item/reagent_containers/food/snacks/grown/apple, +/obj/item/reagent_containers/food/snacks/grown/tomato, +/obj/item/reagent_containers/food/snacks/grown/tomato, +/obj/item/reagent_containers/food/snacks/grown/carrot, +/obj/item/reagent_containers/food/snacks/grown/carrot, +/obj/item/reagent_containers/food/snacks/grown/potato, +/obj/item/reagent_containers/food/snacks/grown/potato, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"nB" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"nC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/office) +"nJ" = ( +/obj/effect/turf_decal/techfloor/orange/corner, +/obj/effect/turf_decal/techfloor/orange/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 4; + name = "Air to Distro" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"nL" = ( +/obj/structure/table/wood, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/plus, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"nO" = ( +/obj/machinery/computer/cargo/express/solgov, +/turf/open/floor/wood/maple, +/area/ship/bridge) +"nR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "sgi_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"nV" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/structure/railing/wood{ + color = "#543C30"; + dir = 1 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"nY" = ( +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/wood/birch, +/area/ship/crew/office) +"of" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 11; + pixel_y = -16 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/wood, +/area/ship/hallway/starboard) +"og" = ( +/obj/structure/bookcase/random, +/obj/machinery/light/directional/west, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"oi" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"op" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + id = "sgi_engine"; + dir = 4 + }, +/obj/machinery/door/window/westright{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/port) +"or" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/solgov{ + name = "Cryogenics" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/cryo) +"os" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 11; + pixel_y = -14 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"oC" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"oG" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ + dir = 5 + }, +/obj/machinery/light/directional/south, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"oH" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"oN" = ( +/obj/structure/bookcase/random, +/obj/structure/sign/poster/solgov/random{ + pixel_x = -32 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"oR" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"pc" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/structure/mirror{ + pixel_x = 25 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"pd" = ( +/obj/machinery/fax, +/obj/structure/table/wood/fancy/purple, +/turf/open/floor/wood/maple, +/area/ship/crew/dorm/dormtwo) +"ph" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 10 + }, +/obj/machinery/newscaster/security_unit/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"pr" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"ps" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"pu" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormtwo) +"px" = ( +/obj/structure/rack, +/obj/item/shovel, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"py" = ( +/obj/structure/filingcabinet/double, +/obj/item/documents/solgov, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/wood/maple, +/area/ship/crew/dorm/dormtwo) +"pG" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#D5A66E" + }, +/obj/structure/railing/wood{ + dir = 1; + color = "#D5A66E" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -12 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/dorm/dormthree) +"pK" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"pL" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#D5A66E"; + dir = 10 + }, +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/dorm/dormthree) +"pS" = ( +/obj/structure/table/wood, +/turf/open/floor/carpet/blue, +/area/ship/crew/canteen/kitchen) +"qc" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "sgi_cafeteria" + }, +/turf/open/floor/plating, +/area/ship/crew/canteen/kitchen) +"qe" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs/wood{ + dir = 1 + }, +/area/ship/bridge) +"qh" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"qp" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "sgi_cargo1" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "sgi_holocargo1" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"qs" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/techfloor/orange{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 11; + pixel_y = -14 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"qt" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/obj/effect/spawner/lootdrop/maintenance/three, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"qw" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"qx" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/machinery/suit_storage_unit/solgov, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"qB" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/sign/poster/solgov/random{ + pixel_x = 32 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"qE" = ( +/obj/structure/table/wood, +/obj/item/kitchen/knife/letter_opener{ + pixel_x = -13; + icon_state = "letter_opener_b"; + pixel_y = 4; + name = "boxcutter" + }, +/obj/item/storage/box/shipping, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 2 + }, +/obj/structure/sign/poster/solgov/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"qG" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) +"qM" = ( +/obj/machinery/light/floor, +/obj/structure/sign/solgov_seal{ + pixel_y = 0; + pixel_x = 28 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"qP" = ( +/obj/machinery/computer/crew/solgov{ + dir = 1 + }, +/turf/open/floor/wood/maple, +/area/ship/bridge) +"qS" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/structure/closet/wall{ + pixel_y = 28 + }, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"rb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"rm" = ( +/obj/effect/spawner/lootdrop/crate_spawner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"rz" = ( +/obj/machinery/holopad/emergency/command, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/bridge) +"rD" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"rM" = ( +/obj/effect/turf_decal/box/corners, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"rN" = ( +/obj/structure/closet/secure_closet/miner{ + name = "field engineer's locker"; + populate = 0; + anchored = 1 + }, +/obj/item/pickaxe/drill/jackhammer, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/head/hardhat/solgov, +/obj/item/radio{ + icon_state = "sec_radio" + }, +/obj/item/clothing/under/solgov/formal, +/obj/item/clothing/under/solgov/dress, +/obj/item/clothing/under/solgov, +/obj/item/clothing/suit/hazardvest/solgov, +/obj/item/clothing/accessory/armband/cargo, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/gloves/combat, +/obj/item/storage/backpack, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/clothing/glasses/meson/prescription, +/obj/item/kitchen/knife/letter_opener, +/obj/item/clothing/glasses/meson, +/obj/machinery/light/directional/north, +/obj/item/storage/bag/ore, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"rQ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"rR" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"rS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"rT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/office) +"rU" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"rZ" = ( +/obj/structure/chair, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 10 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"sb" = ( +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"sd" = ( +/obj/structure/table/wood, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"sg" = ( +/obj/structure/fluff/hedge, +/obj/structure/sign/poster/solgov/random{ + pixel_x = -32 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"sh" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"sk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood, +/area/ship/crew/library) +"sm" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/spawner/lootdrop/maintenance/three, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"sn" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/cryo) +"so" = ( +/obj/structure/bed, +/obj/item/bedsheet/solgov, +/obj/structure/curtain/cloth, +/turf/open/floor/carpet/blue, +/area/ship/crew/dorm) +"sr" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"su" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/atmos{ + dir = 4; + name = "Engine Room"; + req_one_access = list(10) + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/maintenance/starboard) +"sx" = ( +/obj/structure/rack, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"sz" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/directional/south, +/obj/structure/ore_box, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"sH" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"sJ" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/storage) +"sQ" = ( +/obj/structure/bed/double, +/obj/item/bedsheet/double/solgov, +/obj/item/toy/plush/blahaj, +/obj/structure/sign/solgov_flag{ + dir = 8; + pixel_x = 28 + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormtwo) +"sT" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"sV" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 2; + name = "atmos waste outlet injector" + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"sX" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"tc" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormtwo) +"td" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/library) +"tg" = ( +/obj/structure/railing/wood{ + color = "#543C30"; + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"ti" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4; + color = "#543C30" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/button/door{ + pixel_y = -21; + pixel_x = -8; + dir = 1; + id = "sgi_captain"; + name = "external shutters control" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormtwo) +"tl" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#D5A66E" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/dorm/dormthree) +"tr" = ( +/obj/structure/closet/secure_closet/miner{ + name = "field engineer's locker"; + populate = 0; + anchored = 1 + }, +/obj/item/pickaxe/drill/jackhammer, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/head/hardhat/solgov, +/obj/item/radio{ + icon_state = "sec_radio" + }, +/obj/item/clothing/under/solgov/formal, +/obj/item/clothing/under/solgov/dress, +/obj/item/clothing/under/solgov, +/obj/item/clothing/suit/hazardvest/solgov, +/obj/item/clothing/accessory/armband/cargo, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/gloves/combat, +/obj/item/storage/backpack, +/obj/item/clothing/glasses/meson/prescription, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/item/kitchen/knife/letter_opener, +/obj/item/clothing/glasses/meson, +/obj/structure/sign/poster/solgov/random{ + pixel_y = 32 + }, +/obj/item/storage/bag/ore, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"ts" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/hallway/starboard) +"tx" = ( +/obj/machinery/firealarm/directional/north, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormthree) +"tB" = ( +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"tD" = ( +/obj/structure/fluff/hedge/opaque, +/obj/effect/turf_decal/siding/wood{ + color = "#543c30" + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormtwo) +"tK" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom/directional/east, +/obj/item/desk_flag/solgov{ + pixel_y = 12; + pixel_x = -8 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"tT" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"tU" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"tY" = ( +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -12 + }, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"uc" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/maple, +/area/ship/bridge) +"uh" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/cargo) +"up" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5 + }, +/obj/item/analyzer, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/item/analyzer, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"uq" = ( +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"ut" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"uv" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/rack, +/obj/machinery/door/window/brigdoor/southleft, +/obj/item/ammo_box/magazine/pistol556mm, +/obj/item/ammo_box/magazine/pistol556mm, +/obj/item/ammo_box/magazine/pistol556mm, +/obj/item/ammo_box/magazine/pistol556mm, +/obj/item/ammo_box/magazine/pistol556mm, +/obj/item/ammo_box/magazine/pistol556mm, +/obj/item/gun/ballistic/automatic/pistol/solgov{ + pixel_x = -2 + }, +/obj/item/gun/ballistic/automatic/pistol/solgov{ + pixel_x = 1 + }, +/obj/item/gun/ballistic/automatic/pistol/solgov{ + pixel_x = 4 + }, +/obj/machinery/newscaster/security_unit/directional/north, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"uw" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/door/airlock/external, +/obj/machinery/door/poddoor{ + id = "sgi_external" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/starboard) +"uy" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"uA" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"uC" = ( +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/storage) +"uE" = ( +/obj/item/paper_bin, +/obj/item/pen/solgov, +/obj/structure/table/wood/fancy/purple, +/obj/item/binoculars{ + pixel_y = 13 + }, +/turf/open/floor/wood/maple, +/area/ship/crew/dorm/dormtwo) +"uK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"uR" = ( +/obj/effect/turf_decal/industrial/stand_clear, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"uS" = ( +/obj/structure/table/wood, +/obj/item/cutting_board, +/obj/item/kitchen/knife, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -17 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + pixel_x = -10; + pixel_y = 6 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"uT" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"uX" = ( +/obj/structure/railing/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"vf" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"vn" = ( +/obj/item/kirbyplants{ + icon_state = "plant-11"; + pixel_x = -12; + pixel_y = 19; + layer = 2.89 + }, +/obj/item/kirbyplants{ + icon_state = "plant-17"; + pixel_y = 3; + pixel_x = -10 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/wood, +/area/ship/hallway/starboard) +"vo" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/security{ + dir = 4; + name = "Sonnensoldner Locker Room"; + req_one_access = list(1,10) + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/starboard) +"vz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/structure/railing/wood{ + color = "#543C30" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -12 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormtwo) +"vE" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"vH" = ( +/obj/effect/turf_decal/solgov/wood/top_right, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -11 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/bridge) +"vL" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/library) +"vM" = ( +/obj/structure/fluff/hedge, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"vW" = ( +/obj/effect/turf_decal/solgov/wood/bottom_right, +/obj/effect/turf_decal/siding/wood, +/obj/item/radio/intercom/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ship/bridge) +"wb" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/maintenance/starboard) +"wg" = ( +/obj/structure/closet/crate/wooden, +/obj/item/storage/crayons, +/obj/item/storage/crayons, +/obj/item/storage/crayons, +/obj/item/storage/crayons, +/obj/item/toner/extreme, +/obj/item/toner/extreme, +/obj/item/toner/extreme, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"wh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/library) +"wj" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"wk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/effect/turf_decal/siding/wood/corner{ + color = "#543C30" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormtwo) +"wm" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "sgi_qm" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm/dormthree) +"wo" = ( +/obj/item/clothing/gloves/combat, +/obj/item/folder/solgov, +/obj/item/folder/solgov, +/obj/item/clothing/under/solgov/formal, +/obj/item/pen/solgov, +/obj/item/clothing/under/solgov/dress, +/obj/item/stamp/solgov, +/obj/item/clothing/suit/armor/solgov_trenchcoat, +/obj/item/storage/backpack/satchel, +/obj/item/kitchen/knife/letter_opener, +/obj/structure/closet/secure_closet/quartermaster{ + populate = 0; + anchored = 1; + name = "\proper logistics deck officer's locker" + }, +/obj/item/clothing/suit/solgov/overcoat, +/obj/item/clothing/head/flatcap/solgov, +/obj/item/clothing/glasses/sunglasses, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormthree) +"wq" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/door/airlock/security{ + dir = 1; + name = "Hardsuit Storage"; + req_one_access = list(1) + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"wt" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"wB" = ( +/obj/structure/closet/secure_closet/security{ + populate = 0; + name = "sonnensöldners's locker"; + anchored = 1 + }, +/obj/item/clothing/head/solgov/sonnensoldner, +/obj/item/radio{ + icon_state = "sec_radio" + }, +/obj/item/clothing/under/solgov/formal, +/obj/item/clothing/under/solgov/dress, +/obj/item/clothing/under/solgov, +/obj/item/clothing/shoes/workboots, +/obj/item/storage/belt/sabre/solgov, +/obj/item/clothing/gloves/combat, +/obj/item/radio/headset/solgov/alt, +/obj/item/storage/backpack, +/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/industrial/outline/red, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"wF" = ( +/obj/structure/chair/wood, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"wQ" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"wW" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"xd" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"xf" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 10 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"xh" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/hallway/starboard) +"xs" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"xt" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"xA" = ( +/obj/structure/fluff/hedge, +/obj/structure/sign/poster/solgov/random{ + pixel_y = 30 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"xB" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"xC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs/wood{ + dir = 8; + color = "#D5A66E" + }, +/area/ship/crew/dorm/dormthree) +"xF" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "sgi_cargo2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "sgi_holocargo2" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"xP" = ( +/obj/structure/chair/sofa/right, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/blue, +/area/ship/crew/canteen/kitchen) +"xS" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/techfloor/orange{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 21 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"xU" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"xY" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm/dormtwo) +"xZ" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/engineering) +"ye" = ( +/obj/machinery/photocopier, +/obj/machinery/light/directional/south, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormthree) +"yl" = ( +/obj/machinery/computer/helm/solgov{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/railing/wood, +/turf/open/floor/wood, +/area/ship/bridge) +"ym" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/light/directional/west, +/turf/open/floor/wood/maple, +/area/ship/bridge) +"yn" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"yu" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen/solgov, +/obj/machinery/newscaster/security_unit/directional/south, +/turf/open/floor/carpet/blue, +/area/ship/crew/office) +"yw" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"yz" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"yB" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + dir = 1; + id = "sgi_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"yD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9; + color = "#543C30" + }, +/obj/structure/chair/comfy/beige{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormtwo) +"yE" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/reagent_containers/food/condiment/flour, +/obj/item/reagent_containers/food/condiment/flour, +/obj/item/reagent_containers/food/condiment/flour, +/obj/item/reagent_containers/food/condiment/rice, +/obj/item/reagent_containers/food/condiment/sugar, +/obj/item/reagent_containers/food/condiment/milk, +/obj/item/reagent_containers/food/condiment/milk, +/obj/item/reagent_containers/food/condiment/soymilk, +/obj/item/reagent_containers/food/condiment/soymilk, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/enzyme, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"yG" = ( +/obj/structure/closet/crate/bin, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/maple, +/area/ship/crew/dorm/dormtwo) +"yH" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"yI" = ( +/obj/structure/railing/wood{ + color = "#543C30"; + dir = 4 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"yV" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"za" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood, +/area/ship/crew/office) +"zc" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/crew/dorm/dormthree) +"zd" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/crew/canteen) +"ze" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/holopad/emergency/command, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/dorm/dormthree) +"zf" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/solgov{ + name = "Dormitories" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"zp" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light/directional/south, +/obj/machinery/telecomms/relay{ + network = "SolNet"; + autolinkers = list("SolHub") + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"zs" = ( +/obj/machinery/vending/boozeomat, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"zu" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"zv" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Field Engineer Locker Room"; + req_one_access = list(10,31) + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"zA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"zC" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"zE" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/library) +"zH" = ( +/obj/docking_port/stationary{ + dir = 2 + }, +/turf/template_noop, +/area/template_noop) +"zI" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/maintenance/port) +"zK" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"zP" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/solgov{ + dir = 4; + name = "Bridge"; + req_one_access = list(20,41) + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/library) +"Aa" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 5 + }, +/obj/structure/sign/poster/solgov/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"Ap" = ( +/obj/structure/closet/crate, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Au" = ( +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/storage) +"AA" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/canteen/kitchen) +"AC" = ( +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"AM" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"AN" = ( +/obj/structure/fluff/hedge, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/wood/birch, +/area/ship/hallway/starboard) +"AQ" = ( +/obj/structure/toilet, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -11 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/newscaster/security_unit/directional/east, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"AU" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/desk_flag/solgov{ + pixel_y = 12; + pixel_x = -8 + }, +/obj/item/pen/solgov, +/turf/open/floor/carpet/blue, +/area/ship/crew/canteen/kitchen) +"AZ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/item/kirbyplants{ + icon_state = "plant-17"; + pixel_y = 3; + pixel_x = -10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/solgov/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Ba" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/solgov{ + dir = 4; + name = "Logistics Deck Officer's Quarters"; + req_one_access = list(41); + id_tag = "sgi_quartermaster" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm/dormthree) +"Bb" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Bm" = ( +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/item/kirbyplants{ + icon_state = "plant-22"; + pixel_y = 11; + pixel_x = -6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"Bp" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"Br" = ( +/obj/structure/noticeboard{ + pixel_y = 32 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"Bt" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "sgi_cargo2" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"BB" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormthree) +"BD" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543c30" + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"BF" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"BG" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"BM" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"BO" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/solgov/glass{ + name = "Library" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/library) +"BP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/storage) +"BQ" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"BT" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/light/small/directional/east, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"BW" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/hallway/starboard) +"BY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"Ci" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"Ck" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ship/bridge) +"Cq" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Ct" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/twenty, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"CC" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"CJ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/solgov/glass{ + dir = 4; + name = "Cafeteria" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"CM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/machinery/reagentgrinder, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"CN" = ( +/obj/structure/table/wood/fancy/blue, +/obj/machinery/computer/secure_data/laptop{ + dir = 4 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormthree) +"CS" = ( +/obj/structure/table/wood/fancy/blue, +/obj/item/clipboard{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/stamp/solgov{ + pixel_y = 11; + pixel_x = -6 + }, +/obj/item/paper_bin{ + pixel_x = -5; + pixel_y = -1 + }, +/obj/item/pen/solgov{ + pixel_x = -5 + }, +/turf/open/floor/wood/maple, +/area/ship/bridge) +"CX" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Dc" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"Dn" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 4; + id = "sgi_cargo2"; + name = "blast door control"; + pixel_x = -20; + pixel_y = -7 + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = 2; + pixel_x = -18; + id = "sgi_holocargo2" + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Dt" = ( +/obj/structure/chair/sofa{ + dir = 8 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew/canteen/kitchen) +"Du" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/machinery/light/floor, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Dw" = ( +/obj/effect/turf_decal/solgov/all/top_right, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Dy" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/library) +"DB" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) +"DD" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + dir = 1; + id = "sgi_dorms" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"DE" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/sign/poster/solgov/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"DF" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"DH" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/maintenance/starboard) +"DK" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"DP" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 10 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"DS" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/crew/toilet) +"Ed" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Ee" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Ef" = ( +/obj/structure/closet/crate, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/storage) +"Ek" = ( +/obj/structure/railing/wood, +/obj/structure/chair/stool/bar, +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/canteen) +"El" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Ep" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Et" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 21 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"Ex" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"ED" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"EF" = ( +/obj/structure/chair/sofa, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/blue, +/area/ship/crew/canteen/kitchen) +"EH" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"EQ" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"ET" = ( +/obj/structure/bookcase/random, +/obj/structure/noticeboard{ + dir = 4; + pixel_x = -32 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"Fa" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Fc" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/mining/glass{ + dir = 4; + name = "Cargo" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"Fd" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/wood, +/area/ship/crew/library) +"Fo" = ( +/obj/machinery/bookbinder, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"Fp" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543c30" + }, +/obj/structure/fluff/hedge/opaque, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormtwo) +"Fq" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#D5A66E"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/dorm/dormthree) +"Fs" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"FC" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/mug/coco{ + pixel_x = -6; + pixel_y = 2 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew/canteen/kitchen) +"FE" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/crew/canteen/kitchen) +"FG" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"FH" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"FJ" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"FN" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -24 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Ga" = ( +/obj/structure/fluff/hedge, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"Gd" = ( +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 5 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"Gn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/canteen) +"Gp" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Gq" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/library) +"GD" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 10 + }, +/obj/machinery/suit_storage_unit/solgov, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"GF" = ( +/obj/structure/bookcase/random, +/obj/structure/sign/poster/solgov/random{ + pixel_x = 32 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"GH" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"GJ" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/techfloor, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/lootdrop/maintenance/three, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) +"GN" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"GO" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"GP" = ( +/obj/structure/fluff/hedge/opaque, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormthree) +"GV" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"Hi" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 9 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Ho" = ( +/obj/structure/chair/comfy/black, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"Hp" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull, +/area/ship/maintenance/port) +"Hv" = ( +/obj/machinery/light/floor, +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"HB" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 1 + }, +/obj/machinery/newscaster/security_unit/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"HG" = ( +/obj/structure/rack, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"HM" = ( +/obj/structure/railing/corner/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"HT" = ( +/obj/structure/table/wood/fancy/blue, +/obj/machinery/fax, +/turf/open/floor/wood/maple, +/area/ship/bridge) +"HV" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"HW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"Ik" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/hallway/starboard) +"Il" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"It" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/hallway/starboard) +"Iu" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"Iw" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/directional/north, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"IB" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom/directional/south, +/obj/item/stack/tape, +/obj/item/hand_labeler{ + pixel_x = 15; + pixel_y = 7 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"IC" = ( +/obj/effect/spawner/lootdrop/crate_spawner, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) +"IX" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/rack, +/obj/structure/window/reinforced, +/obj/item/kitchen/knife/letter_opener{ + pixel_x = -2 + }, +/obj/item/kitchen/knife/letter_opener{ + pixel_x = 1 + }, +/obj/item/kitchen/knife/letter_opener{ + pixel_x = 4 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 10 + }, +/obj/structure/sign/poster/solgov/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"IY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/library) +"Jc" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/machinery/button/door{ + pixel_y = 23; + id = "sgi_office"; + name = "external shutters control" + }, +/turf/open/floor/carpet/blue, +/area/ship/crew/office) +"Jh" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Jq" = ( +/obj/effect/turf_decal/techfloor, +/obj/item/radio/intercom/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"Jr" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen/solgov, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"Js" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster/security_unit/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"Jt" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Jz" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"JD" = ( +/obj/structure/closet/cardboard{ + desc = "Contains a lifetime supply of Solarian Marine Society Shark plushies!"; + name = "plushie transport box" + }, +/obj/item/toy/plush/blahaj, +/obj/item/toy/plush/blahaj, +/obj/item/toy/plush/blahaj, +/obj/item/toy/plush/blahaj, +/obj/item/toy/plush/blahaj, +/obj/item/toy/plush/blahaj, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"JG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/hallway/starboard) +"JL" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance/three, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"JN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/office) +"JS" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/airlock/external, +/obj/machinery/door/poddoor{ + id = "sgi_external" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/starboard) +"JT" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"JV" = ( +/obj/structure/table/wood, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"JX" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/solgov/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"JZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/office) +"Kc" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/wood/birch, +/area/ship/crew/dorm/dormthree) +"Kd" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"Kg" = ( +/obj/machinery/computer/secure_data/laptop{ + dir = 4 + }, +/obj/structure/table/wood/fancy/purple, +/turf/open/floor/wood/maple, +/area/ship/crew/dorm/dormtwo) +"Kt" = ( +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Kv" = ( +/obj/structure/closet/crate/internals, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/clothing/suit/hazardvest/solgov, +/obj/item/clothing/suit/hazardvest/solgov, +/obj/item/clothing/suit/hazardvest/solgov, +/obj/item/clothing/suit/hazardvest/solgov, +/obj/item/clothing/head/hardhat/solgov, +/obj/item/clothing/head/hardhat/solgov, +/obj/item/clothing/head/hardhat/solgov, +/obj/item/clothing/head/hardhat/solgov, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Kz" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"KD" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"KK" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"KL" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"KN" = ( +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"KS" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"KU" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"KX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 11; + pixel_y = -14 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"Lb" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"Lg" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Lk" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/turf_decal/corner/opaque/solgovgold/three_quarters{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + pixel_x = 10; + pixel_y = 23 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"Ln" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Lw" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Lz" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"LB" = ( +/obj/item/clothing/head/solgov/captain, +/obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain, +/obj/item/clothing/under/solgov/formal/captain, +/obj/item/clothing/shoes/laceup, +/obj/item/clothing/gloves/combat, +/obj/item/door_remote/captain, +/obj/item/storage/belt/sabre/solgov, +/obj/item/clothing/under/solgov, +/obj/item/clothing/under/solgov/dress, +/obj/item/clothing/under/solgov/formal, +/obj/item/folder/solgov, +/obj/item/folder/solgov, +/obj/item/folder/solgov/red, +/obj/item/folder/solgov/red, +/obj/structure/closet/secure_closet{ + icon_state = "cap"; + name = "\proper captain's locker"; + req_access_txt = "20" + }, +/obj/item/fish_feed, +/obj/item/pen/fountain/solgov, +/obj/item/gun/ballistic/automatic/powered/gauss/modelh, +/obj/item/ammo_box/magazine/modelh, +/obj/item/ammo_box/magazine/modelh, +/obj/item/clothing/neck/cloak/solgovcap, +/turf/open/floor/wood/maple, +/area/ship/crew/dorm/dormtwo) +"LJ" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/security/armory) +"LS" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/security{ + dir = 1; + name = "Armory"; + req_one_access = list(1,3) + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"LZ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/closet/firecloset/wall{ + pixel_y = 28 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Me" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Mh" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormthree) +"Mr" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 5 + }, +/obj/machinery/computer/cryopod/directional/north{ + pixel_y = 25 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"Mt" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner, +/obj/machinery/light/floor, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Mv" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/starboard) +"My" = ( +/obj/structure/chair/sofa/corner, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/carpet/blue, +/area/ship/crew/canteen/kitchen) +"Mz" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#D5A66E"; + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + color = "#D5A66E"; + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/button/door{ + pixel_y = 23; + id = "sgi_qm"; + name = "logistics deck officer shutters control"; + pixel_x = -7 + }, +/turf/open/floor/wood/birch, +/area/ship/crew/dorm/dormthree) +"MI" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/computer/helm/viewscreen/directional/east, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"MQ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable/yellow, +/obj/machinery/power/terminal, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"MT" = ( +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/item/kirbyplants{ + icon_state = "plant-21"; + pixel_x = 7; + pixel_y = 18 + }, +/obj/item/kirbyplants{ + icon_state = "plant-22"; + pixel_x = 8; + pixel_y = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"MW" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/cargo/office) +"MZ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"Nb" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Nd" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Nf" = ( +/obj/machinery/vending/coffee, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"Nj" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance/three, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Np" = ( +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/solgovgold/three_quarters{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Ny" = ( +/obj/structure/fluff/hedge, +/obj/machinery/light/directional/north, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"NA" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"NB" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/canteen) +"NP" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/library) +"NV" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"NY" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable/yellow, +/obj/machinery/power/terminal, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"Od" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/maintenance/port) +"Ol" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Oo" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/storage) +"Oq" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/office) +"Or" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/structure/sign/solgov_seal{ + pixel_y = 0; + pixel_x = -1 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/hallway/starboard) +"OC" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 4; + id = "sgi_cargo1"; + name = "blast door control"; + pixel_x = -20; + pixel_y = 7 + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = -2; + pixel_x = -18; + id = "sgi_holocargo1" + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"OF" = ( +/obj/structure/table/wood/fancy/blue, +/obj/item/spacecash/bundle/loadsamoney{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/item/spacecash/bundle/loadsamoney{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/item/desk_flag/solgov{ + pixel_y = 12; + pixel_x = -8 + }, +/obj/item/reagent_containers/food/drinks/mug/coco{ + pixel_x = -7; + pixel_y = -2 + }, +/obj/machinery/button/door{ + pixel_y = 23; + id = "sgi_bridge"; + name = "external shutters control" + }, +/turf/open/floor/wood/maple, +/area/ship/bridge) +"ON" = ( +/obj/structure/closet/crate/medical, +/obj/item/storage/box/masks, +/obj/item/storage/box/rxglasses, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/medical, +/obj/item/storage/pill_bottle/charcoal, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"OS" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"OW" = ( +/obj/structure/table/wood/fancy/blue, +/obj/item/paper_bin, +/obj/item/pen/solgov, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormthree) +"OX" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/cargo) +"Pd" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"Pf" = ( +/obj/structure/closet/cardboard, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Pq" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Pu" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"Pv" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/comfy/beige{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing/corner/wood, +/turf/open/floor/wood, +/area/ship/bridge) +"Py" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer2, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/closet/emcloset/wall{ + dir = 8; + pixel_x = 28 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"PB" = ( +/obj/structure/fluff/hedge/opaque, +/turf/open/floor/wood/maple, +/area/ship/crew/dorm/dormtwo) +"PN" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"PR" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"PV" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/storage) +"Qb" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/crew/cryo) +"Qh" = ( +/obj/effect/turf_decal/industrial/stand_clear, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Ql" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs/wood, +/area/ship/bridge) +"Qt" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_y = -23; + pixel_x = -4; + dir = 1; + id = "sgi_engine"; + name = "engine blast door control" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"Qx" = ( +/obj/structure/table/wood/fancy/purple, +/obj/item/radio/intercom/wideband/table{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ship/bridge) +"Qz" = ( +/obj/structure/chair, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 6 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"QA" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/suit_storage_unit/solgov, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"QB" = ( +/obj/structure/fluff/hedge, +/obj/machinery/light/directional/west, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"QH" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#D5A66E"; + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4; + color = "#D5A66E" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/dorm/dormthree) +"QN" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"QO" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/arrows{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"QP" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/structure/closet/firecloset/wall{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"QT" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"QX" = ( +/obj/structure/table/wood/fancy/blue, +/obj/item/clipboard, +/obj/item/folder/solgov, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormthree) +"QZ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"Rc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 11; + pixel_y = -14 + }, +/turf/open/floor/wood, +/area/ship/crew/office) +"Rd" = ( +/obj/structure/railing/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"Re" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs/wood, +/area/ship/bridge) +"Rh" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"Rk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Rq" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 21 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) +"Rr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Rt" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/item/kirbyplants{ + icon_state = "plant-21"; + pixel_x = 7; + pixel_y = 18 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"Ru" = ( +/obj/structure/table/wood/fancy/blue, +/obj/item/desk_flag/solgov{ + pixel_y = 12; + pixel_x = -8 + }, +/obj/item/binoculars, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormthree) +"Rw" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Rx" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/library) +"RB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"RF" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"RH" = ( +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 10 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"RI" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + name = "ship engineer's locker"; + populate = 0 + }, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/head/hardhat/solgov, +/obj/item/folder/solgov, +/obj/item/clipboard, +/obj/item/clothing/under/solgov/formal, +/obj/item/clothing/under/solgov, +/obj/item/clothing/accessory/armband/engine, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/glasses/welding, +/obj/item/clothing/head/welding, +/obj/item/pen/solgov, +/obj/item/clothing/suit/hazardvest/solgov, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/gloves/combat, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/industrial/outline/orange, +/obj/item/clothing/glasses/meson/prescription, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"RL" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/hallway/starboard) +"RN" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/bridge) +"RS" = ( +/obj/structure/closet/cardboard, +/obj/effect/spawner/lootdrop/maintenance/three, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"RX" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/wood/birch, +/area/ship/crew/canteen) +"Sf" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"So" = ( +/obj/structure/falsewall/titanium, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage) +"Sr" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/machinery/light/directional/east, +/obj/item/radio/intercom/table{ + dir = 4; + pixel_x = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"St" = ( +/obj/structure/railing/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"Sw" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Sx" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Sy" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/maintenance/port) +"SA" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/ore_box, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"SB" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8; + piping_layer = 2 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"SC" = ( +/obj/machinery/light/floor, +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"SI" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security/armory) +"SU" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Ta" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "sgi_cargo2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 2; + id = "sgi_holocargo2" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"Td" = ( +/obj/structure/closet/secure_closet/miner{ + name = "field engineer's locker"; + populate = 0; + anchored = 1 + }, +/obj/item/pickaxe/drill/jackhammer, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/head/hardhat/solgov, +/obj/item/radio{ + icon_state = "sec_radio" + }, +/obj/item/clothing/under/solgov/formal, +/obj/item/clothing/under/solgov/dress, +/obj/item/clothing/under/solgov, +/obj/item/clothing/suit/hazardvest/solgov, +/obj/item/clothing/accessory/armband/cargo, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/gloves/combat, +/obj/item/storage/backpack, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/red, +/obj/item/clothing/glasses/meson/prescription, +/obj/item/kitchen/knife/letter_opener, +/obj/item/clothing/glasses/meson, +/obj/item/storage/bag/ore, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"Tf" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Tk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"Tt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"Tv" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Ty" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"Tz" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"TG" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"TM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs/wood{ + dir = 8; + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"TV" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"TY" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Ud" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"Ul" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -12 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"UC" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"UD" = ( +/obj/structure/chair/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"UE" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"UF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"UM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"Ve" = ( +/obj/structure/fluff/hedge, +/turf/open/floor/wood/maple, +/area/ship/bridge) +"Vk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/structure/dresser, +/obj/item/desk_flag/trans{ + pixel_y = 8; + pixel_x = -7 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"Vl" = ( +/obj/structure/table/wood/fancy/blue, +/obj/item/paper_bin{ + pixel_x = -5; + pixel_y = -1 + }, +/obj/item/paper_bin/carbon{ + pixel_x = 7; + pixel_y = 8 + }, +/obj/item/folder/solgov{ + pixel_x = 4 + }, +/obj/item/pen/solgov{ + pixel_x = 2 + }, +/turf/open/floor/wood/maple, +/area/ship/bridge) +"Vo" = ( +/obj/structure/railing/wood{ + dir = 10 + }, +/obj/structure/fluff/hedge, +/turf/open/floor/wood/maple, +/area/ship/bridge) +"Vp" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"Vt" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom/table{ + dir = 8 + }, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"VA" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm) +"VI" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm/dormthree) +"VM" = ( +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/machinery/newscaster/security_unit/directional/west, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/engineering) +"VO" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/export_scanner, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"VT" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 18 + }, +/obj/item/clipboard, +/obj/item/folder/solgov, +/obj/item/stamp/denied{ + pixel_x = 4 + }, +/obj/item/stamp{ + pixel_x = -5; + pixel_y = 9 + }, +/obj/item/pen/solgov{ + pixel_y = 18 + }, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"VY" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Bathroom"; + id_tag = "sgi_bolt" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"Wc" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue/full, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"We" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"Wh" = ( +/obj/structure/railing/corner/wood{ + color = "#543C30" + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Wj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 21 + }, +/turf/open/floor/wood, +/area/ship/crew/library) +"Wk" = ( +/obj/item/radio/intercom/table{ + dir = 1 + }, +/obj/structure/table/wood/fancy/purple, +/obj/structure/sign/poster/solgov/random{ + pixel_y = 32 + }, +/turf/open/floor/wood/maple, +/area/ship/crew/dorm/dormtwo) +"Wn" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#D5A66E" + }, +/obj/structure/railing/corner/wood{ + dir = 4; + color = "#D5A66E" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/crew/dorm/dormthree) +"Wq" = ( +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Wv" = ( +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/condiment/saltshaker, +/obj/item/reagent_containers/food/condiment/saltshaker, +/obj/item/reagent_containers/food/condiment/saltshaker, +/obj/item/reagent_containers/food/condiment/saltshaker, +/obj/structure/closet/crate/secure/gear{ + populate = 0; + name = "emergency sauerkraut supplies"; + desc = "For emergency use only"; + req_access = list(19) + }, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"WF" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"WG" = ( +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"WI" = ( +/obj/structure/table/wood, +/obj/structure/reagent_dispensers/beerkeg, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"WK" = ( +/obj/effect/turf_decal/solgov/all/bottom_right, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"WO" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/crew/cryo) +"WR" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 4; + id = "sgi_cargo2"; + name = "blast door control"; + pixel_x = -20; + pixel_y = 7 + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = -2; + pixel_x = -18; + id = "sgi_holocargo2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"WX" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "sgi_cargo1" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"Xi" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen/kitchen) +"Xl" = ( +/obj/structure/closet/crate/wooden, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/soap, +/obj/item/soap, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Xp" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"Xu" = ( +/obj/effect/turf_decal/techfloor/orange/corner, +/obj/effect/turf_decal/techfloor/orange/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"Xz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/library) +"XH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/canteen/kitchen) +"XQ" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/button/door{ + pixel_y = 24; + pixel_x = -4; + id = "sgi_engine"; + name = "engine blast door control" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"XV" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"XY" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering) +"XZ" = ( +/obj/docking_port/mobile{ + can_move_docking_ports = 1; + preferred_direction = 4; + port_direction = 4 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/security/armory) +"Yb" = ( +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"Yc" = ( +/obj/structure/table/wood, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/wood/walnut, +/area/ship/crew/library) +"Yj" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"Yt" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Yx" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"YB" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"YC" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"YE" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8; + piping_layer = 2 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/solgovblue{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/sign/poster/solgov/random{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"YF" = ( +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -12 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/button/door{ + pixel_y = -23; + pixel_x = -8; + dir = 1; + id = "sgi_external"; + name = "blast door control" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"YP" = ( +/obj/effect/turf_decal/spline/fancy/transparent/solgovblue, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"YS" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/dormtwo) +"YY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/jukebox, +/obj/machinery/light/directional/north, +/turf/open/floor/wood/birch, +/area/ship/crew/canteen) +"YZ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + dir = 1; + id = "sgi_cafeteria" + }, +/turf/open/floor/plating, +/area/ship/crew/canteen/kitchen) +"Zb" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/maple, +/area/ship/bridge) +"Zj" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + id = "sgi_engine"; + dir = 4 + }, +/obj/machinery/door/window/westright{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/starboard) +"Zo" = ( +/obj/structure/railing/wood{ + color = "#543C30"; + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Zr" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "sgi_cargo1" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 2; + id = "sgi_holocargo1" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"Zw" = ( +/obj/effect/turf_decal/corner/opaque/solgovgold{ + dir = 5 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/trimline/opaque/solgovblue/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/security/armory) +"Zz" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"ZA" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/birch, +/area/ship/hallway/starboard) +"ZB" = ( +/obj/item/kirbyplants{ + icon_state = "plant-17"; + pixel_y = 3; + pixel_x = -10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/wood/birch, +/area/ship/crew/canteen) +"ZK" = ( +/obj/structure/rack, +/obj/item/mining_scanner{ + pixel_x = -5; + pixel_y = -5 + }, +/obj/item/mining_scanner, +/obj/item/mining_scanner{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo/office) +"ZR" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engine Room"; + req_one_access = list(10) + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/maintenance/port) +"ZS" = ( +/obj/structure/fluff/hedge/opaque, +/obj/effect/turf_decal/siding/wood{ + color = "#D5A66E"; + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + id = "sgi_quartermaster"; + name = "bolt control"; + pixel_x = 20; + pixel_y = -6; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/wood/birch, +/area/ship/crew/dorm/dormthree) +"ZV" = ( +/obj/effect/turf_decal/solgov/all/center_right, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"ZY" = ( +/obj/machinery/vending/coffee, +/obj/structure/noticeboard{ + pixel_y = 32 + }, +/turf/open/floor/wood/birch, +/area/ship/crew/office) + +(1,1,1) = {" +iG +hE +zI +Hp +Hp +zI +hE +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +hE +ni +dv +dv +ni +hE +iG +iG +"} +(2,1,1) = {" +iG +Od +op +op +op +op +Od +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +DH +Zj +Zj +Zj +Zj +DH +iG +iG +"} +(3,1,1) = {" +iG +Od +XQ +ia +ia +tT +Od +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +iG +sV +ln +fk +FG +FH +Qt +DH +iG +iG +"} +(4,1,1) = {" +iG +Od +Ud +rD +Bp +zp +Sy +Od +AM +ce +Wq +Tv +Tv +Tv +TY +qM +Wq +Tv +Tv +Tv +TY +ce +AM +DH +wb +Iw +BQ +QT +oG +DH +iG +iG +"} +(5,1,1) = {" +iG +Od +fG +xs +Xu +qs +Sy +Sy +uh +OX +OX +Zr +WX +qp +OX +OX +OX +Ta +Bt +xF +OX +OX +uh +wb +wb +xS +nJ +YE +SB +DH +iG +iG +"} +(6,1,1) = {" +iG +Od +Od +Od +ZR +Od +Sy +Sy +HG +BG +dT +Dw +ZV +WK +OC +pr +Dn +Dw +ZV +WK +WR +Gp +sx +wb +wb +DH +su +DH +DH +DH +iG +iG +"} +(7,1,1) = {" +hE +XY +DE +Cq +df +rQ +VM +xZ +ha +vE +Tf +db +kx +iy +Nd +CX +ku +QO +np +iy +Nd +yw +sz +ts +AZ +KS +Np +ts +qx +ts +hE +iG +"} +(8,1,1) = {" +xZ +ek +NY +Ex +QN +wQ +RI +xZ +px +gI +fv +sh +YC +NA +jE +Mt +Fs +sh +fB +NA +md +Hv +SA +ts +LZ +gW +FN +ts +xd +mB +Or +iG +"} +(9,1,1) = {" +xZ +hJ +NV +Lb +xf +BM +bt +xZ +QP +ng +JL +Kt +Wv +Kt +SU +dH +Nb +Kt +qw +Rr +sH +Sf +hl +ts +nx +eA +Jz +uw +bS +ff +JS +zH +"} +(10,1,1) = {" +xZ +vf +MQ +TG +MI +eX +tY +xZ +br +EH +Qh +hB +Rk +Kt +Kv +dH +uR +iq +Ep +Kt +qt +gw +HB +ts +dK +tB +YF +ts +BT +Py +Or +iG +"} +(11,1,1) = {" +xZ +xZ +xZ +xZ +xZ +kB +xZ +xZ +rZ +Me +mz +Kt +TV +Rr +eb +dH +Fa +Rr +GN +Pf +Lz +Bb +Hi +ts +ts +mQ +ts +ts +ts +ts +ts +iG +"} +(12,1,1) = {" +LJ +ka +Yb +LJ +XV +HV +Bm +LJ +km +tU +Sw +Sw +dM +Sw +Sw +jP +Sw +Sw +GH +Sw +Lw +pK +IB +MW +iM +ut +cz +sJ +DB +Au +sJ +iG +"} +(13,1,1) = {" +LJ +GD +RH +wq +Zw +JT +dR +LJ +qE +Lg +Yt +Yt +jh +wj +Yt +fi +wj +Yt +Pq +Yt +Yt +zK +nL +MW +ib +Dc +jw +So +gm +qG +sJ +iG +"} +(14,1,1) = {" +LJ +QA +ic +LJ +JX +GV +cI +LJ +Qz +Me +sT +Nj +WF +RS +SU +YB +El +ON +WF +Kt +sH +rR +xB +MW +tr +hR +xU +sJ +Rq +GJ +sJ +iG +"} +(15,1,1) = {" +LJ +LJ +LJ +LJ +lq +PN +if +LJ +gP +ng +Qh +Rr +Ep +Kt +Ct +dH +Qh +JD +Ap +Rr +sr +KL +WG +MW +up +Kd +kZ +sJ +af +BP +sJ +iG +"} +(16,1,1) = {" +LJ +lx +AC +LJ +Et +co +wB +LJ +dp +CC +sm +jM +wg +aO +rM +ED +UE +rm +en +iR +Xl +uT +zu +MW +Td +Kd +Rh +sJ +cQ +gp +sJ +iG +"} +(17,1,1) = {" +LJ +uv +Jq +fZ +fI +PN +ez +LJ +ao +Du +ke +uA +sX +nc +gu +je +wt +cG +Sx +Ed +Jt +SC +Rw +MW +ZK +Pu +FJ +sJ +BP +Ef +sJ +iG +"} +(18,1,1) = {" +LJ +IX +sb +LS +Gd +UC +bu +LJ +nB +bB +uK +Ln +YP +Wh +Zo +yI +tg +lT +KK +uK +uK +DK +PR +MW +rN +xt +yV +sJ +cX +Oo +sJ +iG +"} +(19,1,1) = {" +XZ +kf +DF +LJ +oH +Wc +gi +LJ +Ol +OS +wj +Yt +fO +nh +lu +Vt +VT +nV +KU +wj +wj +Il +Ee +MW +MZ +Kd +Tz +sJ +fC +uC +sJ +iG +"} +(20,1,1) = {" +hE +SI +kK +LJ +yz +Rt +bf +LJ +ij +Yx +eD +VO +rU +BD +oi +Yj +oi +rb +oC +Zz +Kz +Jh +GO +MW +Lk +da +MT +sJ +IC +PV +hE +iG +"} +(21,1,1) = {" +iG +Qb +Qb +Qb +Qb +sn +vo +Mv +aq +VI +wm +wm +wm +wm +wm +zc +eM +eM +eM +eM +eM +dw +Fc +zd +zv +zd +zd +zd +zd +zd +iG +iG +"} +(22,1,1) = {" +iG +Qb +iI +kN +Ci +Qb +ks +vn +Ik +zc +GP +wo +OW +CN +Ru +zc +pd +Kg +uE +LB +PB +dw +NB +ZB +dY +hM +yH +uq +zC +zd +iG +iG +"} +(23,1,1) = {" +iG +Qb +Mr +WO +os +Qb +iL +fQ +of +zc +Mz +QH +Fq +pL +QX +zc +Wk +yD +pu +wk +ti +dw +YY +ec +RX +Ek +jf +jv +wW +zd +iG +iG +"} +(24,1,1) = {" +iG +Qb +Aa +gr +Pd +or +JG +RL +ZA +zc +Mh +lB +ze +tl +ye +zc +yG +mD +cL +Fp +iu +dw +Vp +jv +eQ +Ek +KN +uy +WI +zd +iG +iG +"} +(25,1,1) = {" +iG +Qb +Br +RB +DP +Qb +cn +gf +It +zc +tx +lB +Kc +Wn +BB +zc +py +eq +YS +tD +tc +dw +tK +Ul +Gn +lW +qB +fE +zs +zd +iG +iG +"} +(26,1,1) = {" +iG +Qb +mY +Iu +ph +Qb +AN +BW +xh +zc +bh +ZS +xC +pG +gS +zc +hg +vz +TM +bn +sQ +dw +zd +zd +CJ +zd +zd +zd +zd +zd +iG +iG +"} +(27,1,1) = {" +iG +Qb +qS +Sr +Jr +Qb +Mv +kL +Mv +zc +zc +zc +Ba +zc +zc +zc +dw +dw +dn +dw +dw +xY +xA +lX +Xi +Nf +QB +sg +my +FE +iG +iG +"} +(28,1,1) = {" +iG +Qb +Qb +Qb +Qb +Qb +mA +nf +mf +nY +Rx +Fo +vL +Ga +oN +og +ET +Ga +vL +yn +bU +Ny +my +am +Xi +wF +sd +sd +RF +YZ +iG +iG +"} +(29,1,1) = {" +iG +DD +so +hw +lD +ft +ZY +rT +JN +hS +BO +Fd +NP +Fd +Fd +wh +Dy +Fd +hF +Yc +bU +nk +no +qh +EQ +wF +sd +sd +Ty +YZ +iG +iG +"} +(30,1,1) = {" +iG +DD +Vk +BY +KX +VA +kR +Oq +za +jo +Rx +Wj +IY +dm +sk +zE +ar +ar +Gq +td +BO +rS +UM +KD +bI +dQ +sd +sd +gV +YZ +iG +iG +"} +(31,1,1) = {" +iG +DD +Ho +QZ +Xp +zf +iD +JZ +nC +Rc +bU +fj +Js +We +Ga +Xz +vM +GF +bs +bs +bU +xP +pS +ex +HW +HM +Tt +uX +Rd +YZ +iG +iG +"} +(32,1,1) = {" +iG +DD +lh +ps +iJ +VA +hm +oR +UD +li +bU +bU +bU +bU +bU +zP +bU +bU +bU +bU +bU +EF +FC +AU +pS +St +UF +Tk +CM +YZ +iG +iG +"} +(33,1,1) = {" +iG +ft +ft +VY +ft +ft +Jc +BF +jc +yu +RN +nO +ym +lj +vH +cO +vW +Re +uc +qP +RN +My +Dt +Dt +jX +dE +XH +iE +uS +YZ +iG +iG +"} +(34,1,1) = {" +iG +DS +AQ +ny +eB +DS +gn +gn +gn +gn +RN +OF +Zb +qe +Ck +rz +Pv +Ql +fU +CS +RN +qc +qc +qc +qc +AA +kz +zA +JV +FE +iG +iG +"} +(35,1,1) = {" +iG +hE +ea +pc +cH +DS +iG +iG +iG +iG +nR +yB +Vl +Vo +ct +Qx +yl +Ve +HT +yB +nR +iG +iG +iG +iG +FE +nA +yE +AA +hE +iG +iG +"} +(36,1,1) = {" +iG +iG +DS +DS +DS +hE +iG +iG +iG +iG +iG +nR +nR +nR +nR +nR +nR +nR +nR +nR +iG +iG +iG +iG +iG +hE +qc +qc +FE +iG +iG +iG +"} diff --git a/_maps/shuttles/shiptest/solgov_paracelsus.dmm b/_maps/shuttles/solgov/solgov_paracelsus.dmm similarity index 100% rename from _maps/shuttles/shiptest/solgov_paracelsus.dmm rename to _maps/shuttles/solgov/solgov_paracelsus.dmm diff --git a/_maps/shuttles/shiptest/syndicate_aegis.dmm b/_maps/shuttles/syndicate/syndicate_aegis.dmm similarity index 100% rename from _maps/shuttles/shiptest/syndicate_aegis.dmm rename to _maps/shuttles/syndicate/syndicate_aegis.dmm diff --git a/_maps/shuttles/shiptest/syndicate_cybersun_kansatsu.dmm b/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm similarity index 98% rename from _maps/shuttles/shiptest/syndicate_cybersun_kansatsu.dmm rename to _maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm index d6b4fcd4a79a..a1b9eb028e72 100644 --- a/_maps/shuttles/shiptest/syndicate_cybersun_kansatsu.dmm +++ b/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm @@ -892,12 +892,25 @@ /obj/effect/landmark/observer_start, /turf/open/floor/plasteel/white, /area/ship/hallway/central) +"tV" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 4; + pixel_x = 8 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) "uq" = ( /obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 10 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) +"uR" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 9 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) "vk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -1125,6 +1138,12 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/cargo) +"Ah" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 6 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) "AM" = ( /obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, /obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ @@ -1176,7 +1195,9 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/crew/dorm) "CR" = ( -/obj/machinery/porta_turret/ship, +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 10 + }, /turf/closed/wall/mineral/plastitanium, /area/ship/bridge) "CU" = ( @@ -1293,7 +1314,11 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "GV" = ( -/obj/machinery/porta_turret/ship/weak, +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 4; + pixel_x = 8; + pixel_y = 4 + }, /turf/closed/wall/mineral/plastitanium, /area/ship/bridge) "Hd" = ( @@ -1396,6 +1421,12 @@ }, /turf/open/floor/plasteel/dark, /area/ship/bridge) +"KA" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 5 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) "KP" = ( /obj/structure/closet/wall{ name = "emergency rum cabinet"; @@ -1966,7 +1997,7 @@ /area/ship/engineering) (1,1,1) = {" -CR +uR YQ YQ ru @@ -2069,7 +2100,7 @@ nO "} (7,1,1) = {" YQ -CR +KA kM kM kM @@ -2081,7 +2112,7 @@ cZ jj jj jj -CR +Ah YQ "} (8,1,1) = {" @@ -2276,7 +2307,7 @@ YQ YQ YQ YQ -GV +tV bO bO dA diff --git a/_maps/shuttles/shiptest/syndicate_gec_lugol.dmm b/_maps/shuttles/syndicate/syndicate_gec_lugol.dmm similarity index 100% rename from _maps/shuttles/shiptest/syndicate_gec_lugol.dmm rename to _maps/shuttles/syndicate/syndicate_gec_lugol.dmm diff --git a/_maps/shuttles/shiptest/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm similarity index 99% rename from _maps/shuttles/shiptest/syndicate_gorlex_hyena.dmm rename to _maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm index 5d1d70d59fec..3dce772a1d1f 100644 --- a/_maps/shuttles/shiptest/syndicate_gorlex_hyena.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm @@ -1693,6 +1693,12 @@ /obj/machinery/porta_turret/ship/ballistic, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/bridge) +"BR" = ( +/obj/machinery/porta_turret/ship/syndicate{ + dir = 1 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) "BZ" = ( /obj/structure/window/reinforced/tinted/frosted, /obj/machinery/suit_storage_unit/inherit{ @@ -2336,6 +2342,10 @@ }, /turf/open/floor/carpet/red_gold, /area/ship/bridge) +"NA" = ( +/obj/machinery/porta_turret/ship/syndicate, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) "NF" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/cargo) @@ -2500,7 +2510,9 @@ /turf/open/floor/plasteel/mono/dark, /area/ship/cargo) "Qz" = ( -/obj/machinery/porta_turret/ship/ballistic, +/obj/machinery/porta_turret/ship/syndicate{ + dir = 6 + }, /turf/closed/wall/mineral/plastitanium, /area/ship/bridge) "QW" = ( @@ -2876,6 +2888,12 @@ }, /turf/open/floor/carpet/red_gold, /area/ship/bridge) +"Up" = ( +/obj/machinery/porta_turret/ship/syndicate/heavy{ + dir = 4 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) "UI" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2886,6 +2904,12 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew) +"UN" = ( +/obj/machinery/porta_turret/ship/syndicate{ + dir = 1 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) "UX" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew) @@ -3311,7 +3335,7 @@ sE "} (2,1,1) = {" nn -BG +BR ir PL SP @@ -3328,7 +3352,7 @@ sE nX dU pi -BG +NA "} (3,1,1) = {" nn @@ -3578,13 +3602,13 @@ UX GV GV GV -BG +NA nn Zb "} (15,1,1) = {" nn -Qz +UN cs cs XU @@ -3836,13 +3860,13 @@ mL "} (27,1,1) = {" nn -Qz +Up Ap Jv oQ VC Ap -Qz +Up nn nn nn diff --git a/_maps/shuttles/shiptest/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm similarity index 99% rename from _maps/shuttles/shiptest/syndicate_gorlex_komodo.dmm rename to _maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm index 2ec2677dde07..9859de87adf7 100644 --- a/_maps/shuttles/shiptest/syndicate_gorlex_komodo.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm @@ -460,6 +460,12 @@ }, /turf/open/floor/plasteel/dark, /area/ship/bridge) +"ea" = ( +/obj/machinery/porta_turret/ship/syndicate/heavy{ + dir = 6 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) "em" = ( /obj/machinery/light/directional/north, /obj/effect/turf_decal/industrial/warning{ @@ -1771,6 +1777,12 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering) +"rh" = ( +/obj/machinery/porta_turret/ship/syndicate/heavy{ + dir = 10 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) "rj" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/industrial/fire{ @@ -1858,7 +1870,7 @@ /turf/open/floor/mineral/plastitanium/red, /area/ship/hallway/central) "rS" = ( -/obj/machinery/porta_turret/ship/ballistic{ +/obj/machinery/porta_turret/ship/syndicate/heavy{ dir = 5 }, /turf/closed/wall/mineral/plastitanium, @@ -1965,7 +1977,7 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "td" = ( -/obj/machinery/porta_turret/ship/ballistic{ +/obj/machinery/porta_turret/ship/syndicate/heavy{ dir = 9 }, /turf/closed/wall/mineral/plastitanium, @@ -2483,6 +2495,12 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ship/hallway/central) +"yw" = ( +/obj/machinery/porta_turret/ship/syndicate{ + dir = 8 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) "yJ" = ( /obj/structure/frame/machine, /obj/structure/grille/broken, @@ -3321,7 +3339,7 @@ /turf/open/floor/plating, /area/ship/maintenance/port) "FY" = ( -/obj/machinery/porta_turret/ship/ballistic{ +/obj/machinery/porta_turret/ship/syndicate{ dir = 4 }, /turf/closed/wall/mineral/plastitanium, @@ -4231,7 +4249,7 @@ /turf/open/floor/mineral/plastitanium/red, /area/ship/hallway/central) "OP" = ( -/obj/machinery/porta_turret/ship/ballistic{ +/obj/machinery/porta_turret/ship/syndicate{ dir = 10 }, /turf/closed/wall/mineral/plastitanium, @@ -4440,7 +4458,7 @@ /turf/open/floor/pod/dark, /area/ship/medical) "Rp" = ( -/obj/machinery/porta_turret/ship/ballistic{ +/obj/machinery/porta_turret/ship/syndicate{ dir = 6 }, /turf/closed/wall/mineral/plastitanium, @@ -5174,7 +5192,7 @@ /turf/open/floor/mineral/plastitanium, /area/ship/medical) "XE" = ( -/obj/machinery/porta_turret/ship/ballistic{ +/obj/machinery/porta_turret/ship/syndicate/heavy{ dir = 8 }, /turf/closed/wall/mineral/plastitanium, @@ -5431,7 +5449,7 @@ gN gN gN gN -OP +rh CM CM CM @@ -5484,7 +5502,7 @@ Aj Aj ti ti -XE +yw lu lu Ep @@ -6135,7 +6153,7 @@ OQ OQ OQ OQ -Rp +ea CM CM CM diff --git a/_maps/shuttles/shiptest/syndicate_luxembourg.dmm b/_maps/shuttles/syndicate/syndicate_luxembourg.dmm similarity index 100% rename from _maps/shuttles/shiptest/syndicate_luxembourg.dmm rename to _maps/shuttles/syndicate/syndicate_luxembourg.dmm diff --git a/_maps/shuttles/shiptest/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm similarity index 99% rename from _maps/shuttles/shiptest/syndicate_twinkleshine.dmm rename to _maps/shuttles/syndicate/syndicate_twinkleshine.dmm index 6390f43501cd..9200c091f618 100644 --- a/_maps/shuttles/shiptest/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -2033,9 +2033,8 @@ /turf/open/floor/engine, /area/ship/engineering/engine) "ms" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 9; - faction = list("PlayerSyndicate") +/obj/machinery/porta_turret/ship/syndicate/heavy{ + dir = 9 }, /turf/closed/wall/r_wall/syndicate/nodiagonal{ rad_insulation = 0 @@ -3434,9 +3433,8 @@ /turf/open/floor/plating, /area/ship/engineering/atmospherics) "vd" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 5; - faction = list("PlayerSyndicate") +/obj/machinery/porta_turret/ship/syndicate/heavy{ + dir = 5 }, /turf/closed/wall/r_wall/syndicate/nodiagonal{ rad_insulation = 0 @@ -6469,9 +6467,8 @@ /turf/open/floor/engine, /area/ship/engineering/engine) "Mr" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 6; - faction = list("PlayerSyndicate") +/obj/machinery/porta_turret/ship/syndicate/heavy{ + dir = 6 }, /turf/closed/wall/r_wall/syndicate/nodiagonal{ rad_insulation = 0 @@ -8074,9 +8071,8 @@ }, /area/ship/crew/cryo) "We" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 10; - faction = list("PlayerSyndicate") +/obj/machinery/porta_turret/ship/syndicate/heavy{ + dir = 10 }, /turf/closed/wall/r_wall/syndicate/nodiagonal{ rad_insulation = 0 diff --git a/auxmos.dll b/auxmos.dll index 499c125baa87..9db02bf27e26 100644 Binary files a/auxmos.dll and b/auxmos.dll differ diff --git a/check_regex.yaml b/check_regex.yaml index c051d974de12..a2bb022d2b90 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -29,7 +29,7 @@ standards: - exactly: [1, "/area text paths", '"/area'] - exactly: [17, "/datum text paths", '"/datum'] - exactly: [4, "/mob text paths", '"/mob'] - - exactly: [49, "/obj text paths", '"/obj'] + - exactly: [44, "/obj text paths", '"/obj'] - exactly: [0, "/turf text paths", '"/turf'] - exactly: [117, "text2path uses", "text2path"] @@ -52,6 +52,9 @@ standards: '\(([\t ]+([^)"\n\\]*)|([^("\n]+)[\t ]+)\)', ] + - exactly: [2, "Old-style proc references", '\.proc/(\w+)'] + - exactly: [0, "Old-style typed proc references", '([\w/]+?)/?\.proc/(\w+)'] + - no_more: [ 34, diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index fc720d2c96fd..4600cb626da0 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -292,16 +292,6 @@ #define INCINERATOR_ATMOS_AIRLOCK_INTERIOR "atmos_incinerator_airlock_interior" #define INCINERATOR_ATMOS_AIRLOCK_EXTERIOR "atmos_incinerator_airlock_exterior" -//Syndicate lavaland base incinerator (lavaland_surface_syndicate_base1.dmm) -#define INCINERATOR_SYNDICATELAVA_IGNITER "syndicatelava_igniter" -#define INCINERATOR_SYNDICATELAVA_MAINVENT "syndicatelava_mainvent" -#define INCINERATOR_SYNDICATELAVA_AUXVENT "syndicatelava_auxvent" -#define INCINERATOR_SYNDICATELAVA_DP_VENTPUMP "syndicatelava_airlock_pump" -#define INCINERATOR_SYNDICATELAVA_AIRLOCK_SENSOR "syndicatelava_airlock_sensor" -#define INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER "syndicatelava_airlock_controller" -#define INCINERATOR_SYNDICATELAVA_AIRLOCK_INTERIOR "syndicatelava_airlock_interior" -#define INCINERATOR_SYNDICATELAVA_AIRLOCK_EXTERIOR "syndicatelava_airlock_exterior" - //MULTIPIPES //IF YOU EVER CHANGE THESE CHANGE SPRITES TO MATCH. #define PIPING_LAYER_MIN 1 @@ -359,17 +349,6 @@ T.pixel_x = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X; \ T.pixel_y = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y; -GLOBAL_VAR(atmos_extools_initialized) // this must be an uninitialized (null) one or init_monstermos will be called twice because reasons -#define ATMOS_EXTOOLS_CHECK if(!GLOB.atmos_extools_initialized){ \ - GLOB.atmos_extools_initialized=TRUE; \ - if(fexists(world.system_type == MS_WINDOWS ? "./byond-extools.dll" : "./libbyond-extools.so")){ \ - var/result = call((world.system_type == MS_WINDOWS ? "./byond-extools.dll" : "./libbyond-extools.so"),"init_monstermos")(); \ - if(result != "ok") {CRASH(result);} \ - } else { \ - CRASH("byond-extools.dll does not exist!"); \ - } \ -} - GLOBAL_LIST_INIT(pipe_paint_colors, sortList(list( "amethyst" = rgb(130,43,255), //supplymain "blue" = rgb(0,0,255), diff --git a/code/__DEFINES/callbacks.dm b/code/__DEFINES/callbacks.dm index ca7a54d6cfc1..25f3717011a9 100644 --- a/code/__DEFINES/callbacks.dm +++ b/code/__DEFINES/callbacks.dm @@ -4,4 +4,4 @@ #define INVOKE_ASYNC world.ImmediateInvokeAsync /// like CALLBACK but specifically for verb callbacks #define VERB_CALLBACK new /datum/callback/verb_callback -#define CALLBACK_NEW(typepath, args) CALLBACK(GLOBAL_PROC, /proc/___callbacknew, typepath, args) +#define CALLBACK_NEW(typepath, args) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___callbacknew), typepath, args) diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 36da2cc3ae7d..7df3a453acfb 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -134,8 +134,11 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(/obj/item/gun))) #define EMBED_POINTY_SUPERIOR list("embed_chance" = 100, "ignore_throwspeed_threshold" = TRUE) //Gun weapon weight +/// Allows you to dual wield this gun and your offhand gun #define WEAPON_LIGHT 1 +/// Does not allow you to dual wield with this gun and your offhand gun #define WEAPON_MEDIUM 2 +/// You must wield the gun to fire this gun #define WEAPON_HEAVY 3 //Gun trigger guards #define TRIGGER_GUARD_ALLOW_ALL -1 diff --git a/code/__DEFINES/cooldowns.dm b/code/__DEFINES/cooldowns.dm index 8f1f667a79f7..861bb843d793 100644 --- a/code/__DEFINES/cooldowns.dm +++ b/code/__DEFINES/cooldowns.dm @@ -35,7 +35,7 @@ #define COMSIG_CD_STOP(cd_index) "cooldown_[cd_index]" #define COMSIG_CD_RESET(cd_index) "cd_reset_[cd_index]" -#define TIMER_COOLDOWN_START(cd_source, cd_index, cd_time) LAZYSET(cd_source.cooldowns, cd_index, addtimer(CALLBACK(GLOBAL_PROC, /proc/end_cooldown, cd_source, cd_index), cd_time)) +#define TIMER_COOLDOWN_START(cd_source, cd_index, cd_time) LAZYSET(cd_source.cooldowns, cd_index, addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(end_cooldown), cd_source, cd_index), cd_time)) #define TIMER_COOLDOWN_CHECK(cd_source, cd_index) LAZYACCESS(cd_source.cooldowns, cd_index) @@ -48,7 +48,7 @@ * A bit more expensive than the regular timers, but can be reset before they end and the time left can be checked. */ -#define S_TIMER_COOLDOWN_START(cd_source, cd_index, cd_time) LAZYSET(cd_source.cooldowns, cd_index, addtimer(CALLBACK(GLOBAL_PROC, /proc/end_cooldown, cd_source, cd_index), cd_time, TIMER_STOPPABLE)) +#define S_TIMER_COOLDOWN_START(cd_source, cd_index, cd_time) LAZYSET(cd_source.cooldowns, cd_index, addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(end_cooldown), cd_source, cd_index), cd_time, TIMER_STOPPABLE)) #define S_TIMER_COOLDOWN_RESET(cd_source, cd_index) reset_cooldown(cd_source, cd_index) diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index bbdbe022a9df..004b2f23fedf 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -752,3 +752,7 @@ /// generally called before temporary non-parallel animate()s on the atom (animation_duration) #define COMSIG_ATOM_TEMPORARY_ANIMATION_START "atom_temp_animate_start" + +/// send when enabling/diabling an autofire component +#define COMSIG_GUN_DISABLE_AUTOFIRE "disable_autofire" +#define COMSIG_GUN_ENABLE_AUTOFIRE "enable_autofire" diff --git a/code/__DEFINES/factions.dm b/code/__DEFINES/factions.dm new file mode 100644 index 000000000000..a6fbc5c87546 --- /dev/null +++ b/code/__DEFINES/factions.dm @@ -0,0 +1,6 @@ +//"Antag" factions +// anything with these factions should be hostile to the average player. +#define FACTION_ANTAG_SYNDICATE "Syndicate" + +//Player Factions +#define FACTION_PLAYER_SYNDICATE "playerSyndicate" diff --git a/code/__DEFINES/keybinding.dm b/code/__DEFINES/keybinding.dm index a1494018d434..97b9c9d82aad 100644 --- a/code/__DEFINES/keybinding.dm +++ b/code/__DEFINES/keybinding.dm @@ -42,6 +42,7 @@ //Human #define COMSIG_KB_HUMAN_QUICKEQUIP_DOWN "keybinding_human_quickequip_down" #define COMSIG_KB_HUMAN_QUICKEQUIPBELT_DOWN "keybinding_human_quickequipbelt_down" +#define COMSIG_KB_HUMAN_UNIQUEACTION "keybinding_uniqueaction" #define COMSIG_KB_HUMAN_BAGEQUIP_DOWN "keybinding_human_bagequip_down" #define COMSIG_KB_HUMAN_EQUIPMENTSWAP_DOWN "keybinding_human_equipmentswap_down" #define COMSIG_KB_HUMAN_SUITEQUIP_DOWN "keybinding_human_suitequip_down" diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 99cff793a761..9f07a32d15f8 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -226,7 +226,6 @@ #define SANITY_INSANE 0 //Nutrition levels for humans -#define NUTRITION_LEVEL_FAT 600 #define NUTRITION_LEVEL_FULL 550 #define NUTRITION_LEVEL_WELL_FED 450 #define NUTRITION_LEVEL_FED 350 diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index 570edb76d8c4..865470774039 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -64,3 +64,13 @@ /// Flags for the pod_flags var on /obj/structure/closet/supplypod #define FIRST_SOUNDS (1<<0) // If it shouldn't play sounds the first time it lands, used for reverse mode + + +// Bullet hit sounds +#define PROJECTILE_HITSOUND_FLESH (1<<0) +#define PROJECTILE_HITSOUND_NON_LIVING (1<<1) +#define PROJECTILE_HITSOUND_GLASS (1<<2) +#define PROJECTILE_HITSOUND_STONE (1<<3) +#define PROJECTILE_HITSOUND_METAL (1<<4) +#define PROJECTILE_HITSOUND_WOOD (1<<5) +#define PROJECTILE_HITSOUND_SNOW (1<<6) diff --git a/code/__DEFINES/qdel.dm b/code/__DEFINES/qdel.dm index 86c3ad465250..dca885b37b95 100644 --- a/code/__DEFINES/qdel.dm +++ b/code/__DEFINES/qdel.dm @@ -54,10 +54,10 @@ #define QDELETED(X) (!X || QDELING(X)) #define QDESTROYING(X) (!X || X.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) -#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, (time) > GC_FILTER_QUEUE ? WEAKREF(item) : item), time, TIMER_STOPPABLE) -#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME) +#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), (time) > GC_FILTER_QUEUE ? WEAKREF(item) : item), time, TIMER_STOPPABLE) +#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME) #define QDEL_NULL(item) qdel(item); item = null #define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); } -#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/______qdel_list_wrapper, L), time, TIMER_STOPPABLE) +#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(______qdel_list_wrapper), L), time, TIMER_STOPPABLE) #define QDEL_LIST_ASSOC(L) if(L) { for(var/I in L) { qdel(L[I]); qdel(I); } L.Cut(); } #define QDEL_LIST_ASSOC_VAL(L) if(L) { for(var/I in L) qdel(L[I]); L.Cut(); } diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm index 8e2f1e52758d..c66d3f34c1ad 100644 --- a/code/__DEFINES/reagents.dm +++ b/code/__DEFINES/reagents.dm @@ -22,7 +22,7 @@ #define VAPOR 3 // foam, spray, blob attack #define PATCH 4 // patches #define INJECT 5 // injection - +#define SMOKE 6 //smoking //defines passed through to the on_reagent_change proc #define DEL_REAGENT 1 // reagent deleted (fully cleared) diff --git a/code/__DEFINES/rust_g.dm b/code/__DEFINES/rust_g.dm index cab4430a88df..76e5fa22d474 100644 --- a/code/__DEFINES/rust_g.dm +++ b/code/__DEFINES/rust_g.dm @@ -110,6 +110,12 @@ #define rustg_dmi_strip_metadata(fname) RUSTG_CALL(RUST_G, "dmi_strip_metadata")(fname) #define rustg_dmi_create_png(path, width, height, data) RUSTG_CALL(RUST_G, "dmi_create_png")(path, width, height, data) #define rustg_dmi_resize_png(path, width, height, resizetype) RUSTG_CALL(RUST_G, "dmi_resize_png")(path, width, height, resizetype) +/** + * input: must be a path, not an /icon; you have to do your own handling if it is one, as icon objects can't be directly passed to rustg. + * + * output: json_encode'd list. json_decode to get a flat list with icon states in the order they're in inside the .dmi + */ +#define rustg_dmi_icon_states(fname) RUSTG_CALL(RUST_G, "dmi_icon_states")(fname) #define rustg_file_read(fname) RUSTG_CALL(RUST_G, "file_read")(fname) #define rustg_file_exists(fname) RUSTG_CALL(RUST_G, "file_exists")(fname) @@ -158,8 +164,9 @@ #define rustg_time_milliseconds(id) text2num(RUSTG_CALL(RUST_G, "time_milliseconds")(id)) #define rustg_time_reset(id) RUSTG_CALL(RUST_G, "time_reset")(id) +/// Returns the timestamp as a string /proc/rustg_unix_timestamp() - return text2num(RUSTG_CALL(RUST_G, "unix_timestamp")()) + return RUSTG_CALL(RUST_G, "unix_timestamp")() #define rustg_raw_read_toml_file(path) json_decode(RUSTG_CALL(RUST_G, "toml_file_to_json")(path) || "null") diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm index b349387832ea..a470b9087b2e 100644 --- a/code/__DEFINES/say.dm +++ b/code/__DEFINES/say.dm @@ -71,10 +71,7 @@ #define SPAN_COMMAND "command_headset" #define SPAN_CLOWN "clown" #define SPAN_SINGING "singing" - -//WS Spans - Begin #define SPAN_SGA "sga" -//WS Spans - End //bitflag #defines for return value of the radio() proc. #define ITALICS (1<<0) diff --git a/code/__DEFINES/spaceman_dmm.dm b/code/__DEFINES/spaceman_dmm.dm index 6d87700f3d24..b62bbee4259a 100644 --- a/code/__DEFINES/spaceman_dmm.dm +++ b/code/__DEFINES/spaceman_dmm.dm @@ -40,5 +40,5 @@ /world/Del() var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL") if (debug_server) - call(debug_server, "auxtools_shutdown")() + LIBCALL(debug_server, "auxtools_shutdown")() . = ..() diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index 6187a67825a4..0cc106ec9cf2 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -1,6 +1,6 @@ // tgstation-server DMAPI -#define TGS_DMAPI_VERSION "6.5.3" +#define TGS_DMAPI_VERSION "6.6.2" // All functions and datums outside this document are subject to change with any version and should not be relied on. @@ -129,6 +129,13 @@ /// DreamDaemon Ultrasafe security level. #define TGS_SECURITY_ULTRASAFE 2 +/// DreamDaemon public visibility level. +#define TGS_VISIBILITY_PUBLIC 0 +/// DreamDaemon private visibility level. +#define TGS_VISIBILITY_PRIVATE 1 +/// DreamDaemon invisible visibility level. +#define TGS_VISIBILITY_INVISIBLE 2 + //REQUIRED HOOKS /** @@ -458,6 +465,10 @@ /world/proc/TgsSecurityLevel() return +/// Returns the current BYOND visibility level as a TGS_VISIBILITY_ define if TGS is present, null otherwise. Requires TGS to be using interop API version 5 or higher otherwise the string "___unimplemented" wil be returned. This function may sleep if the call to [/world/proc/TgsNew] is sleeping! +/world/proc/TgsVisibility() + return + /// Returns a list of active [/datum/tgs_revision_information/test_merge]s if TGS is present, null otherwise. This function may sleep if the call to [/world/proc/TgsNew] is sleeping! /world/proc/TgsTestMerges() return diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index ea51a1c96113..5d2d843cec62 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -146,7 +146,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_MUTE "mute" #define TRAIT_EMOTEMUTE "emotemute" #define TRAIT_NEARSIGHT "nearsighted" -#define TRAIT_FAT "fat" #define TRAIT_HUSK "husk" #define TRAIT_BADDNA "baddna" #define TRAIT_CLUMSY "clumsy" @@ -322,7 +321,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define UNCONSCIOUS_TRAIT "unconscious" #define EYE_DAMAGE "eye_damage" #define GENETIC_MUTATION "genetic" -#define OBESITY "obesity" #define MAGIC_TRAIT "magic" #define TRAUMA_TRAIT "trauma" #define DISEASE_TRAIT "disease" @@ -425,6 +423,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_FISH_SAFE_STORAGE "fish_case" /// Stuff that can go inside fish cases #define TRAIT_FISH_CASE_COMPATIBILE "fish_case_compatibile" +/// Granted by prismwine +#define TRAIT_REFLECTIVE "reflective" /// Trait granted by [mob/living/silicon/ai] /// Applied when the ai anchors itself diff --git a/code/__HELPERS/_extools_api.dm b/code/__HELPERS/_extools_api.dm index d1961907e1e8..16c70f7d2dc5 100644 --- a/code/__HELPERS/_extools_api.dm +++ b/code/__HELPERS/_extools_api.dm @@ -8,7 +8,7 @@ GLOBAL_LIST_EMPTY(auxtools_initialized) #define AUXTOOLS_CHECK(LIB)\ if (!GLOB.auxtools_initialized[LIB] && fexists(LIB)) {\ - var/string = call(LIB,"auxtools_init")();\ + var/string = LIBCALL(LIB,"auxtools_init")();\ if(findtext(string, "SUCCESS")) {\ GLOB.auxtools_initialized[LIB] = TRUE;\ } else {\ @@ -18,6 +18,6 @@ GLOBAL_LIST_EMPTY(auxtools_initialized) #define AUXTOOLS_SHUTDOWN(LIB)\ if (GLOB.auxtools_initialized[LIB] && fexists(LIB)){\ - call(LIB,"auxtools_shutdown")();\ + LIBCALL(LIB,"auxtools_shutdown")();\ GLOB.auxtools_initialized[LIB] = FALSE;\ }\ diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 2b3f3e41e444..6dc31eea2fdb 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -353,7 +353,7 @@ block( \ /proc/flick_overlay(image/I, list/show_to, duration) for(var/client/C in show_to) C.images += I - addtimer(CALLBACK(GLOBAL_PROC, /proc/remove_images_from_clients, I, show_to), duration, TIMER_CLIENT_TIME) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(remove_images_from_clients), I, show_to), duration, TIMER_CLIENT_TIME) /proc/flick_overlay_view(image/I, atom/target, duration) //wrapper for the above, flicks to everyone who can see the target atom var/list/viewing = list() diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 56f75905b7c4..1048aaa5c861 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -39,7 +39,6 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_markings, GLOB.moth_markings_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/spider_legs, GLOB.spider_legs_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/spider_spinneret, GLOB.spider_spinneret_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/spider_mandibles, GLOB.spider_mandibles_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/kepori_feathers, GLOB.kepori_feathers_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/kepori_body_feathers, GLOB.kepori_body_feathers_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/kepori_tail_feathers, GLOB.kepori_tail_feathers_list) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index e824b3d82273..8838ba324530 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -78,8 +78,6 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/spider_legs, GLOB.spider_legs_list) if(!GLOB.spider_spinneret_list.len) init_sprite_accessory_subtypes(/datum/sprite_accessory/spider_spinneret, GLOB.spider_spinneret_list) - if(!GLOB.spider_mandibles_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/spider_mandibles, GLOB.spider_mandibles_list) if(!GLOB.kepori_feathers_list.len) init_sprite_accessory_subtypes(/datum/sprite_accessory/kepori_feathers, GLOB.kepori_feathers_list) if(!GLOB.kepori_tail_feathers_list.len) @@ -118,7 +116,6 @@ "moth_wings" = pick(GLOB.moth_wings_list), "face_markings" = pick(GLOB.face_markings_list), "spider_legs" = pick(GLOB.spider_legs_list), - "spider_mandibles" = pick(GLOB.spider_mandibles_list), "spider_spinneret" = pick(GLOB.spider_spinneret_list), "spines" = pick(GLOB.spines_list), "squid_face" = pick(GLOB.squid_face_list), @@ -244,7 +241,7 @@ GLOBAL_LIST_EMPTY(species_list) return "unknown" ///Timed action involving two mobs, the user and the target. -/proc/do_mob(mob/user , mob/target, time = 3 SECONDS, uninterruptible = FALSE, progress = TRUE, datum/callback/extra_checks = null) +/proc/do_mob(mob/user , mob/target, time = 3 SECONDS, uninterruptible = FALSE, progress = TRUE, datum/callback/extra_checks = null, ignore_loc_change = FALSE) if(!user || !target) return FALSE @@ -284,7 +281,12 @@ GLOBAL_LIST_EMPTY(species_list) drifting = FALSE user_loc = user.loc - if((!drifting && user.loc != user_loc) || target.loc != target_loc || user.get_active_held_item() != holding || user.incapacitated() || (extra_checks && !extra_checks.Invoke())) + + if(!ignore_loc_change && ((!drifting && user.loc != user_loc) || target.loc != target_loc)) + . = FALSE + break + + if(user.get_active_held_item() != holding || user.incapacitated() || (extra_checks && !extra_checks.Invoke())) . = FALSE break if(!QDELETED(progbar)) diff --git a/code/__HELPERS/nameof.dm b/code/__HELPERS/nameof.dm new file mode 100644 index 000000000000..7cd5777f4652 --- /dev/null +++ b/code/__HELPERS/nameof.dm @@ -0,0 +1,15 @@ +/** + * NAMEOF: Compile time checked variable name to string conversion + * evaluates to a string equal to "X", but compile errors if X isn't a var on datum. + * datum may be null, but it does need to be a typed var. + **/ +#define NAMEOF(datum, X) (#X || ##datum.##X) + +/** + * NAMEOF that actually works in static definitions because src::type requires src to be defined + */ +#if DM_VERSION >= 515 +#define NAMEOF_STATIC(datum, X) (nameof(type::##X)) +#else +#define NAMEOF_STATIC(datum, X) (#X || ##datum.##X) +#endif diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index efd551badefb..94039f138721 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -32,6 +32,27 @@ else if(dx<0) .+=360 + +////Tile coordinates (x, y) to absolute coordinates (in number of pixels). Center of a tile is generally assumed to be (16,16), but can be offset. +#define ABS_COOR(c) (((c - 1) * 32) + 16) +#define ABS_COOR_OFFSET(c, o) (((c - 1) * 32) + o) + +/proc/get_angle_with_scatter(atom/start, atom/end, scatter, x_offset = 16, y_offset = 16) + var/end_apx + var/end_apy + if(isliving(end)) //Center mass. + end_apx = ABS_COOR(end.x) + end_apy = ABS_COOR(end.y) + else //Exact pixel. + end_apx = ABS_COOR_OFFSET(end.x, x_offset) + end_apy = ABS_COOR_OFFSET(end.y, y_offset) + scatter = ((rand(0, min(scatter, 45))) * (prob(50) ? 1 : -1)) //Up to 45 degrees deviation to either side. + . = round((90 - ATAN2(end_apx - ABS_COOR(start.x), end_apy - ABS_COOR(start.y))), 1) + scatter + if(. < 0) + . += 360 + else if(. >= 360) + . -= 360 + /proc/Get_Pixel_Angle(y, x)//for getting the angle when animating something's pixel_x and pixel_y if(!y) return (x>=0)?90:270 @@ -1391,12 +1412,9 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) . = CB.Invoke() usr = temp -//datum may be null, but it does need to be a typed var -#define NAMEOF(datum, X) (#X || ##datum.##X) - -#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC, /proc/___callbackvarset, ##target, ##var_name, ##var_value) +#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___callbackvarset), ##target, ##var_name, ##var_value) //dupe code because dm can't handle 3 level deep macros -#define VARSET_CALLBACK(datum, var, var_value) CALLBACK(GLOBAL_PROC, /proc/___callbackvarset, ##datum, NAMEOF(##datum, ##var), ##var_value) +#define VARSET_CALLBACK(datum, var, var_value) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___callbackvarset), ##datum, NAMEOF(##datum, ##var), ##var_value) /proc/___callbackvarset(list_or_datum, var_name, var_value) if(length(list_or_datum)) @@ -1408,8 +1426,8 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) else D.vars[var_name] = var_value -#define TRAIT_CALLBACK_ADD(target, trait, source) CALLBACK(GLOBAL_PROC, /proc/___TraitAdd, ##target, ##trait, ##source) -#define TRAIT_CALLBACK_REMOVE(target, trait, source) CALLBACK(GLOBAL_PROC, /proc/___TraitRemove, ##target, ##trait, ##source) +#define TRAIT_CALLBACK_ADD(target, trait, source) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___TraitAdd), ##target, ##trait, ##source) +#define TRAIT_CALLBACK_REMOVE(target, trait, source) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___TraitRemove), ##target, ##trait, ##source) ///DO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback. /proc/___TraitAdd(target,trait,source) diff --git a/code/__byond_version_compat.dm b/code/__byond_version_compat.dm index d711276efc27..08ca94db6c6a 100644 --- a/code/__byond_version_compat.dm +++ b/code/__byond_version_compat.dm @@ -1,7 +1,7 @@ // This file contains defines allowing targeting byond versions newer than the supported //Update this whenever you need to take advantage of more recent byond features -/*#define MIN_COMPILER_VERSION 514 +#define MIN_COMPILER_VERSION 514 #define MIN_COMPILER_BUILD 1556 #if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM) //Don't forget to update this part @@ -12,8 +12,13 @@ #if (DM_VERSION == 514 && DM_BUILD > 1575 && DM_BUILD <= 1577) #error Your version of BYOND currently has a crashing issue that will prevent you from running Dream Daemon test servers. #error We require developers to test their content, so an inability to test means we cannot allow the compile. -#error Please consider downgrading to 514.1575 or lower. -#endif*/ +#error Please consider upgrading to 514.1577 or above. +#endif + +#if (DM_VERSION == 514 && DM_BUILD == 1589) +#warn Warning! Byond 514.1589 has been known to be unstable. Use at your own risk. +#warn Please consider using 514.1588. +#endif // Keep savefile compatibilty at minimum supported level #if DM_VERSION >= 515 @@ -43,3 +48,16 @@ /// Call by name proc reference, checks if the proc is existing global proc #define GLOBAL_PROC_REF(X) (/proc/##X) #endif + +// I heard that this was fixed in 1609 (not public currently), but that could be wrong, so keep an eye on this +#if (DM_VERSION == 515 && DM_BUILD < 1609) +/// fcopy will crash on 515 linux if given a non-existant file, instead of returning 0 like on 514 linux or 515 windows +/// var case matches documentation for fcopy. +/world/proc/__fcopy(Src, Dst) + if (!fexists(Src)) + return 0 + return fcopy(Src, Dst) + +#define fcopy(Src, Dst) world.__fcopy(Src, Dst) + +#endif diff --git a/code/_compile_options.dm b/code/_compile_options.dm index 0b73aa7172c3..4f96217abd2c 100644 --- a/code/_compile_options.dm +++ b/code/_compile_options.dm @@ -52,23 +52,6 @@ /// Prefer the autowiki build target instead. // #define AUTOWIKI -//Update this whenever you need to take advantage of more recent byond features -#define MIN_COMPILER_VERSION 513 -#define MIN_COMPILER_BUILD 1514 -#if DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD -//Don't forget to update this part -#error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update. -#error You need version 513.1514 or higher -#endif - -//Update this whenever the byond version is stable so people stop updating to hilariously broken versions -//#define MAX_COMPILER_VERSION 514 -//#define MAX_COMPILER_BUILD 1571 -#ifdef MAX_COMPILER_VERSION -#if DM_VERSION > MAX_COMPILER_VERSION || DM_BUILD > MAX_COMPILER_BUILD -#warn WARNING: Your BYOND version is over the recommended version (514.1571)! Stability is not guaranteed. -#endif -#endif //Log the full sendmaps profile on 514.1556+, any earlier and we get bugs or it not existing #if DM_VERSION >= 514 && DM_BUILD >= 1556 #define SENDMAPS_PROFILE diff --git a/code/_debugger.dm b/code/_debugger.dm index dafc759ec563..1518908fa9a0 100644 --- a/code/_debugger.dm +++ b/code/_debugger.dm @@ -9,5 +9,5 @@ /datum/debugger/proc/enable_debugger() var/dll = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL") if (dll) - call(dll, "auxtools_init")() + LIBCALL(dll, "auxtools_init")() enable_debugging() diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 66196b1a6dd6..aca090086487 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -43,7 +43,6 @@ GLOBAL_LIST_EMPTY(ipc_chassis_list) GLOBAL_LIST_INIT(ipc_brain_list, list("Posibrain", "Man-Machine Interface")) GLOBAL_LIST_EMPTY(spider_legs_list) GLOBAL_LIST_EMPTY(spider_spinneret_list) -GLOBAL_LIST_EMPTY(spider_mandibles_list) GLOBAL_LIST_EMPTY(kepori_feathers_list) GLOBAL_LIST_EMPTY(kepori_body_feathers_list) GLOBAL_LIST_EMPTY(kepori_tail_feathers_list) @@ -128,7 +127,7 @@ GLOBAL_LIST_INIT(ai_core_display_screens, sortList(list( "Helios", "House", "Inverted", - "Lamp", //WS edit, moff ai display + "Lamp", "Matrix", "Monochrome", "Murica", diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm index 0c28353395d4..fb00d8bdf283 100644 --- a/code/_globalvars/lists/mobs.dm +++ b/code/_globalvars/lists/mobs.dm @@ -35,6 +35,8 @@ GLOBAL_LIST_EMPTY(aiEyes) ///underages who have been reported to security for trying to buy things they shouldn't, so they can't spam GLOBAL_LIST_EMPTY(narcd_underages) +GLOBAL_LIST_EMPTY(real_names_joined) + GLOBAL_LIST_EMPTY(language_datum_instances) GLOBAL_LIST_EMPTY(all_languages) diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index 3239cb53b8d0..c91b96db8de9 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -17,7 +17,6 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_EMOTEMUTE " = TRAIT_EMOTEMUTE, "TRAIT_DEAF" = TRAIT_DEAF, "TRAIT_NEARSIGHT" = TRAIT_NEARSIGHT, - "TRAIT_FAT" = TRAIT_FAT, "TRAIT_HUSK" = TRAIT_HUSK, "TRAIT_BADDNA" = TRAIT_BADDNA, "TRAIT_CLUMSY" = TRAIT_CLUMSY, diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm index 00a16eefda33..ac401489f40a 100644 --- a/code/_onclick/drag_drop.dm +++ b/code/_onclick/drag_drop.dm @@ -108,7 +108,7 @@ UnregisterSignal(mouseObject, COMSIG_PARENT_QDELETING) mouseObject = over_object // register signal to new mouseObject - RegisterSignal(mouseObject, COMSIG_PARENT_QDELETING, .proc/clear_mouseObject) + RegisterSignal(mouseObject, COMSIG_PARENT_QDELETING, PROC_REF(clear_mouseObject)) mouseControlObject = over_control if(selected_target[1] && over_object && over_object.IsAutoclickable()) selected_target[1] = over_object diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index e8e6daccf45b..43ae8ffbe246 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -65,7 +65,7 @@ Override makes it so the alert is not replaced until cleared by a clear_alert wi animate(thealert, transform = matrix(), time = 2.5, easing = CUBIC_EASING) if(thealert.timeout) - addtimer(CALLBACK(src, .proc/alert_timeout, thealert, category), thealert.timeout) + addtimer(CALLBACK(src, PROC_REF(alert_timeout), thealert, category), thealert.timeout) thealert.timeout = world.time + thealert.timeout - world.tick_lag return thealert @@ -164,11 +164,6 @@ Override makes it so the alert is not replaced until cleared by a clear_alert wi //End gas alerts -/atom/movable/screen/alert/fat - name = "Fat" - desc = "You ate too much food, lardass. Run around and lose some weight." - icon_state = "fat" - /atom/movable/screen/alert/hungry name = "Hungry" desc = "Some food would be good right about now." @@ -313,7 +308,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." add_overlay(receiving) src.receiving = receiving src.offerer = offerer - RegisterSignal(taker, COMSIG_MOVABLE_MOVED, .proc/check_in_range, override = TRUE) //Override to prevent runtimes when people offer a item multiple times + RegisterSignal(taker, COMSIG_MOVABLE_MOVED, PROC_REF(check_in_range), override = TRUE) //Override to prevent runtimes when people offer a item multiple times /atom/movable/screen/alert/give/proc/removeAlert() to_chat(owner, "You moved out of range of [offerer]!") @@ -341,7 +336,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." . = ..() name = "[offerer] is offering a high-five!" desc = "[offerer] is offering a high-five! Click this alert to slap it." - RegisterSignal(offerer, COMSIG_PARENT_EXAMINE_MORE, .proc/check_fake_out) + RegisterSignal(offerer, COMSIG_PARENT_EXAMINE_MORE, PROC_REF(check_fake_out)) /atom/movable/screen/alert/give/highfive/handle_transfer() var/mob/living/carbon/taker = owner @@ -359,7 +354,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." offerer.visible_message(span_notice("[rube] rushes in to high-five [offerer], but-"), span_nicegreen("[rube] falls for your trick just as planned, lunging for a high-five that no longer exists! Classic!"), ignored_mobs=rube) to_chat(rube, span_nicegreen("You go in for [offerer]'s high-five, but-")) - addtimer(CALLBACK(src, .proc/too_slow_p2, offerer, rube), 0.5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(too_slow_p2), offerer, rube), 0.5 SECONDS) /// Part two of the ultimate prank /atom/movable/screen/alert/give/highfive/proc/too_slow_p2() diff --git a/code/_onclick/hud/credits.dm b/code/_onclick/hud/credits.dm index 01e4cd1de1f4..0ee063593a8b 100644 --- a/code/_onclick/hud/credits.dm +++ b/code/_onclick/hud/credits.dm @@ -36,7 +36,7 @@ GLOBAL_LIST_INIT(patrons, world.file2list("[global.config.directory]/patrons.txt if(!C) continue - addtimer(CALLBACK(GLOBAL_PROC, .proc/create_credit, C), CREDIT_SPAWN_SPEED * i + (3 * CREDIT_SPAWN_SPEED), TIMER_CLIENT_TIME) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(create_credit), C), CREDIT_SPAWN_SPEED * i + (3 * CREDIT_SPAWN_SPEED), TIMER_CLIENT_TIME) /proc/create_credit(credit) new /atom/movable/screen/credit(null, credit) @@ -59,7 +59,7 @@ GLOBAL_LIST_INIT(patrons, world.file2list("[global.config.directory]/patrons.txt animate(src, transform = M, time = CREDIT_ROLL_SPEED) target = M animate(src, alpha = 255, time = CREDIT_EASE_DURATION, flags = ANIMATION_PARALLEL) - INVOKE_ASYNC(src, .proc/add_to_clients) + INVOKE_ASYNC(src, PROC_REF(add_to_clients)) QDEL_IN(src, CREDIT_ROLL_SPEED) /atom/movable/screen/credit/proc/add_to_clients() diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index 14b95e421c3d..b286ff28f4c5 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -25,7 +25,7 @@ if(animated) animate(screen, alpha = 0, time = animated) - addtimer(CALLBACK(src, .proc/clear_fullscreen_after_animate, screen), animated, TIMER_CLIENT_TIME) + addtimer(CALLBACK(src, PROC_REF(clear_fullscreen_after_animate), screen), animated, TIMER_CLIENT_TIME) else if(client) client.screen -= screen diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm index 36d278adac0d..0bf17de075bf 100644 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -133,7 +133,7 @@ C.parallax_movedir = new_parallax_movedir if (C.parallax_animate_timer) deltimer(C.parallax_animate_timer) - var/datum/callback/CB = CALLBACK(src, .proc/update_parallax_motionblur, C, animatedir, new_parallax_movedir, newtransform) + var/datum/callback/CB = CALLBACK(src, PROC_REF(update_parallax_motionblur), C, animatedir, new_parallax_movedir, newtransform) if(skip_windups) CB.Invoke() else diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index b672b901d086..6bc47aa6bcb8 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -14,7 +14,7 @@ GLOBAL_LIST_EMPTY(radial_menus) UnregisterSignal(parent, COMSIG_PARENT_QDELETING) parent = new_value if(parent) - RegisterSignal(parent, COMSIG_PARENT_QDELETING, .proc/handle_parent_del) + RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(handle_parent_del)) /atom/movable/screen/radial/proc/handle_parent_del() SIGNAL_HANDLER @@ -62,9 +62,18 @@ GLOBAL_LIST_EMPTY(radial_menus) parent.finished = TRUE /datum/radial_menu - var/list/choices = list() //List of choice id's - var/list/choices_icons = list() //choice_id -> icon - var/list/choices_values = list() //choice_id -> choice + /// List of choice IDs + var/list/choices = list() + + /// choice_id -> icon + var/list/choices_icons = list() + + /// choice_id -> choice + var/list/choices_values = list() + + /// choice_id -> /datum/radial_menu_choice + var/list/choice_datums = list() + var/list/page_data = list() //list of choices per page @@ -199,6 +208,7 @@ GLOBAL_LIST_EMPTY(radial_menus) E.alpha = 255 E.mouse_opacity = MOUSE_OPACITY_ICON E.cut_overlays() + E.vis_contents.Cut() if(choice_id == NEXT_PAGE_ID) E.name = "Next Page" E.next_page = TRUE @@ -245,11 +255,17 @@ GLOBAL_LIST_EMPTY(radial_menus) var/I = extract_image(new_choices[E]) if(I) choices_icons[id] = I + if (istype(new_choices[E], /datum/radial_menu_choice)) + choice_datums[id] = new_choices[E] setup_menu(use_tooltips) -/datum/radial_menu/proc/extract_image(E) - var/mutable_appearance/MA = new /mutable_appearance(E) +/datum/radial_menu/proc/extract_image(to_extract_from) + if (istype(to_extract_from, /datum/radial_menu_choice)) + var/datum/radial_menu_choice/choice = to_extract_from + to_extract_from = choice.image + + var/mutable_appearance/MA = new /mutable_appearance(to_extract_from) if(MA) MA.layer = ABOVE_HUD_LAYER MA.appearance_flags |= RESET_TRANSFORM @@ -332,3 +348,15 @@ GLOBAL_LIST_EMPTY(radial_menus) if(!custom_check.Invoke()) return return answer + +/// Can be provided to choices in radial menus if you want to provide more information +/datum/radial_menu_choice + /// Required -- what to display for this button + var/image + + /// If provided, will display an info button that will put this text in your chat + var/info + +/datum/radial_menu_choice/Destroy(force, ...) + . = ..() + QDEL_NULL(image) diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 557096d83c82..8615b9a9aa6d 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -749,7 +749,7 @@ deltimer(timerid) if(!streak) return ..() - timerid = addtimer(CALLBACK(src, .proc/clear_streak), 20, TIMER_UNIQUE | TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(clear_streak)), 20, TIMER_UNIQUE | TIMER_STOPPABLE) icon_state = "combo" for(var/i = 1; i <= length(streak); ++i) var/intent_text = copytext(streak, i, i + 1) diff --git a/code/controllers/configuration/config_entry.dm b/code/controllers/configuration/config_entry.dm index 22c19f7cf627..8a25babbb010 100644 --- a/code/controllers/configuration/config_entry.dm +++ b/code/controllers/configuration/config_entry.dm @@ -42,7 +42,7 @@ . &= !(protection & CONFIG_ENTRY_HIDDEN) /datum/config_entry/vv_edit_var(var_name, var_value) - var/static/list/banned_edits = list(NAMEOF(src, name), NAMEOF(src, vv_VAS), NAMEOF(src, default), NAMEOF(src, resident_file), NAMEOF(src, protection), NAMEOF(src, abstract_type), NAMEOF(src, modified), NAMEOF(src, dupes_allowed)) + var/static/list/banned_edits = list(NAMEOF_STATIC(src, name), NAMEOF_STATIC(src, vv_VAS), NAMEOF_STATIC(src, default), NAMEOF_STATIC(src, resident_file), NAMEOF_STATIC(src, protection), NAMEOF_STATIC(src, abstract_type), NAMEOF_STATIC(src, modified), NAMEOF_STATIC(src, dupes_allowed)) if(var_name == NAMEOF(src, config_entry_value)) if(protection & CONFIG_ENTRY_LOCKED) return FALSE @@ -105,7 +105,7 @@ return FALSE /datum/config_entry/number/vv_edit_var(var_name, var_value) - var/static/list/banned_edits = list(NAMEOF(src, max_val), NAMEOF(src, min_val), NAMEOF(src, integer)) + var/static/list/banned_edits = list(NAMEOF_STATIC(src, max_val), NAMEOF_STATIC(src, min_val), NAMEOF_STATIC(src, integer)) return !(var_name in banned_edits) && ..() /datum/config_entry/flag diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm index 70fb5d107f3f..c806ec40837a 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -352,4 +352,4 @@ Example config: //Message admins when you can. /datum/controller/configuration/proc/DelayedMessageAdmins(text) - addtimer(CALLBACK(GLOBAL_PROC, /proc/message_admins, text), 0) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(message_admins), text), 0) diff --git a/code/controllers/master.dm b/code/controllers/master.dm index f89030c51842..302c0de4a427 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -343,9 +343,9 @@ GLOBAL_REAL(Master, /datum/controller/master) = new queue_tail = null //these sort by lower priorities first to reduce the number of loops needed to add subsequent SS's to the queue //(higher subsystems will be sooner in the queue, adding them later in the loop means we don't have to loop thru them next queue add) - sortTim(tickersubsystems, /proc/cmp_subsystem_priority) + sortTim(tickersubsystems, GLOBAL_PROC_REF(cmp_subsystem_priority)) for(var/I in runlevel_sorted_subsystems) - sortTim(runlevel_sorted_subsystems, /proc/cmp_subsystem_priority) + sortTim(I, GLOBAL_PROC_REF(cmp_subsystem_priority)) I += tickersubsystems var/cached_runlevel = current_runlevel diff --git a/code/controllers/subsystem/dbcore.dm b/code/controllers/subsystem/dbcore.dm index e5584df31e5e..0fd7090ff17d 100644 --- a/code/controllers/subsystem/dbcore.dm +++ b/code/controllers/subsystem/dbcore.dm @@ -192,9 +192,9 @@ SUBSYSTEM_DEF(dbcore) for (var/thing in querys) var/datum/DBQuery/query = thing if (warn) - INVOKE_ASYNC(query, /datum/DBQuery.proc/warn_execute) + INVOKE_ASYNC(query, TYPE_PROC_REF(/datum/DBQuery, warn_execute)) else - INVOKE_ASYNC(query, /datum/DBQuery.proc/Execute) + INVOKE_ASYNC(query, TYPE_PROC_REF(/datum/DBQuery, Execute)) for (var/thing in querys) var/datum/DBQuery/query = thing diff --git a/code/controllers/subsystem/explosions.dm b/code/controllers/subsystem/explosions.dm index 4e8a23b5ba3c..14f8e8b8fa19 100644 --- a/code/controllers/subsystem/explosions.dm +++ b/code/controllers/subsystem/explosions.dm @@ -140,7 +140,7 @@ SUBSYSTEM_DEF(explosions) else continue - addtimer(CALLBACK(GLOBAL_PROC, .proc/wipe_color_and_text, wipe_colours), 100) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(wipe_color_and_text), wipe_colours), 100) /proc/wipe_color_and_text(list/atom/wiping) for(var/i in wiping) @@ -278,7 +278,7 @@ SUBSYSTEM_DEF(explosions) M.playsound_local(epicenter, null, echo_volume, 1, frequency, S = explosion_echo_sound, distance_multiplier = 0) if(creaking_explosion) // 5 seconds after the bang, the station begins to creak - addtimer(CALLBACK(M, /mob/proc/playsound_local, epicenter, null, rand(FREQ_LOWER, FREQ_UPPER), 1, frequency, null, null, FALSE, hull_creaking_sound, 0), CREAK_DELAY) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob, playsound_local), epicenter, null, rand(FREQ_LOWER, FREQ_UPPER), 1, frequency, null, null, FALSE, hull_creaking_sound, 0), CREAK_DELAY) if(heavy_impact_range > 1) var/datum/effect_system/explosion/E diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index b362a7ed4e62..da58d4764516 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -209,11 +209,11 @@ SUBSYSTEM_DEF(garbage) if (GC_QUEUE_CHECK) #ifdef REFERENCE_TRACKING if(reference_find_on_fail[refID]) - INVOKE_ASYNC(D, /datum/proc/find_references) + INVOKE_ASYNC(D, TYPE_PROC_REF(/datum, find_references)) ref_searching = TRUE #ifdef GC_FAILURE_HARD_LOOKUP else - INVOKE_ASYNC(D, /datum/proc/find_references) + INVOKE_ASYNC(D, TYPE_PROC_REF(/datum, find_references)) ref_searching = TRUE #endif reference_find_on_fail -= refID diff --git a/code/controllers/subsystem/lag_switch.dm b/code/controllers/subsystem/lag_switch.dm index eadf8d219324..631685fe2910 100644 --- a/code/controllers/subsystem/lag_switch.dm +++ b/code/controllers/subsystem/lag_switch.dm @@ -23,7 +23,7 @@ SUBSYSTEM_DEF(lag_switch) if(auto_switch_pop) auto_switch = TRUE trigger_pop = auto_switch_pop - RegisterSignal(SSdcs, COMSIG_GLOB_CLIENT_CONNECT, .proc/client_connected) + RegisterSignal(SSdcs, COMSIG_GLOB_CLIENT_CONNECT, PROC_REF(client_connected)) return ..() /datum/controller/subsystem/lag_switch/proc/client_connected(datum/source, client/connected) @@ -33,7 +33,7 @@ SUBSYSTEM_DEF(lag_switch) auto_switch = FALSE UnregisterSignal(SSdcs, COMSIG_GLOB_CLIENT_CONNECT) - veto_timer_id = addtimer(CALLBACK(src, .proc/set_all_measures, TRUE, TRUE), 20 SECONDS, TIMER_STOPPABLE) + veto_timer_id = addtimer(CALLBACK(src, PROC_REF(set_all_measures), TRUE, TRUE), 20 SECONDS, TIMER_STOPPABLE) message_admins("Lag Switch population threshold reached. Automatic activation of lag mitigation measures occuring in 20 seconds. (CANCEL)") log_admin("Lag Switch population threshold reached. Automatic activation of lag mitigation measures occuring in 20 seconds.") @@ -41,7 +41,7 @@ SUBSYSTEM_DEF(lag_switch) /datum/controller/subsystem/lag_switch/proc/toggle_auto_enable() auto_switch = !auto_switch if(auto_switch) - RegisterSignal(SSdcs, COMSIG_GLOB_CLIENT_CONNECT, .proc/client_connected) + RegisterSignal(SSdcs, COMSIG_GLOB_CLIENT_CONNECT, PROC_REF(client_connected)) else UnregisterSignal(SSdcs, COMSIG_GLOB_CLIENT_CONNECT) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 28ab56d05211..f9c5c9c86399 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -134,17 +134,6 @@ SUBSYSTEM_DEF(mapping) for(var/datum/planet_type/type as anything in subtypesof(/datum/planet_type)) planet_types[initial(type.planet)] = new type - // Still supporting bans by filename - // I hate this so much. I want to kill it because I don't think ANYONE uses this - // Couldn't you just remove it on a fork or something??? come onnnnnnnnnnnn stop EXISTING already - var/list/banned = generateMapList("[global.config.directory]/lavaruinblacklist.txt") - banned += generateMapList("[global.config.directory]/spaceruinblacklist.txt") - banned += generateMapList("[global.config.directory]/iceruinblacklist.txt") - banned += generateMapList("[global.config.directory]/sandruinblacklist.txt") - banned += generateMapList("[global.config.directory]/jungleruinblacklist.txt") - banned += generateMapList("[global.config.directory]/rockruinblacklist.txt") - banned += generateMapList("[global.config.directory]/wasteruinblacklist.txt") - for(var/item in sortList(subtypesof(/datum/map_template/ruin), /proc/cmp_ruincost_priority)) var/datum/map_template/ruin/ruin_type = item // screen out the abstract subtypes @@ -152,9 +141,6 @@ SUBSYSTEM_DEF(mapping) continue var/datum/map_template/ruin/R = new ruin_type() - if(R.mappath in banned) - continue - map_templates[R.name] = R ruins_templates[R.name] = R ruin_types_list[R.ruin_type] += list(R.name = R) diff --git a/code/controllers/subsystem/overmap.dm b/code/controllers/subsystem/overmap.dm index eb6ccfa3c7b4..de03f6a5a03e 100644 --- a/code/controllers/subsystem/overmap.dm +++ b/code/controllers/subsystem/overmap.dm @@ -262,7 +262,7 @@ SUBSYSTEM_DEF(overmap) var/datum/map_template/ruin/used_ruin = ispath(ruin_type) ? (new ruin_type) : ruin_type // name is random but PROBABLY unique - var/encounter_name = dynamic_datum.planet_name || "Dynamic Overmap Encounter #[rand(1111,9999)]-[rand(1111,9999)]" + var/encounter_name = dynamic_datum.planet_name || "\improper Uncharted Space [dynamic_datum.x]/[dynamic_datum.y]-[rand(1111, 9999)]" var/datum/map_zone/mapzone = SSmapping.create_map_zone(encounter_name) var/datum/virtual_level/vlevel = SSmapping.create_virtual_level( encounter_name, @@ -318,7 +318,7 @@ SUBSYSTEM_DEF(overmap) var/obj/docking_port/stationary/primary_dock = new(primary_docking_turf) primary_dock.dir = NORTH - primary_dock.name = "\improper Uncharted Space" + primary_dock.name = "[encounter_name] docking location #1" primary_dock.height = RESERVE_DOCK_MAX_SIZE_SHORT primary_dock.width = RESERVE_DOCK_MAX_SIZE_LONG primary_dock.dheight = 0 @@ -327,7 +327,7 @@ SUBSYSTEM_DEF(overmap) var/obj/docking_port/stationary/secondary_dock = new(secondary_docking_turf) secondary_dock.dir = NORTH - secondary_dock.name = "\improper Uncharted Space" + secondary_dock.name = "[encounter_name] docking location #2" secondary_dock.height = RESERVE_DOCK_MAX_SIZE_SHORT secondary_dock.width = RESERVE_DOCK_MAX_SIZE_LONG secondary_dock.dheight = 0 @@ -350,7 +350,7 @@ SUBSYSTEM_DEF(overmap) var/obj/docking_port/stationary/tertiary_dock = new(tertiary_docking_turf) tertiary_dock.dir = NORTH - tertiary_dock.name = "\improper Uncharted Space" + tertiary_dock.name = "[encounter_name] docking location #3" tertiary_dock.height = RESERVE_DOCK_MAX_SIZE_SHORT tertiary_dock.width = RESERVE_DOCK_MAX_SIZE_LONG tertiary_dock.dheight = 0 @@ -359,7 +359,7 @@ SUBSYSTEM_DEF(overmap) var/obj/docking_port/stationary/quaternary_dock = new(quaternary_docking_turf) quaternary_dock.dir = NORTH - quaternary_dock.name = "\improper Uncharted Space" + quaternary_dock.name = "[encounter_name] docking location #4" quaternary_dock.height = RESERVE_DOCK_MAX_SIZE_SHORT quaternary_dock.width = RESERVE_DOCK_MAX_SIZE_LONG quaternary_dock.dheight = 0 diff --git a/code/controllers/subsystem/pai.dm b/code/controllers/subsystem/pai.dm index ae8ca728e9ef..7c2bf71cad6a 100644 --- a/code/controllers/subsystem/pai.dm +++ b/code/controllers/subsystem/pai.dm @@ -147,7 +147,7 @@ SUBSYSTEM_DEF(pai) if(!(ROLE_PAI in G.client.prefs.be_special)) continue to_chat(G, "[user] is requesting a pAI personality! Use the pAI button to submit yourself as one.") - addtimer(CALLBACK(src, .proc/spam_again), spam_delay) + addtimer(CALLBACK(src, PROC_REF(spam_again)), spam_delay) var/list/available = list() for(var/datum/paiCandidate/c in SSpai.candidates) available.Add(check_ready(c)) diff --git a/code/controllers/subsystem/pathfinder.dm b/code/controllers/subsystem/pathfinder.dm index ccbea7930663..21ee7ea60b3c 100644 --- a/code/controllers/subsystem/pathfinder.dm +++ b/code/controllers/subsystem/pathfinder.dm @@ -31,7 +31,7 @@ SUBSYSTEM_DEF(pathfinder) while(flow[free]) CHECK_TICK free = (free % lcount) + 1 - var/t = addtimer(CALLBACK(src, /datum/flowcache.proc/toolong, free), 150, TIMER_STOPPABLE) + var/t = addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/flowcache, toolong), free), 150, TIMER_STOPPABLE) flow[free] = t flow[t] = M return free diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 9ec1ce5125b2..90e3f3a73cae 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -71,7 +71,7 @@ SUBSYSTEM_DEF(shuttle) /// Requests a bluespace jump, which, after jump_request_time deciseconds, will initiate a bluespace jump. /datum/controller/subsystem/shuttle/proc/request_jump(modifier = 1) jump_mode = BS_JUMP_CALLED - jump_timer = addtimer(CALLBACK(src, .proc/initiate_jump), jump_request_time * modifier, TIMER_STOPPABLE) + jump_timer = addtimer(CALLBACK(src, PROC_REF(initiate_jump)), jump_request_time * modifier, TIMER_STOPPABLE) priority_announce("Preparing for jump. ETD: [jump_request_time * modifier / (1 MINUTES)] minutes.", null, null, "Priority") /// Cancels a currently requested bluespace jump. Can only be done after the jump has been requested but before the jump has actually begun. diff --git a/code/controllers/subsystem/statpanel.dm b/code/controllers/subsystem/statpanel.dm index 1b844f168cf9..ac505107d726 100644 --- a/code/controllers/subsystem/statpanel.dm +++ b/code/controllers/subsystem/statpanel.dm @@ -133,7 +133,7 @@ SUBSYSTEM_DEF(statpanels) if(length(turfitems) < 30) // only create images for the first 30 items on the turf, for performance reasons if(!(REF(turf_content) in cached_images)) cached_images += REF(turf_content) - turf_content.RegisterSignal(turf_content, COMSIG_PARENT_QDELETING, /atom/.proc/remove_from_cache) // we reset cache if anything in it gets deleted + turf_content.RegisterSignal(turf_content, COMSIG_PARENT_QDELETING, TYPE_PROC_REF(/atom, remove_from_cache)) // we reset cache if anything in it gets deleted if(ismob(turf_content) || length(turf_content.overlays) > 2) turfitems[++turfitems.len] = list("[turf_content.name]", REF(turf_content), costly_icon2html(turf_content, target, sourceonly=TRUE)) else diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index 78565227e014..0260e952d10d 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -74,7 +74,7 @@ SUBSYSTEM_DEF(throwing) /datum/thrownthing/New(thrownthing, target, target_turf, init_dir, maxrange, speed, thrower, diagonals_first, force, gentle, callback, target_zone) . = ..() src.thrownthing = thrownthing - RegisterSignal(thrownthing, COMSIG_PARENT_QDELETING, .proc/on_thrownthing_qdel) + RegisterSignal(thrownthing, COMSIG_PARENT_QDELETING, PROC_REF(on_thrownthing_qdel)) src.target = target src.target_turf = target_turf src.init_dir = init_dir diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index fabb64505899..1a5d2367c85a 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -508,7 +508,7 @@ SUBSYSTEM_DEF(ticker) var/mob/dead/new_player/player = i if(player.ready == PLAYER_READY_TO_OBSERVE && player.mind) //Break chain since this has a sleep input in it - addtimer(CALLBACK(player, /mob/dead/new_player.proc/make_me_an_observer), 1) + addtimer(CALLBACK(player, TYPE_PROC_REF(/mob/dead/new_player, make_me_an_observer)), 1) /datum/controller/subsystem/ticker/proc/load_mode() var/mode = trim(file2text("data/mode.txt")) diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index 176f91cf5808..68092077d784 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -283,7 +283,7 @@ SUBSYSTEM_DEF(timer) return // Sort all timers by time to run - sortTim(alltimers, .proc/cmp_timer) + sortTim(alltimers, PROC_REF(cmp_timer)) // Get the earliest timer, and if the TTR is earlier than the current world.time, // then set the head offset appropriately to be the earliest time tracked by the diff --git a/code/datums/action.dm b/code/datums/action.dm index d96e43c08be2..ff03b689085d 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -31,7 +31,7 @@ /datum/action/proc/link_to(Target) target = Target - RegisterSignal(Target, COMSIG_ATOM_UPDATED_ICON, .proc/OnUpdatedIcon) + RegisterSignal(Target, COMSIG_ATOM_UPDATED_ICON, PROC_REF(OnUpdatedIcon)) /datum/action/Destroy() if(owner) @@ -47,7 +47,7 @@ return Remove(owner) owner = M - RegisterSignal(owner, COMSIG_PARENT_QDELETING, .proc/owner_deleted) + RegisterSignal(owner, COMSIG_PARENT_QDELETING, PROC_REF(owner_deleted)) //button id generation var/counter = 0 diff --git a/code/datums/aquarium.dm b/code/datums/aquarium.dm index 2bca6af8c26d..86551b9d25ce 100644 --- a/code/datums/aquarium.dm +++ b/code/datums/aquarium.dm @@ -68,7 +68,7 @@ src.animation_getter = animation_getter src.animation_update_signals = animation_update_signals if(animation_update_signals) - RegisterSignal(parent, animation_update_signals, .proc/generate_animation) + RegisterSignal(parent, animation_update_signals, PROC_REF(generate_animation)) if(istype(parent,/obj/item/fish)) InitializeFromFish() @@ -78,7 +78,7 @@ InitializeOther() ADD_TRAIT(parent, TRAIT_FISH_CASE_COMPATIBILE, src) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/enter_aquarium) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(enter_aquarium)) //If component is added to something already in aquarium at the time initialize it properly. var/atom/movable/movable_parent = parent @@ -160,9 +160,9 @@ /datum/component/aquarium_content/proc/on_inserted(atom/aquarium) current_aquarium = aquarium - RegisterSignal(current_aquarium, COMSIG_ATOM_EXITED, .proc/on_removed) - RegisterSignal(current_aquarium, COMSIG_AQUARIUM_SURFACE_CHANGED, .proc/on_surface_changed) - RegisterSignal(current_aquarium, COMSIG_AQUARIUM_FLUID_CHANGED,.proc/on_fluid_changed) + RegisterSignal(current_aquarium, COMSIG_ATOM_EXITED, PROC_REF(on_removed)) + RegisterSignal(current_aquarium, COMSIG_AQUARIUM_SURFACE_CHANGED, PROC_REF(on_surface_changed)) + RegisterSignal(current_aquarium, COMSIG_AQUARIUM_FLUID_CHANGED, PROC_REF(on_fluid_changed)) if(processing) START_PROCESSING(SSobj, src) diff --git a/code/datums/beam.dm b/code/datums/beam.dm index 6e3ce4bb48ae..3044aacddfe7 100644 --- a/code/datums/beam.dm +++ b/code/datums/beam.dm @@ -69,8 +69,8 @@ visuals.emissive = emissive visuals.update_appearance() Draw() - RegisterSignal(origin, COMSIG_MOVABLE_MOVED, .proc/redrawing) - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/redrawing) + RegisterSignal(origin, COMSIG_MOVABLE_MOVED, PROC_REF(redrawing)) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(redrawing)) /** * Triggered by signals set up when the beam is set up. If it's still sane to create a beam, it removes the old beam, creates a new one. Otherwise it kills the beam. @@ -84,7 +84,7 @@ SIGNAL_HANDLER if(origin && target && get_dist(origin,target)[pick("You have a coughing fit!", "You can't stop coughing!")]") owner.Immobilize(20) owner.emote("cough") - addtimer(CALLBACK(owner, /mob/.proc/emote, "cough"), 6) - addtimer(CALLBACK(owner, /mob/.proc/emote, "cough"), 12) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, emote), "cough"), 6) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, emote), "cough"), 12) owner.emote("cough") ..() diff --git a/code/datums/brain_damage/phobia.dm b/code/datums/brain_damage/phobia.dm index c2446f882b60..00ecd3a49c48 100644 --- a/code/datums/brain_damage/phobia.dm +++ b/code/datums/brain_damage/phobia.dm @@ -83,7 +83,7 @@ if(HAS_TRAIT(owner, TRAIT_FEARLESS)) return if(trigger_regex.Find(hearing_args[HEARING_RAW_MESSAGE]) != 0) - addtimer(CALLBACK(src, .proc/freak_out, null, trigger_regex.group[2]), 10) //to react AFTER the chat message + addtimer(CALLBACK(src, PROC_REF(freak_out), null, trigger_regex.group[2]), 10) //to react AFTER the chat message hearing_args[HEARING_RAW_MESSAGE] = trigger_regex.Replace(hearing_args[HEARING_RAW_MESSAGE], "$2$3") /datum/brain_trauma/mild/phobia/handle_speech(datum/source, list/speech_args) diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index 4e7563c5fb81..979c43e8e13e 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -185,7 +185,7 @@ to_chat(owner, "You feel sick...") else to_chat(owner, "You feel really sick at the thought of being alone!") - addtimer(CALLBACK(owner, /mob/living/carbon.proc/vomit, high_stress), 50) //blood vomit if high stress + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/living/carbon, vomit), high_stress), 50) //blood vomit if high stress if(2) if(!high_stress) to_chat(owner, "You can't stop shaking...") @@ -292,7 +292,7 @@ var/regex/reg = new("(\\b[REGEX_QUOTE(trigger_phrase)]\\b)","ig") if(findtext(hearing_args[HEARING_RAW_MESSAGE], reg)) - addtimer(CALLBACK(src, .proc/hypnotrigger), 10) //to react AFTER the chat message + addtimer(CALLBACK(src, PROC_REF(hypnotrigger)), 10) //to react AFTER the chat message hearing_args[HEARING_RAW_MESSAGE] = reg.Replace(hearing_args[HEARING_RAW_MESSAGE], "*********") /datum/brain_trauma/severe/hypnotic_trigger/proc/hypnotrigger() diff --git a/code/datums/brain_damage/special.dm b/code/datums/brain_damage/special.dm index 68dae74b1f8c..9c447f4ab10a 100644 --- a/code/datums/brain_damage/special.dm +++ b/code/datums/brain_damage/special.dm @@ -186,7 +186,7 @@ to_chat(owner, "Your connection to [linked_target] suddenly feels extremely strong... you can feel it pulling you!") owner.playsound_local(owner, 'sound/magic/lightning_chargeup.ogg', 75, FALSE) returning = TRUE - addtimer(CALLBACK(src, .proc/snapback), 100) + addtimer(CALLBACK(src, PROC_REF(snapback)), 100) /datum/brain_trauma/special/quantum_alignment/proc/snapback() returning = FALSE @@ -262,7 +262,7 @@ /datum/brain_trauma/special/death_whispers/proc/whispering() ADD_TRAIT(owner, TRAIT_SIXTHSENSE, TRAUMA_TRAIT) active = TRUE - addtimer(CALLBACK(src, .proc/cease_whispering), rand(50, 300)) + addtimer(CALLBACK(src, PROC_REF(cease_whispering)), rand(50, 300)) /datum/brain_trauma/special/death_whispers/proc/cease_whispering() REMOVE_TRAIT(owner, TRAIT_SIXTHSENSE, TRAUMA_TRAIT) @@ -306,7 +306,7 @@ var/atom/movable/AM = thing SEND_SIGNAL(AM, COMSIG_MOVABLE_SECLUDED_LOCATION) next_crisis = world.time + 600 - addtimer(CALLBACK(src, .proc/fade_in), duration) + addtimer(CALLBACK(src, PROC_REF(fade_in)), duration) /datum/brain_trauma/special/existential_crisis/proc/fade_in() QDEL_NULL(veil) diff --git a/code/datums/brain_damage/split_personality.dm b/code/datums/brain_damage/split_personality.dm index 78eb23a85b0b..ab391202a9d3 100644 --- a/code/datums/brain_damage/split_personality.dm +++ b/code/datums/brain_damage/split_personality.dm @@ -198,7 +198,7 @@ var/message = hearing_args[HEARING_RAW_MESSAGE] if(findtext(message, codeword)) hearing_args[HEARING_RAW_MESSAGE] = replacetext(message, codeword, "[codeword]") - addtimer(CALLBACK(src, /datum/brain_trauma/severe/split_personality.proc/switch_personalities), 10) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/brain_trauma/severe/split_personality, switch_personalities)), 10) /datum/brain_trauma/severe/split_personality/brainwashing/handle_speech(datum/source, list/speech_args) if(findtext(speech_args[SPEECH_MESSAGE], codeword)) diff --git a/code/datums/browser.dm b/code/datums/browser.dm index c6d98adb0c0d..c1ce6f43e99b 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -17,7 +17,7 @@ /datum/browser/New(nuser, nwindow_id, ntitle = 0, nwidth = 0, nheight = 0, atom/nref = null) user = nuser - RegisterSignal(user, COMSIG_PARENT_QDELETING, .proc/user_deleted) + RegisterSignal(user, COMSIG_PARENT_QDELETING, PROC_REF(user_deleted)) window_id = nwindow_id if (ntitle) title = format_text(ntitle) @@ -236,7 +236,7 @@ winset(user, "mapwindow", "focus=true") break if (timeout) - addtimer(CALLBACK(src, .proc/close), timeout) + addtimer(CALLBACK(src, PROC_REF(close)), timeout) /datum/browser/modal/proc/wait() while (opentime && selectedbutton <= 0 && (!timeout || opentime+timeout > world.time)) diff --git a/code/datums/callback.dm b/code/datums/callback.dm index 76de87bef7a5..4fa2078f152b 100644 --- a/code/datums/callback.dm +++ b/code/datums/callback.dm @@ -37,14 +37,14 @@ * `CALLBACK(src, .some_proc_here)` * * ### when the above doesn't apply: - *.proc/procname + * PROC_REF(procname) * - * `CALLBACK(src, .proc/some_proc_here)` + * `CALLBACK(src, PROC_REF(some_proc_here))` * * * proc defined on a parent of a some type * - * `/some/type/.proc/some_proc_here` + * `TYPE_PROC_REF(/some/type, some_proc_here)` * * Otherwise you must always provide the full typepath of the proc (/type/of/thing/proc/procname) */ @@ -117,6 +117,12 @@ if (!object) return +#if DM_VERSION <= 514 + if(istext(object) && object != GLOBAL_PROC) + to_chat(usr, "[object] may be an external library. Calling external libraries is disallowed.", confidential = TRUE) + return +#endif + var/list/calling_arguments = arguments if (length(args)) if (length(arguments)) @@ -152,6 +158,12 @@ if (!object) return +#if DM_VERSION <= 514 + if(istext(object) && object != GLOBAL_PROC) + to_chat(usr, "[object] may be an external library. Calling external libraries is disallowed.", confidential = TRUE) + return +#endif + var/list/calling_arguments = arguments if (length(args)) if (length(arguments)) diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm index 0b4b33ce5942..c27e0bd1b7ae 100644 --- a/code/datums/chatmessage.dm +++ b/code/datums/chatmessage.dm @@ -65,7 +65,7 @@ stack_trace("/datum/chatmessage created with [isnull(owner) ? "null" : "invalid"] mob owner") qdel(src) return - INVOKE_ASYNC(src, .proc/generate_image, text, target, owner, extra_classes, lifespan) + INVOKE_ASYNC(src, PROC_REF(generate_image), text, target, owner, extra_classes, lifespan) /datum/chatmessage/Destroy() if (owned_by) @@ -99,7 +99,7 @@ /datum/chatmessage/proc/generate_image(text, atom/target, mob/owner, list/extra_classes, lifespan) // Register client who owns this message owned_by = owner.client - RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, .proc/on_parent_qdel) + RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_qdel)) // Clip message var/maxlen = owned_by.prefs.max_chat_length diff --git a/code/datums/cinematic.dm b/code/datums/cinematic.dm index 883e9fb99dee..c36fb3961664 100644 --- a/code/datums/cinematic.dm +++ b/code/datums/cinematic.dm @@ -66,7 +66,7 @@ //We are now playing this cinematic //Handle what happens when a different cinematic tries to play over us - RegisterSignal(SSdcs, COMSIG_GLOB_PLAY_CINEMATIC, .proc/replacement_cinematic) + RegisterSignal(SSdcs, COMSIG_GLOB_PLAY_CINEMATIC, PROC_REF(replacement_cinematic)) //Pause OOC var/ooc_toggled = FALSE @@ -78,7 +78,7 @@ for(var/MM in watchers) var/mob/M = MM show_to(M, M.client) - RegisterSignal(M, COMSIG_MOB_CLIENT_LOGIN, .proc/show_to) + RegisterSignal(M, COMSIG_MOB_CLIENT_LOGIN, PROC_REF(show_to)) //Close watcher ui's SStgui.close_user_uis(M) diff --git a/code/datums/components/admin_popup.dm b/code/datums/components/admin_popup.dm index 65b97e09b1a2..88ef0d97fabf 100644 --- a/code/datums/components/admin_popup.dm +++ b/code/datums/components/admin_popup.dm @@ -23,7 +23,7 @@ COMSIG_ADMIN_HELP_REPLIED, COMSIG_PARENT_QDELETING, ), - .proc/delete_self, + PROC_REF(delete_self), ) /datum/component/admin_popup/Destroy(force, silent) diff --git a/code/datums/components/anti_magic.dm b/code/datums/components/anti_magic.dm index eede283e8b81..7cdb1db8f152 100644 --- a/code/datums/components/anti_magic.dm +++ b/code/datums/components/anti_magic.dm @@ -10,10 +10,10 @@ /datum/component/anti_magic/Initialize(_magic = FALSE, _holy = FALSE, _psychic = FALSE, _allowed_slots, _charges, _blocks_self = TRUE, datum/callback/_reaction, datum/callback/_expire) if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) else if(ismob(parent)) - RegisterSignal(parent, COMSIG_MOB_RECEIVE_MAGIC, .proc/protect) + RegisterSignal(parent, COMSIG_MOB_RECEIVE_MAGIC, PROC_REF(protect)) else return COMPONENT_INCOMPATIBLE @@ -34,7 +34,7 @@ if(!(allowed_slots & slot)) //Check that the slot is valid for antimagic UnregisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC) return - RegisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC, .proc/protect, TRUE) + RegisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC, PROC_REF(protect), TRUE) /datum/component/anti_magic/proc/on_drop(datum/source, mob/user) SIGNAL_HANDLER diff --git a/code/datums/components/aquarium.dm b/code/datums/components/aquarium.dm index 2bca6af8c26d..86551b9d25ce 100644 --- a/code/datums/components/aquarium.dm +++ b/code/datums/components/aquarium.dm @@ -68,7 +68,7 @@ src.animation_getter = animation_getter src.animation_update_signals = animation_update_signals if(animation_update_signals) - RegisterSignal(parent, animation_update_signals, .proc/generate_animation) + RegisterSignal(parent, animation_update_signals, PROC_REF(generate_animation)) if(istype(parent,/obj/item/fish)) InitializeFromFish() @@ -78,7 +78,7 @@ InitializeOther() ADD_TRAIT(parent, TRAIT_FISH_CASE_COMPATIBILE, src) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/enter_aquarium) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(enter_aquarium)) //If component is added to something already in aquarium at the time initialize it properly. var/atom/movable/movable_parent = parent @@ -160,9 +160,9 @@ /datum/component/aquarium_content/proc/on_inserted(atom/aquarium) current_aquarium = aquarium - RegisterSignal(current_aquarium, COMSIG_ATOM_EXITED, .proc/on_removed) - RegisterSignal(current_aquarium, COMSIG_AQUARIUM_SURFACE_CHANGED, .proc/on_surface_changed) - RegisterSignal(current_aquarium, COMSIG_AQUARIUM_FLUID_CHANGED,.proc/on_fluid_changed) + RegisterSignal(current_aquarium, COMSIG_ATOM_EXITED, PROC_REF(on_removed)) + RegisterSignal(current_aquarium, COMSIG_AQUARIUM_SURFACE_CHANGED, PROC_REF(on_surface_changed)) + RegisterSignal(current_aquarium, COMSIG_AQUARIUM_FLUID_CHANGED, PROC_REF(on_fluid_changed)) if(processing) START_PROCESSING(SSobj, src) diff --git a/code/datums/components/archaeology.dm b/code/datums/components/archaeology.dm index 3be37b94db69..c4f0d7dc3d59 100644 --- a/code/datums/components/archaeology.dm +++ b/code/datums/components/archaeology.dm @@ -15,9 +15,9 @@ archdrops[i][ARCH_PROB] = 100 stack_trace("ARCHAEOLOGY WARNING: [parent] contained a null probability value in [i].") callback = _callback - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY,.proc/Dig) - RegisterSignal(parent, COMSIG_ATOM_EX_ACT, .proc/BombDig) - RegisterSignal(parent, COMSIG_ATOM_SING_PULL, .proc/SingDig) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(Dig)) + RegisterSignal(parent, COMSIG_ATOM_EX_ACT, PROC_REF(BombDig)) + RegisterSignal(parent, COMSIG_ATOM_SING_PULL, PROC_REF(SingDig)) /datum/component/archaeology/InheritComponent(datum/component/archaeology/A, i_am_original) var/list/other_archdrops = A.archdrops diff --git a/code/datums/components/armor_plate.dm b/code/datums/components/armor_plate.dm index 49f79930352c..d90da9ee24a3 100644 --- a/code/datums/components/armor_plate.dm +++ b/code/datums/components/armor_plate.dm @@ -9,11 +9,11 @@ if(!isobj(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/applyplate) - RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, .proc/dropplates) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(applyplate)) + RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, PROC_REF(dropplates)) if(istype(parent, /obj/mecha/working/ripley)) - RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/apply_mech_overlays) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(apply_mech_overlays)) if(_maxamount) maxamount = _maxamount diff --git a/code/datums/components/art.dm b/code/datums/components/art.dm index 13249a19e736..3ed27f8297f9 100644 --- a/code/datums/components/art.dm +++ b/code/datums/components/art.dm @@ -4,13 +4,13 @@ /datum/component/art/Initialize(impress) impressiveness = impress if(isobj(parent)) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_obj_examine) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_obj_examine)) else - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_other_examine) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_other_examine)) if(isstructure(parent)) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, .proc/on_attack_hand) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand)) if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/apply_moodlet) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(apply_moodlet)) /datum/component/art/proc/apply_moodlet(mob/M, impress) SIGNAL_HANDLER @@ -43,7 +43,7 @@ /datum/component/art/proc/on_attack_hand(datum/source, mob/M) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/examine, source, M) + INVOKE_ASYNC(src, PROC_REF(examine), source, M) /datum/component/art/proc/examine(datum/source, mob/M) diff --git a/code/datums/components/bane.dm b/code/datums/components/bane.dm index 4ac2c77525a6..8d7c7a08a65f 100644 --- a/code/datums/components/bane.dm +++ b/code/datums/components/bane.dm @@ -20,9 +20,9 @@ /datum/component/bane/RegisterWithParent() if(speciestype) - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/speciesCheck) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(speciesCheck)) else - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/mobCheck) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(mobCheck)) /datum/component/bane/UnregisterFromParent() UnregisterSignal(parent, COMSIG_ITEM_AFTERATTACK) diff --git a/code/datums/components/beauty.dm b/code/datums/components/beauty.dm index 9b3398b4ce96..fe3c06e3ad5a 100644 --- a/code/datums/components/beauty.dm +++ b/code/datums/components/beauty.dm @@ -8,8 +8,8 @@ beauty = beautyamount if(ismovable(parent)) - RegisterSignal(parent, COMSIG_ENTER_AREA, .proc/enter_area) - RegisterSignal(parent, COMSIG_EXIT_AREA, .proc/exit_area) + RegisterSignal(parent, COMSIG_ENTER_AREA, PROC_REF(enter_area)) + RegisterSignal(parent, COMSIG_EXIT_AREA, PROC_REF(exit_area)) var/area/A = get_area(parent) if(A) diff --git a/code/datums/components/beetlejuice.dm b/code/datums/components/beetlejuice.dm index c8b4b53c26ba..1b7bc8b3afc9 100644 --- a/code/datums/components/beetlejuice.dm +++ b/code/datums/components/beetlejuice.dm @@ -23,7 +23,7 @@ keyword = M.real_name update_regex() - RegisterSignal(SSdcs, COMSIG_GLOB_LIVING_SAY_SPECIAL, .proc/say_react) + RegisterSignal(SSdcs, COMSIG_GLOB_LIVING_SAY_SPECIAL, PROC_REF(say_react)) /datum/component/beetlejuice/proc/update_regex() R = regex("[REGEX_QUOTE(keyword)]","g[case_sensitive ? "" : "i"]") diff --git a/code/datums/components/bloodysoles.dm b/code/datums/components/bloodysoles.dm index 5f16085b7927..03afc96182dc 100644 --- a/code/datums/components/bloodysoles.dm +++ b/code/datums/components/bloodysoles.dm @@ -26,9 +26,9 @@ return COMPONENT_INCOMPATIBLE parent_atom = parent - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/on_clean) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(on_clean)) //Unregisters from the wielder if necessary @@ -96,8 +96,8 @@ Used to register our wielder equipped_slot = slot wielder = equipper - RegisterSignal(wielder, COMSIG_MOVABLE_MOVED, .proc/on_moved) - RegisterSignal(wielder, COMSIG_STEP_ON_BLOOD, .proc/on_step_blood) + RegisterSignal(wielder, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) + RegisterSignal(wielder, COMSIG_STEP_ON_BLOOD, PROC_REF(on_step_blood)) /* Called when the parent item has been dropped @@ -224,11 +224,11 @@ Like its parent but can be applied to carbon mobs instead of clothing items if(!bloody_feet) bloody_feet = mutable_appearance('icons/effects/blood.dmi', "shoeblood", SHOES_LAYER) - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/on_clean) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_moved) - RegisterSignal(parent, COMSIG_STEP_ON_BLOOD, .proc/on_step_blood) - RegisterSignal(parent, COMSIG_CARBON_UNEQUIP_SHOECOVER, .proc/unequip_shoecover) - RegisterSignal(parent, COMSIG_CARBON_EQUIP_SHOECOVER, .proc/equip_shoecover) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(on_clean)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) + RegisterSignal(parent, COMSIG_STEP_ON_BLOOD, PROC_REF(on_step_blood)) + RegisterSignal(parent, COMSIG_CARBON_UNEQUIP_SHOECOVER, PROC_REF(unequip_shoecover)) + RegisterSignal(parent, COMSIG_CARBON_EQUIP_SHOECOVER, PROC_REF(equip_shoecover)) /datum/component/bloodysoles/feet/update_icon() . = list() diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm index 9195d425b342..6923760a7705 100644 --- a/code/datums/components/butchering.dm +++ b/code/datums/components/butchering.dm @@ -26,7 +26,7 @@ if(_can_be_blunt) can_be_blunt = _can_be_blunt if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/onItemAttack) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(onItemAttack)) /datum/component/butchering/proc/onItemAttack(obj/item/source, mob/living/M, mob/living/user) SIGNAL_HANDLER @@ -35,7 +35,7 @@ return if(M.stat == DEAD && (M.butcher_results || M.guaranteed_butcher_results)) //can we butcher it? if(butchering_enabled && (can_be_blunt || source.get_sharpness())) - INVOKE_ASYNC(src, .proc/startButcher, source, M, user) + INVOKE_ASYNC(src, PROC_REF(startButcher), source, M, user) return COMPONENT_ITEM_NO_ATTACK if(ishuman(M) && source.force && source.get_sharpness()) @@ -45,7 +45,7 @@ user.show_message("[H]'s neck has already been already cut, you can't make the bleeding any worse!", MSG_VISUAL, \ "Their neck has already been already cut, you can't make the bleeding any worse!") return COMPONENT_ITEM_NO_ATTACK - INVOKE_ASYNC(src, .proc/startNeckSlice, source, H, user) + INVOKE_ASYNC(src, PROC_REF(startNeckSlice), source, H, user) return COMPONENT_ITEM_NO_ATTACK /datum/component/butchering/proc/startButcher(obj/item/source, mob/living/M, mob/living/user) @@ -122,7 +122,7 @@ return var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddComponent(/datum/component/connect_loc_behalf, parent, loc_connections) diff --git a/code/datums/components/caltrop.dm b/code/datums/components/caltrop.dm index aac5f65a3956..33706c7c6d68 100644 --- a/code/datums/components/caltrop.dm +++ b/code/datums/components/caltrop.dm @@ -8,7 +8,7 @@ ///given to connect_loc to listen for something moving over target var/static/list/crossed_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) /datum/component/caltrop/Initialize(_min_damage = 0, _max_damage = 0, _probability = 100, _flags = NONE) @@ -24,7 +24,7 @@ if(ismovable(parent)) AddComponent(/datum/component/connect_loc_behalf, parent, crossed_connections) else - RegisterSignal(get_turf(parent), COMSIG_ATOM_ENTERED, .proc/on_entered) + RegisterSignal(get_turf(parent), COMSIG_ATOM_ENTERED, PROC_REF(on_entered)) // Inherit the new values passed to the component /datum/component/caltrop/InheritComponent(datum/component/caltrop/new_comp, original, min_damage, max_damage, probability, flags, soundfile) diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index dfb3bafbfb0e..f18002a05bd3 100644 --- a/code/datums/components/chasm.dm +++ b/code/datums/components/chasm.dm @@ -27,7 +27,7 @@ )) /datum/component/chasm/Initialize(turf/target) - RegisterSignal(parent, COMSIG_ATOM_ENTERED, .proc/Entered) + RegisterSignal(parent, COMSIG_ATOM_ENTERED, PROC_REF(Entered)) target_turf = target START_PROCESSING(SSobj, src) // process on create, in case stuff is still there @@ -61,7 +61,7 @@ for (var/thing in to_check) if (droppable(thing)) . = TRUE - INVOKE_ASYNC(src, .proc/drop, thing) + INVOKE_ASYNC(src, PROC_REF(drop), thing) /datum/component/chasm/proc/droppable(atom/movable/AM) var/datum/weakref/falling_ref = WEAKREF(AM) diff --git a/code/datums/components/connect_containers.dm b/code/datums/components/connect_containers.dm index d8a3ac8fbd3e..fe957e3b94a3 100644 --- a/code/datums/components/connect_containers.dm +++ b/code/datums/components/connect_containers.dm @@ -37,8 +37,8 @@ tracked = new_tracked if(!tracked) return - RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, .proc/on_moved) - RegisterSignal(tracked, COMSIG_PARENT_QDELETING, .proc/handle_tracked_qdel) + RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) + RegisterSignal(tracked, COMSIG_PARENT_QDELETING, PROC_REF(handle_tracked_qdel)) update_signals(tracked) /datum/component/connect_containers/proc/handle_tracked_qdel() @@ -50,7 +50,7 @@ return for(var/atom/movable/container as anything in get_nested_locs(listener)) - RegisterSignal(container, COMSIG_MOVABLE_MOVED, .proc/on_moved) + RegisterSignal(container, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) for(var/signal in connections) parent.RegisterSignal(container, signal, connections[signal]) diff --git a/code/datums/components/connect_loc_behalf.dm b/code/datums/components/connect_loc_behalf.dm index b758b6ad5f32..297227e2aedd 100644 --- a/code/datums/components/connect_loc_behalf.dm +++ b/code/datums/components/connect_loc_behalf.dm @@ -20,8 +20,8 @@ src.tracked = tracked /datum/component/connect_loc_behalf/RegisterWithParent() - RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, .proc/on_moved) - RegisterSignal(tracked, COMSIG_PARENT_QDELETING, .proc/handle_tracked_qdel) + RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) + RegisterSignal(tracked, COMSIG_PARENT_QDELETING, PROC_REF(handle_tracked_qdel)) update_signals() /datum/component/connect_loc_behalf/UnregisterFromParent() diff --git a/code/datums/components/connect_range.dm b/code/datums/components/connect_range.dm index 5642b2ed4e2d..093841833d8c 100644 --- a/code/datums/components/connect_range.dm +++ b/code/datums/components/connect_range.dm @@ -58,8 +58,8 @@ if(!tracked) return //Register signals on the new tracked atom and its surroundings. - RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, .proc/on_moved) - RegisterSignal(tracked, COMSIG_PARENT_QDELETING, .proc/handle_tracked_qdel) + RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) + RegisterSignal(tracked, COMSIG_PARENT_QDELETING, PROC_REF(handle_tracked_qdel)) update_signals(tracked) /datum/component/connect_range/proc/handle_tracked_qdel() @@ -79,7 +79,7 @@ return //Keep track of possible movement of all movables the target is in. for(var/atom/movable/container as anything in get_nested_locs(target)) - RegisterSignal(container, COMSIG_MOVABLE_MOVED, .proc/on_moved) + RegisterSignal(container, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) if(on_same_turf && !forced) return diff --git a/code/datums/components/construction.dm b/code/datums/components/construction.dm index ad1392c116d5..640aea796518 100644 --- a/code/datums/components/construction.dm +++ b/code/datums/components/construction.dm @@ -15,8 +15,8 @@ if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY,.proc/action) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(action)) update_parent(index) /datum/component/construction/proc/examine(datum/source, mob/user, list/examine_list) @@ -34,7 +34,7 @@ /datum/component/construction/proc/action(datum/source, obj/item/I, mob/living/user) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/check_step, I, user) + INVOKE_ASYNC(src, PROC_REF(check_step), I, user) /datum/component/construction/proc/update_index(diff) index += diff diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index a804ec657526..df5ae1319c2e 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -1,6 +1,6 @@ /datum/component/personal_crafting/Initialize() if(ismob(parent)) - RegisterSignal(parent, COMSIG_MOB_CLIENT_LOGIN, .proc/create_mob_button) + RegisterSignal(parent, COMSIG_MOB_CLIENT_LOGIN, PROC_REF(create_mob_button)) /datum/component/personal_crafting/proc/create_mob_button(mob/user, client/CL) SIGNAL_HANDLER @@ -10,7 +10,7 @@ C.icon = H.ui_style H.static_inventory += C CL.screen += C - RegisterSignal(C, COMSIG_CLICK, .proc/component_ui_interact) + RegisterSignal(C, COMSIG_CLICK, PROC_REF(component_ui_interact)) /datum/component/personal_crafting var/busy @@ -318,7 +318,7 @@ SIGNAL_HANDLER if(user == parent) - INVOKE_ASYNC(src, .proc/ui_interact, user) + INVOKE_ASYNC(src, PROC_REF(ui_interact), user) /datum/component/personal_crafting/ui_state(mob/user) return GLOB.not_incapacitated_turf_state diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm index 96a013df406a..0961aa484a1d 100644 --- a/code/datums/components/crafting/recipes.dm +++ b/code/datums/components/crafting/recipes.dm @@ -1164,9 +1164,23 @@ /datum/crafting_recipe/breakawayflask name = "Breakaway Flask" - result = /obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask + result = /obj/item/reagent_containers/food/drinks/breakawayflask time = 5 SECONDS reqs = list(/obj/item/stack/sheet/glass = 5, /obj/item/stack/sheet/mineral/plasma = 1) tools = list(TOOL_WELDER) - category = CAT_MISC + category = CAT_DRINK + +/datum/crafting_recipe/fermenting_barrel + name = "Wooden Barrel" + result = /obj/structure/fermenting_barrel + reqs = list(/obj/item/stack/sheet/mineral/wood = 8) + time = 50 + category = CAT_PRIMAL + +/datum/crafting_recipe/distiller + name = "Distiller" + result = /obj/structure/fermenting_barrel/distiller + reqs = list(/obj/item/stack/sheet/mineral/wood = 8, /obj/item/stack/sheet/metal = 5, /datum/reagent/srm_bacteria = 30) + time = 50 + category = CAT_PRIMAL diff --git a/code/datums/components/creamed.dm b/code/datums/components/creamed.dm index fcd1f1b8cc74..019bb7362bd2 100644 --- a/code/datums/components/creamed.dm +++ b/code/datums/components/creamed.dm @@ -51,7 +51,7 @@ GLOBAL_LIST_INIT(creamable, typecacheof(list( RegisterSignal(parent, list( COMSIG_COMPONENT_CLEAN_ACT, COMSIG_COMPONENT_CLEAN_FACE_ACT), - .proc/clean_up) + PROC_REF(clean_up)) /datum/component/creamed/UnregisterFromParent() UnregisterSignal(parent, list( diff --git a/code/datums/components/deadchat_control.dm b/code/datums/components/deadchat_control.dm index e48651ea7d86..f34960db1072 100644 --- a/code/datums/components/deadchat_control.dm +++ b/code/datums/components/deadchat_control.dm @@ -14,13 +14,13 @@ /datum/component/deadchat_control/Initialize(_deadchat_mode, _inputs, _input_cooldown = 12 SECONDS) if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_ATOM_ORBIT_BEGIN, .proc/orbit_begin) - RegisterSignal(parent, COMSIG_ATOM_ORBIT_STOP, .proc/orbit_stop) + RegisterSignal(parent, COMSIG_ATOM_ORBIT_BEGIN, PROC_REF(orbit_begin)) + RegisterSignal(parent, COMSIG_ATOM_ORBIT_STOP, PROC_REF(orbit_stop)) deadchat_mode = _deadchat_mode inputs = _inputs input_cooldown = _input_cooldown if(deadchat_mode == DEMOCRACY_MODE) - timerid = addtimer(CALLBACK(src, .proc/democracy_loop), input_cooldown, TIMER_STOPPABLE | TIMER_LOOP) + timerid = addtimer(CALLBACK(src, PROC_REF(democracy_loop)), input_cooldown, TIMER_STOPPABLE | TIMER_LOOP) notify_ghosts("[parent] is now deadchat controllable!", source = parent, action = NOTIFY_ORBIT, header="Something Interesting!") @@ -42,7 +42,7 @@ return MOB_DEADSAY_SIGNAL_INTERCEPT inputs[message].Invoke() ckey_to_cooldown[source.ckey] = TRUE - addtimer(CALLBACK(src, .proc/remove_cooldown, source.ckey), input_cooldown) + addtimer(CALLBACK(src, PROC_REF(remove_cooldown), source.ckey), input_cooldown) else if(deadchat_mode == DEMOCRACY_MODE) ckey_to_cooldown[source.ckey] = message return MOB_DEADSAY_SIGNAL_INTERCEPT @@ -94,14 +94,14 @@ return ckey_to_cooldown = list() if(var_value == DEMOCRACY_MODE) - timerid = addtimer(CALLBACK(src, .proc/democracy_loop), input_cooldown, TIMER_STOPPABLE | TIMER_LOOP) + timerid = addtimer(CALLBACK(src, PROC_REF(democracy_loop)), input_cooldown, TIMER_STOPPABLE | TIMER_LOOP) else deltimer(timerid) /datum/component/deadchat_control/proc/orbit_begin(atom/source, atom/orbiter) SIGNAL_HANDLER - RegisterSignal(orbiter, COMSIG_MOB_DEADSAY, .proc/deadchat_react) + RegisterSignal(orbiter, COMSIG_MOB_DEADSAY, PROC_REF(deadchat_react)) orbiters |= orbiter /datum/component/deadchat_control/proc/orbit_stop(atom/source, atom/orbiter) diff --git a/code/datums/components/dejavu.dm b/code/datums/components/dejavu.dm index 19e41148d3bd..b2a2cddf9c9b 100644 --- a/code/datums/components/dejavu.dm +++ b/code/datums/components/dejavu.dm @@ -42,22 +42,22 @@ tox_loss = L.getToxLoss() oxy_loss = L.getOxyLoss() brain_loss = L.getOrganLoss(ORGAN_SLOT_BRAIN) - rewind_type = .proc/rewind_living + rewind_type = PROC_REF(rewind_living) if(iscarbon(parent)) var/mob/living/carbon/C = parent saved_bodyparts = C.save_bodyparts() - rewind_type = .proc/rewind_carbon + rewind_type = PROC_REF(rewind_carbon) else if(isanimal(parent)) var/mob/living/simple_animal/M = parent brute_loss = M.bruteloss - rewind_type = .proc/rewind_animal + rewind_type = PROC_REF(rewind_animal) else if(isobj(parent)) var/obj/O = parent integrity = O.obj_integrity - rewind_type = .proc/rewind_obj + rewind_type = PROC_REF(rewind_obj) addtimer(CALLBACK(src, rewind_type), rewind_interval) diff --git a/code/datums/components/deployable.dm b/code/datums/components/deployable.dm index efb19f9246af..0e38fa84e236 100644 --- a/code/datums/components/deployable.dm +++ b/code/datums/components/deployable.dm @@ -27,8 +27,8 @@ src.thing_to_be_deployed = thing_to_be_deployed src.delete_on_use = delete_on_use - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/on_attack_hand) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(on_attack_hand)) var/obj/item/typecast = thing_to_be_deployed deployed_name = initial(typecast.name) @@ -40,7 +40,7 @@ /datum/component/deployable/proc/on_attack_hand(datum/source, mob/user, location, direction) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/deploy, source, user, location, direction) + INVOKE_ASYNC(src, PROC_REF(deploy), source, user, location, direction) /datum/component/deployable/proc/deploy(obj/source, mob/user, location, direction) //If there's no user, location and direction are used var/obj/deployed_object //Used for spawning the deployed object diff --git a/code/datums/components/dooropendeathproc.dm b/code/datums/components/dooropendeathproc.dm index cda6a31f270d..0f90bf623aac 100644 --- a/code/datums/components/dooropendeathproc.dm +++ b/code/datums/components/dooropendeathproc.dm @@ -11,7 +11,7 @@ src.door_id = door_id /datum/component/poddoor_on_death/RegisterWithParent() - RegisterSignal(parent, COMSIG_MOB_DEATH, .proc/open_doors) + RegisterSignal(parent, COMSIG_MOB_DEATH, PROC_REF(open_doors)) /datum/component/poddoor_on_death/proc/open_doors() for(var/obj/machinery/door/poddoor/D in GLOB.machines) diff --git a/code/datums/components/earprotection.dm b/code/datums/components/earprotection.dm index 9256c4310a70..6439e49b831f 100644 --- a/code/datums/components/earprotection.dm +++ b/code/datums/components/earprotection.dm @@ -1,7 +1,7 @@ /datum/component/wearertargeting/earprotection signals = list(COMSIG_CARBON_SOUNDBANG) mobtype = /mob/living/carbon - proctype = .proc/reducebang + proctype = PROC_REF(reducebang) /datum/component/wearertargeting/earprotection/Initialize(_valid_slots) . = ..() diff --git a/code/datums/components/edible.dm b/code/datums/components/edible.dm index b9a89ad9de90..3a047d082868 100644 --- a/code/datums/components/edible.dm +++ b/code/datums/components/edible.dm @@ -38,12 +38,12 @@ Behavior that's still missing from this component that original food items had t if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, .proc/UseByAnimal) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, PROC_REF(UseByAnimal)) if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/UseFromHand) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(UseFromHand)) else if(isturf(parent)) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, .proc/TryToEatTurf) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(TryToEatTurf)) src.bite_consumption = bite_consumption src.food_flags = food_flags diff --git a/code/datums/components/edit_complainer.dm b/code/datums/components/edit_complainer.dm index da801bc9e0bb..fb69b67a5e9d 100644 --- a/code/datums/components/edit_complainer.dm +++ b/code/datums/components/edit_complainer.dm @@ -16,10 +16,10 @@ ) say_lines = text || default_lines - RegisterSignal(SSdcs, COMSIG_GLOB_VAR_EDIT, .proc/var_edit_react) + RegisterSignal(SSdcs, COMSIG_GLOB_VAR_EDIT, PROC_REF(var_edit_react)) /datum/component/edit_complainer/proc/var_edit_react(datum/source, list/arguments) SIGNAL_HANDLER var/atom/movable/master = parent - master.say(pick(say_lines)) + master.visible_message(pick(say_lines)) diff --git a/code/datums/components/embedded.dm b/code/datums/components/embedded.dm index dcb4aff50bdf..ee789d3f9829 100644 --- a/code/datums/components/embedded.dm +++ b/code/datums/components/embedded.dm @@ -99,12 +99,12 @@ /datum/component/embedded/RegisterWithParent() if(iscarbon(parent)) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/jostleCheck) - RegisterSignal(parent, COMSIG_CARBON_EMBED_RIP, .proc/ripOutCarbon) - RegisterSignal(parent, COMSIG_CARBON_EMBED_REMOVAL, .proc/safeRemoveCarbon) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(jostleCheck)) + RegisterSignal(parent, COMSIG_CARBON_EMBED_RIP, PROC_REF(ripOutCarbon)) + RegisterSignal(parent, COMSIG_CARBON_EMBED_REMOVAL, PROC_REF(safeRemoveCarbon)) else if(isclosedturf(parent)) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examineTurf) - RegisterSignal(parent, COMSIG_PARENT_QDELETING, .proc/itemMoved) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examineTurf)) + RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(itemMoved)) /datum/component/embedded/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_MOVABLE_MOVED, COMSIG_CARBON_EMBED_RIP, COMSIG_CARBON_EMBED_REMOVAL, COMSIG_PARENT_EXAMINE)) @@ -136,7 +136,7 @@ limb.embedded_objects |= weapon // on the inside... on the inside... weapon.forceMove(victim) - RegisterSignal(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING), .proc/byeItemCarbon) + RegisterSignal(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING), PROC_REF(byeItemCarbon)) if(harmful) victim.visible_message("[weapon] embeds itself in [victim]'s [limb.name]!",ignored_mobs=victim) @@ -192,7 +192,7 @@ var/mob/living/carbon/victim = parent var/time_taken = rip_time * weapon.w_class - INVOKE_ASYNC(src, .proc/complete_rip_out, victim, I, limb, time_taken) + INVOKE_ASYNC(src, PROC_REF(complete_rip_out), victim, I, limb, time_taken) /// everything async that ripOut used to do /datum/component/embedded/proc/complete_rip_out(mob/living/carbon/victim, obj/item/I, obj/item/bodypart/limb, time_taken) @@ -239,7 +239,7 @@ return if(to_hands) - INVOKE_ASYNC(victim, /mob.proc/put_in_hands, weapon) + INVOKE_ASYNC(victim, TYPE_PROC_REF(/mob, put_in_hands), weapon) else weapon.forceMove(get_turf(victim)) @@ -305,7 +305,7 @@ // we can't store the item IN the turf (cause turfs are just kinda... there), so we fake it by making the item invisible and bailing if it moves due to a blast weapon.forceMove(hit) weapon.invisibility = INVISIBILITY_ABSTRACT - RegisterSignal(weapon, COMSIG_MOVABLE_MOVED, .proc/itemMoved) + RegisterSignal(weapon, COMSIG_MOVABLE_MOVED, PROC_REF(itemMoved)) var/pixelX = rand(-2, 2) var/pixelY = rand(-1, 3) // bias this upwards since in-hands are usually on the lower end of the sprite @@ -328,7 +328,7 @@ var/matrix/M = matrix() M.Translate(pixelX, pixelY) overlay.transform = M - RegisterSignal(hit,COMSIG_ATOM_UPDATE_OVERLAYS,.proc/apply_overlay) + RegisterSignal(hit,COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(apply_overlay)) hit.update_appearance() if(harmful) diff --git a/code/datums/components/empprotection.dm b/code/datums/components/empprotection.dm index 513370f3d5fa..bb94b08e55a9 100644 --- a/code/datums/components/empprotection.dm +++ b/code/datums/components/empprotection.dm @@ -5,7 +5,7 @@ if(!istype(parent, /atom)) return COMPONENT_INCOMPATIBLE flags = _flags - RegisterSignal(parent, list(COMSIG_ATOM_EMP_ACT), .proc/getEmpFlags) + RegisterSignal(parent, list(COMSIG_ATOM_EMP_ACT), PROC_REF(getEmpFlags)) /datum/component/empprotection/proc/getEmpFlags(datum/source, severity) SIGNAL_HANDLER diff --git a/code/datums/components/explodable.dm b/code/datums/components/explodable.dm index 360ab1dca847..abf16ecd4be5 100644 --- a/code/datums/components/explodable.dm +++ b/code/datums/components/explodable.dm @@ -12,16 +12,16 @@ if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/explodable_attack) - RegisterSignal(parent, COMSIG_TRY_STORAGE_INSERT, .proc/explodable_insert_item) - RegisterSignal(parent, COMSIG_ATOM_EX_ACT, .proc/detonate) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(explodable_attack)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_INSERT, PROC_REF(explodable_insert_item)) + RegisterSignal(parent, COMSIG_ATOM_EX_ACT, PROC_REF(detonate)) if(ismovable(parent)) - RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, .proc/explodable_impact) - RegisterSignal(parent, COMSIG_MOVABLE_BUMP, .proc/explodable_bump) + RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, PROC_REF(explodable_impact)) + RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(explodable_bump)) if(isitem(parent)) - RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), .proc/explodable_attack) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), PROC_REF(explodable_attack)) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) @@ -71,7 +71,7 @@ /datum/component/explodable/proc/on_equip(datum/source, mob/equipper, slot) SIGNAL_HANDLER - RegisterSignal(equipper, COMSIG_MOB_APPLY_DAMGE, .proc/explodable_attack_zone, TRUE) + RegisterSignal(equipper, COMSIG_MOB_APPLY_DAMGE, PROC_REF(explodable_attack_zone), TRUE) /datum/component/explodable/proc/on_drop(datum/source, mob/user) SIGNAL_HANDLER diff --git a/code/datums/components/fishing_spot.dm b/code/datums/components/fishing_spot.dm index 78b9d64cbd20..585c98c59171 100644 --- a/code/datums/components/fishing_spot.dm +++ b/code/datums/components/fishing_spot.dm @@ -17,8 +17,8 @@ stack_trace("Invalid fishing spot configuration \"[configuration]\" passed down to fishing spot component.") return COMPONENT_INCOMPATIBLE fish_source = preset_configuration - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/handle_attackby) - RegisterSignal(parent, COMSIG_FISHING_ROD_CAST, .proc/handle_cast) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(handle_attackby)) + RegisterSignal(parent, COMSIG_FISHING_ROD_CAST, PROC_REF(handle_cast)) /datum/component/fishing_spot/proc/handle_cast(datum/source, obj/item/fishing_rod/rod, mob/user) @@ -54,7 +54,7 @@ var/datum/fishing_challenge/challenge = new(parent, result, rod, user) challenge.background = fish_source.background challenge.difficulty = fish_source.calculate_difficulty(result, rod, user) - RegisterSignal(challenge, COMSIG_FISHING_CHALLENGE_COMPLETED, .proc/fishing_completed) + RegisterSignal(challenge, COMSIG_FISHING_CHALLENGE_COMPLETED, PROC_REF(fishing_completed)) challenge.start(user) /datum/component/fishing_spot/proc/fishing_completed(datum/fishing_challenge/source, mob/user, success, perfect) diff --git a/code/datums/components/footstep.dm b/code/datums/components/footstep.dm index 95099164eec2..2e5533023ac8 100644 --- a/code/datums/components/footstep.dm +++ b/code/datums/components/footstep.dm @@ -23,7 +23,7 @@ if(FOOTSTEP_MOB_HUMAN) if(!ishuman(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), .proc/play_humanstep) + RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), PROC_REF(play_humanstep)) return if(FOOTSTEP_MOB_CLAW) footstep_sounds = GLOB.clawfootstep @@ -35,7 +35,7 @@ footstep_sounds = GLOB.footstep if(FOOTSTEP_MOB_SLIME) footstep_sounds = 'sound/effects/footstep/slime1.ogg' - RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), .proc/play_simplestep) //Note that this doesn't get called for humans. + RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), PROC_REF(play_simplestep)) //Note that this doesn't get called for humans. ///Prepares a footstep. Determines if it should get played. Returns the turf it should get played on. Note that it is always a /turf/open /datum/component/footstep/proc/prepare_step() diff --git a/code/datums/components/forensics.dm b/code/datums/components/forensics.dm index cac8fb8eb42b..3c006073304c 100644 --- a/code/datums/components/forensics.dm +++ b/code/datums/components/forensics.dm @@ -25,7 +25,7 @@ /datum/component/forensics/RegisterWithParent() check_blood() - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/clean_act) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean_act)) /datum/component/forensics/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_COMPONENT_CLEAN_ACT)) @@ -190,4 +190,6 @@ return if(!length(blood_DNA)) return - parent.AddElement(/datum/element/decal/blood, _color = get_blood_dna_color(blood_DNA)) + if(isitem(parent)) + var/obj/item/I = parent + I.AddElement(/datum/element/decal/blood, initial(I.icon) || I.icon, initial(I.icon_state) || I.icon_state, _color = get_blood_dna_color(blood_DNA)) diff --git a/code/datums/components/fullauto.dm b/code/datums/components/fullauto.dm index bc55b9b76fc9..177093a49fef 100644 --- a/code/datums/components/fullauto.dm +++ b/code/datums/components/fullauto.dm @@ -10,6 +10,7 @@ var/mouse_parameters var/autofire_shot_delay = 0.3 SECONDS //Time between individual shots. var/mouse_status = AUTOFIRE_MOUSEUP //This seems hacky but there can be two MouseDown() without a MouseUp() in between if the user holds click and uses alt+tab, printscreen or similar. + var/enabled = TRUE COOLDOWN_DECLARE(next_shot_cd) @@ -18,7 +19,9 @@ if(!isgun(parent)) return COMPONENT_INCOMPATIBLE var/obj/item/gun = parent - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/wake_up) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(wake_up)) + RegisterSignal(parent, COMSIG_GUN_DISABLE_AUTOFIRE, PROC_REF(disable_autofire)) + RegisterSignal(parent, COMSIG_GUN_ENABLE_AUTOFIRE, PROC_REF(enable_autofire)) if(_autofire_shot_delay) autofire_shot_delay = _autofire_shot_delay if(autofire_stat == AUTOFIRE_STAT_IDLE && ismob(gun.loc)) @@ -61,13 +64,13 @@ if(!QDELETED(usercli)) clicker = usercli shooter = clicker.mob - RegisterSignal(clicker, COMSIG_CLIENT_MOUSEDOWN, .proc/on_mouse_down) + RegisterSignal(clicker, COMSIG_CLIENT_MOUSEDOWN, PROC_REF(on_mouse_down)) if(!QDELETED(shooter)) - RegisterSignal(shooter, COMSIG_MOB_LOGOUT, .proc/autofire_off) + RegisterSignal(shooter, COMSIG_MOB_LOGOUT, PROC_REF(autofire_off)) UnregisterSignal(shooter, COMSIG_MOB_LOGIN) - RegisterSignal(parent, list(COMSIG_PARENT_QDELETING, COMSIG_ITEM_DROPPED), .proc/autofire_off) - parent.RegisterSignal(src, COMSIG_AUTOFIRE_ONMOUSEDOWN, /obj/item/gun/.proc/autofire_bypass_check) - parent.RegisterSignal(parent, COMSIG_AUTOFIRE_SHOT, /obj/item/gun/.proc/do_autofire) + RegisterSignal(parent, list(COMSIG_PARENT_QDELETING, COMSIG_ITEM_DROPPED), PROC_REF(autofire_off)) + parent.RegisterSignal(src, COMSIG_AUTOFIRE_ONMOUSEDOWN, TYPE_PROC_REF(/obj/item/gun, autofire_bypass_check)) + parent.RegisterSignal(parent, COMSIG_AUTOFIRE_SHOT, TYPE_PROC_REF(/obj/item/gun, do_autofire)) /datum/component/automatic_fire/proc/autofire_off(datum/source) SIGNAL_HANDLER @@ -83,7 +86,7 @@ mouse_status = AUTOFIRE_MOUSEUP //In regards to the component there's no click anymore to care about. clicker = null if(!QDELETED(shooter)) - RegisterSignal(shooter, COMSIG_MOB_LOGIN, .proc/on_client_login) + RegisterSignal(shooter, COMSIG_MOB_LOGIN, PROC_REF(on_client_login)) UnregisterSignal(shooter, COMSIG_MOB_LOGOUT) UnregisterSignal(parent, list(COMSIG_PARENT_QDELETING, COMSIG_ITEM_DROPPED)) shooter = null @@ -101,6 +104,8 @@ SIGNAL_HANDLER var/list/modifiers = params2list(params) //If they're shift+clicking, for example, let's not have them accidentally shoot. + if(!enabled) + return if(LAZYACCESS(modifiers, SHIFT_CLICK)) return if(LAZYACCESS(modifiers, CTRL_CLICK)) @@ -136,7 +141,7 @@ target = _target target_loc = get_turf(target) mouse_parameters = params - INVOKE_ASYNC(src, .proc/start_autofiring) + INVOKE_ASYNC(src, PROC_REF(start_autofiring)) //Dakka-dakka @@ -149,10 +154,10 @@ clicker.mouse_pointer_icon = clicker.mouse_override_icon if(mouse_status == AUTOFIRE_MOUSEUP) //See mouse_status definition for the reason for this. - RegisterSignal(clicker, COMSIG_CLIENT_MOUSEUP, .proc/on_mouse_up) + RegisterSignal(clicker, COMSIG_CLIENT_MOUSEUP, PROC_REF(on_mouse_up)) mouse_status = AUTOFIRE_MOUSEDOWN - RegisterSignal(shooter, COMSIG_MOB_SWAP_HANDS, .proc/stop_autofiring) + RegisterSignal(shooter, COMSIG_MOB_SWAP_HANDS, PROC_REF(stop_autofiring)) if(isgun(parent)) var/obj/item/gun/shoota = parent @@ -166,7 +171,7 @@ return //If it fails, such as when the gun is empty, then there's no need to schedule a second shot. START_PROCESSING(SSprojectiles, src) - RegisterSignal(clicker, COMSIG_CLIENT_MOUSEDRAG, .proc/on_mouse_drag) + RegisterSignal(clicker, COMSIG_CLIENT_MOUSEDRAG, PROC_REF(on_mouse_drag)) /datum/component/automatic_fire/proc/on_mouse_up(datum/source, atom/object, turf/location, control, params) @@ -243,9 +248,8 @@ if(!can_shoot()) shoot_with_empty_chamber(shooter) return FALSE - var/obj/item/bodypart/other_hand = shooter.has_hand_for_held_index(shooter.get_inactive_hand_index()) - if(weapon_weight == WEAPON_HEAVY && (shooter.get_inactive_held_item() || !other_hand)) - to_chat(shooter, "You need two hands to fire [src]!") + if(weapon_weight == WEAPON_HEAVY && (!wielded)) + to_chat(shooter, "You need a more secure grip to fire [src]!") return FALSE return TRUE @@ -260,10 +264,13 @@ SIGNAL_HANDLER if(semicd || shooter.incapacitated()) return NONE + if(weapon_weight == WEAPON_HEAVY && (!wielded)) + to_chat(shooter, "You need a more secure grip to fire [src]!") + return NONE if(!can_shoot()) shoot_with_empty_chamber(shooter) return NONE - INVOKE_ASYNC(src, .proc/do_autofire_shot, source, target, shooter, params) + INVOKE_ASYNC(src, PROC_REF(do_autofire_shot), source, target, shooter, params) return COMPONENT_AUTOFIRE_SHOT_SUCCESS //All is well, we can continue shooting. @@ -273,8 +280,14 @@ if(istype(akimbo_gun) && weapon_weight < WEAPON_MEDIUM) if(akimbo_gun.weapon_weight < WEAPON_MEDIUM && akimbo_gun.can_trigger_gun(shooter)) bonus_spread = dual_wield_spread - addtimer(CALLBACK(akimbo_gun, /obj/item/gun.proc/process_fire, target, shooter, TRUE, params, null, bonus_spread), 1) + addtimer(CALLBACK(akimbo_gun, TYPE_PROC_REF(/obj/item/gun, process_fire), target, shooter, TRUE, params, null, bonus_spread), 1) process_fire(target, shooter, TRUE, params, null, bonus_spread) +/datum/component/automatic_fire/proc/disable_autofire() + enabled = FALSE + +/datum/component/automatic_fire/proc/enable_autofire() + enabled = TRUE + #undef AUTOFIRE_MOUSEUP #undef AUTOFIRE_MOUSEDOWN diff --git a/code/datums/components/gps.dm b/code/datums/components/gps.dm index 97d1962fe1bc..5fc6eb9d88ed 100644 --- a/code/datums/components/gps.dm +++ b/code/datums/components/gps.dm @@ -28,18 +28,18 @@ GLOBAL_LIST_EMPTY(GPS_list) var/atom/A = parent A.add_overlay("working") A.name = "[initial(A.name)] ([gpstag])" - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/interact) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(interact)) if(!emp_proof) - RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp_act) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_examine) - RegisterSignal(parent, COMSIG_CLICK_ALT, .proc/on_AltClick) + RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp_act)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) + RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(on_AltClick)) ///Called on COMSIG_ITEM_ATTACK_SELF /datum/component/gps/item/proc/interact(datum/source, mob/user) SIGNAL_HANDLER if(user) - INVOKE_ASYNC(src, .proc/ui_interact, user) + INVOKE_ASYNC(src, PROC_REF(ui_interact), user) ///Called on COMSIG_PARENT_EXAMINE /datum/component/gps/item/proc/on_examine(datum/source, mob/user, list/examine_list) @@ -55,7 +55,7 @@ GLOBAL_LIST_EMPTY(GPS_list) var/atom/A = parent A.cut_overlay("working") A.add_overlay("emp") - addtimer(CALLBACK(src, .proc/reboot), 300, TIMER_UNIQUE|TIMER_OVERRIDE) //if a new EMP happens, remove the old timer so it doesn't reactivate early + addtimer(CALLBACK(src, PROC_REF(reboot)), 300, TIMER_UNIQUE|TIMER_OVERRIDE) //if a new EMP happens, remove the old timer so it doesn't reactivate early SStgui.close_uis(src) //Close the UI control if it is open. ///Restarts the GPS after getting turned off by an EMP. diff --git a/code/datums/components/gunpoint.dm b/code/datums/components/gunpoint.dm index 19dc09464134..2865865c98ab 100644 --- a/code/datums/components/gunpoint.dm +++ b/code/datums/components/gunpoint.dm @@ -25,9 +25,9 @@ var/mob/living/shooter = parent target = targ weapon = wep - RegisterSignal(targ, list(COMSIG_MOB_ATTACK_HAND, COMSIG_MOB_ITEM_ATTACK, COMSIG_MOVABLE_MOVED, COMSIG_MOB_FIRED_GUN), .proc/trigger_reaction) + RegisterSignal(targ, list(COMSIG_MOB_ATTACK_HAND, COMSIG_MOB_ITEM_ATTACK, COMSIG_MOVABLE_MOVED, COMSIG_MOB_FIRED_GUN), PROC_REF(trigger_reaction)) - RegisterSignal(weapon, list(COMSIG_ITEM_DROPPED, COMSIG_ITEM_EQUIPPED), .proc/cancel) + RegisterSignal(weapon, list(COMSIG_ITEM_DROPPED, COMSIG_ITEM_EQUIPPED), PROC_REF(cancel)) shooter.visible_message("[shooter] aims [weapon] point blank at [target]!", \ "You aim [weapon] point blank at [target]!", target) @@ -44,7 +44,7 @@ target.playsound_local(target.loc, 'sound/machines/chime.ogg', 50, TRUE) SEND_SIGNAL(target, COMSIG_ADD_MOOD_EVENT, "gunpoint", /datum/mood_event/gunpoint) - addtimer(CALLBACK(src, .proc/update_stage, 2), GUNPOINT_DELAY_STAGE_2) + addtimer(CALLBACK(src, PROC_REF(update_stage), 2), GUNPOINT_DELAY_STAGE_2) /datum/component/gunpoint/Destroy(force, silent) var/mob/living/shooter = parent @@ -53,10 +53,10 @@ return ..() /datum/component/gunpoint/RegisterWithParent() - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/check_deescalate) - RegisterSignal(parent, COMSIG_MOB_APPLY_DAMGE, .proc/flinch) - RegisterSignal(parent, COMSIG_MOB_ATTACK_HAND, .proc/check_shove) - RegisterSignal(parent, list(COMSIG_LIVING_START_PULL, COMSIG_MOVABLE_BUMP), .proc/check_bump) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(check_deescalate)) + RegisterSignal(parent, COMSIG_MOB_APPLY_DAMGE, PROC_REF(flinch)) + RegisterSignal(parent, COMSIG_MOB_ATTACK_HAND, PROC_REF(check_shove)) + RegisterSignal(parent, list(COMSIG_LIVING_START_PULL, COMSIG_MOVABLE_BUMP), PROC_REF(check_bump)) /datum/component/gunpoint/UnregisterFromParent() UnregisterSignal(parent, COMSIG_MOVABLE_MOVED) @@ -91,7 +91,7 @@ to_chat(parent, "You steady [weapon] on [target].") to_chat(target, "[parent] has steadied [weapon] on you!") damage_mult = GUNPOINT_MULT_STAGE_2 - addtimer(CALLBACK(src, .proc/update_stage, 3), GUNPOINT_DELAY_STAGE_3) + addtimer(CALLBACK(src, PROC_REF(update_stage), 3), GUNPOINT_DELAY_STAGE_3) else if(stage == 3) to_chat(parent, "You have fully steadied [weapon] on [target].") to_chat(target, "[parent] has fully steadied [weapon] on you!") @@ -105,7 +105,7 @@ /datum/component/gunpoint/proc/trigger_reaction() SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/async_trigger_reaction) + INVOKE_ASYNC(src, PROC_REF(async_trigger_reaction)) /datum/component/gunpoint/proc/async_trigger_reaction() diff --git a/code/datums/components/heirloom.dm b/code/datums/components/heirloom.dm index d1a9bc753ef9..fc9983934ca6 100644 --- a/code/datums/components/heirloom.dm +++ b/code/datums/components/heirloom.dm @@ -9,7 +9,7 @@ owner = new_owner family_name = new_family_name - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) /datum/component/heirloom/proc/examine(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER diff --git a/code/datums/components/honkspam.dm b/code/datums/components/honkspam.dm index 73b5e3335aad..ee457b4d967e 100644 --- a/code/datums/components/honkspam.dm +++ b/code/datums/components/honkspam.dm @@ -9,7 +9,7 @@ /datum/component/honkspam/Initialize() if(!isitem(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/interact) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(interact)) /datum/component/honkspam/proc/reset_spamflag() spam_flag = FALSE @@ -19,4 +19,4 @@ spam_flag = TRUE var/obj/item/parent_item = parent playsound(parent_item.loc, 'sound/items/bikehorn.ogg', 50, TRUE) - addtimer(CALLBACK(src, .proc/reset_spamflag), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(reset_spamflag)), 2 SECONDS) diff --git a/code/datums/components/hot_ice.dm b/code/datums/components/hot_ice.dm index 018dfe800d1d..6192dc3256f8 100644 --- a/code/datums/components/hot_ice.dm +++ b/code/datums/components/hot_ice.dm @@ -9,8 +9,8 @@ src.gas_amount = gas_amount src.temp_amount = temp_amount - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/attackby_react) - RegisterSignal(parent, COMSIG_ATOM_FIRE_ACT, .proc/flame_react) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(attackby_react)) + RegisterSignal(parent, COMSIG_ATOM_FIRE_ACT, PROC_REF(flame_react)) /datum/component/hot_ice/UnregisterFromParent() UnregisterSignal(parent, COMSIG_PARENT_ATTACKBY) diff --git a/code/datums/components/igniter.dm b/code/datums/components/igniter.dm index 152a325e92ee..270ff8b09857 100644 --- a/code/datums/components/igniter.dm +++ b/code/datums/components/igniter.dm @@ -9,11 +9,11 @@ /datum/component/igniter/RegisterWithParent() if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc - RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, PROC_REF(projectile_hit)) else if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/item_afterattack) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(item_afterattack)) else if(ishostile(parent)) - RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget) + RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, PROC_REF(hostile_attackingtarget)) /datum/component/igniter/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_ITEM_AFTERATTACK, COMSIG_HOSTILE_ATTACKINGTARGET, COMSIG_PROJECTILE_ON_HIT)) diff --git a/code/datums/components/infective.dm b/code/datums/components/infective.dm index 3e2c8aab80c6..ceea1b3087a5 100644 --- a/code/datums/components/infective.dm +++ b/code/datums/components/infective.dm @@ -17,22 +17,22 @@ return COMPONENT_INCOMPATIBLE var/static/list/disease_connections = list( - COMSIG_ATOM_ENTERED = .proc/try_infect_crossed, + COMSIG_ATOM_ENTERED = PROC_REF(try_infect_crossed), ) AddComponent(/datum/component/connect_loc_behalf, parent, disease_connections) - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/clean) - RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, .proc/try_infect_buckle) - RegisterSignal(parent, COMSIG_MOVABLE_BUMP, .proc/try_infect_collide) - RegisterSignal(parent, COMSIG_MOVABLE_IMPACT_ZONE, .proc/try_infect_impact_zone) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean)) + RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, PROC_REF(try_infect_buckle)) + RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(try_infect_collide)) + RegisterSignal(parent, COMSIG_MOVABLE_IMPACT_ZONE, PROC_REF(try_infect_impact_zone)) if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_ZONE, .proc/try_infect_attack_zone) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/try_infect_attack) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/try_infect_equipped) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_ZONE, PROC_REF(try_infect_attack_zone)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(try_infect_attack)) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(try_infect_equipped)) if(istype(parent, /obj/item/reagent_containers/food/snacks)) - RegisterSignal(parent, COMSIG_FOOD_EATEN, .proc/try_infect_eat) + RegisterSignal(parent, COMSIG_FOOD_EATEN, PROC_REF(try_infect_eat)) else if(istype(parent, /obj/effect/decal/cleanable/blood/gibs)) - RegisterSignal(parent, COMSIG_GIBS_STREAK, .proc/try_infect_streak) + RegisterSignal(parent, COMSIG_GIBS_STREAK, PROC_REF(try_infect_streak)) /datum/component/infective/proc/try_infect_eat(datum/source, mob/living/eater, mob/living/feeder) SIGNAL_HANDLER diff --git a/code/datums/components/jousting.dm b/code/datums/components/jousting.dm index fcecf89f1d0c..034c37efd826 100644 --- a/code/datums/components/jousting.dm +++ b/code/datums/components/jousting.dm @@ -18,14 +18,14 @@ /datum/component/jousting/Initialize() if(!isitem(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/on_attack) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(on_attack)) /datum/component/jousting/proc/on_equip(datum/source, mob/user, slot) SIGNAL_HANDLER - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/mob_move, TRUE) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(mob_move), TRUE) current_holder = user /datum/component/jousting/proc/on_drop(datum/source, mob/user) @@ -76,7 +76,7 @@ current_tile_charge++ if(current_timerid) deltimer(current_timerid) - current_timerid = addtimer(CALLBACK(src, .proc/reset_charge), movement_reset_tolerance, TIMER_STOPPABLE) + current_timerid = addtimer(CALLBACK(src, PROC_REF(reset_charge)), movement_reset_tolerance, TIMER_STOPPABLE) /datum/component/jousting/proc/reset_charge() current_tile_charge = 0 diff --git a/code/datums/components/knockback.dm b/code/datums/components/knockback.dm index 1c572573ff7c..d07b2a8028dc 100644 --- a/code/datums/components/knockback.dm +++ b/code/datums/components/knockback.dm @@ -11,11 +11,11 @@ /datum/component/knockback/RegisterWithParent() if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc - RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, PROC_REF(projectile_hit)) else if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/item_afterattack) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(item_afterattack)) else if(ishostile(parent)) - RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget) + RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, PROC_REF(hostile_attackingtarget)) /datum/component/knockback/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_ITEM_AFTERATTACK, COMSIG_HOSTILE_ATTACKINGTARGET, COMSIG_PROJECTILE_ON_HIT)) diff --git a/code/datums/components/knockoff.dm b/code/datums/components/knockoff.dm index 770f72cfea5b..f7809baf3d1e 100644 --- a/code/datums/components/knockoff.dm +++ b/code/datums/components/knockoff.dm @@ -7,8 +7,8 @@ /datum/component/knockoff/Initialize(knockoff_chance,zone_override,slots_knockoffable) if(!isitem(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED,.proc/OnEquipped) - RegisterSignal(parent, COMSIG_ITEM_DROPPED,.proc/OnDropped) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(OnEquipped)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(OnDropped)) src.knockoff_chance = knockoff_chance @@ -42,7 +42,7 @@ if(slots_knockoffable && !(slot in slots_knockoffable)) UnregisterSignal(H, COMSIG_HUMAN_DISARM_HIT) return - RegisterSignal(H, COMSIG_HUMAN_DISARM_HIT, .proc/Knockoff, TRUE) + RegisterSignal(H, COMSIG_HUMAN_DISARM_HIT, PROC_REF(Knockoff), TRUE) /datum/component/knockoff/proc/OnDropped(datum/source, mob/living/M) SIGNAL_HANDLER diff --git a/code/datums/components/label.dm b/code/datums/components/label.dm index f93e2d931470..4f3128ca6cd6 100644 --- a/code/datums/components/label.dm +++ b/code/datums/components/label.dm @@ -22,8 +22,8 @@ apply_label() /datum/component/label/RegisterWithParent() - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackby) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/Examine) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackby)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(Examine)) /datum/component/label/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_PARENT_ATTACKBY, COMSIG_PARENT_EXAMINE)) diff --git a/code/datums/components/largeobjecttransparency.dm b/code/datums/components/largeobjecttransparency.dm index 55819d4eef9a..cccb05b39ad9 100644 --- a/code/datums/components/largeobjecttransparency.dm +++ b/code/datums/components/largeobjecttransparency.dm @@ -36,7 +36,7 @@ return ..() /datum/component/largetransparency/RegisterWithParent() - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_move) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) register_with_turfs() /datum/component/largetransparency/UnregisterFromParent() @@ -54,9 +54,9 @@ for(var/regist_tu in registered_turfs) if(!regist_tu) continue - RegisterSignal(regist_tu, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_CREATED), .proc/object_enter) - RegisterSignal(regist_tu, COMSIG_ATOM_EXITED, .proc/object_leave) - RegisterSignal(regist_tu, COMSIG_TURF_CHANGE, .proc/on_turf_change) + RegisterSignal(regist_tu, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_CREATED), PROC_REF(object_enter)) + RegisterSignal(regist_tu, COMSIG_ATOM_EXITED, PROC_REF(object_leave)) + RegisterSignal(regist_tu, COMSIG_TURF_CHANGE, PROC_REF(on_turf_change)) for(var/thing in regist_tu) var/atom/check_atom = thing if(!(check_atom.flags_1 & SHOW_BEHIND_LARGE_ICONS_1)) @@ -80,7 +80,7 @@ /datum/component/largetransparency/proc/on_turf_change() SIGNAL_HANDLER - addtimer(CALLBACK(src, .proc/on_move), 1, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain + addtimer(CALLBACK(src, PROC_REF(on_move)), 1, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain /datum/component/largetransparency/proc/object_enter(datum/source, atom/enterer) SIGNAL_HANDLER diff --git a/code/datums/components/lifesteal.dm b/code/datums/components/lifesteal.dm index 6bbb1f4b7fbe..ed847477e076 100644 --- a/code/datums/components/lifesteal.dm +++ b/code/datums/components/lifesteal.dm @@ -10,11 +10,11 @@ /datum/component/lifesteal/RegisterWithParent() if(isgun(parent)) - RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, PROC_REF(projectile_hit)) else if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/item_afterattack) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(item_afterattack)) else if(ishostile(parent)) - RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget) + RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, PROC_REF(hostile_attackingtarget)) /datum/component/lifesteal/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_ITEM_AFTERATTACK, COMSIG_HOSTILE_ATTACKINGTARGET, COMSIG_PROJECTILE_ON_HIT)) diff --git a/code/datums/components/lockon_aiming.dm b/code/datums/components/lockon_aiming.dm index af15ffe992a8..c9a5345db12c 100644 --- a/code/datums/components/lockon_aiming.dm +++ b/code/datums/components/lockon_aiming.dm @@ -26,7 +26,7 @@ if(target_callback) can_target_callback = target_callback else - can_target_callback = CALLBACK(src, .proc/can_target) + can_target_callback = CALLBACK(src, PROC_REF(can_target)) if(range) lock_cursor_range = range if(typecache) diff --git a/code/datums/components/manual_blinking.dm b/code/datums/components/manual_blinking.dm index aa986672189b..d97e88ca8fe9 100644 --- a/code/datums/components/manual_blinking.dm +++ b/code/datums/components/manual_blinking.dm @@ -29,11 +29,11 @@ return ..() /datum/component/manual_blinking/RegisterWithParent() - RegisterSignal(parent, COMSIG_MOB_EMOTE, .proc/check_emote) - RegisterSignal(parent, COMSIG_CARBON_GAIN_ORGAN, .proc/check_added_organ) - RegisterSignal(parent, COMSIG_CARBON_LOSE_ORGAN, .proc/check_removed_organ) - RegisterSignal(parent, COMSIG_LIVING_REVIVE, .proc/restart) - RegisterSignal(parent, COMSIG_MOB_DEATH, .proc/pause) + RegisterSignal(parent, COMSIG_MOB_EMOTE, PROC_REF(check_emote)) + RegisterSignal(parent, COMSIG_CARBON_GAIN_ORGAN, PROC_REF(check_added_organ)) + RegisterSignal(parent, COMSIG_CARBON_LOSE_ORGAN, PROC_REF(check_removed_organ)) + RegisterSignal(parent, COMSIG_LIVING_REVIVE, PROC_REF(restart)) + RegisterSignal(parent, COMSIG_MOB_DEATH, PROC_REF(pause)) /datum/component/manual_blinking/UnregisterFromParent() UnregisterSignal(parent, COMSIG_MOB_EMOTE) diff --git a/code/datums/components/manual_breathing.dm b/code/datums/components/manual_breathing.dm index 9fba5b46b83a..bcae15536ca7 100644 --- a/code/datums/components/manual_breathing.dm +++ b/code/datums/components/manual_breathing.dm @@ -29,11 +29,11 @@ return ..() /datum/component/manual_breathing/RegisterWithParent() - RegisterSignal(parent, COMSIG_MOB_EMOTE, .proc/check_emote) - RegisterSignal(parent, COMSIG_CARBON_GAIN_ORGAN, .proc/check_added_organ) - RegisterSignal(parent, COMSIG_CARBON_LOSE_ORGAN, .proc/check_removed_organ) - RegisterSignal(parent, COMSIG_LIVING_REVIVE, .proc/restart) - RegisterSignal(parent, COMSIG_MOB_DEATH, .proc/pause) + RegisterSignal(parent, COMSIG_MOB_EMOTE, PROC_REF(check_emote)) + RegisterSignal(parent, COMSIG_CARBON_GAIN_ORGAN, PROC_REF(check_added_organ)) + RegisterSignal(parent, COMSIG_CARBON_LOSE_ORGAN, PROC_REF(check_removed_organ)) + RegisterSignal(parent, COMSIG_LIVING_REVIVE, PROC_REF(restart)) + RegisterSignal(parent, COMSIG_MOB_DEATH, PROC_REF(pause)) /datum/component/manual_breathing/UnregisterFromParent() UnregisterSignal(parent, COMSIG_MOB_EMOTE) diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index 5b43b0f78a33..a1cc816fc5f0 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -38,8 +38,8 @@ precondition = _precondition after_insert = _after_insert - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/OnExamine) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackBy)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(OnExamine)) for(var/mat in mat_list) //Make the assoc list ref | amount var/datum/material/M = SSmaterials.GetMaterialRef(mat) diff --git a/code/datums/components/mirv.dm b/code/datums/components/mirv.dm index b30ce2c05b7e..260c12f49da9 100644 --- a/code/datums/components/mirv.dm +++ b/code/datums/components/mirv.dm @@ -16,7 +16,7 @@ /datum/component/mirv/RegisterWithParent() if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc - RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, PROC_REF(projectile_hit)) /datum/component/mirv/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_PROJECTILE_ON_HIT)) @@ -24,7 +24,7 @@ /datum/component/mirv/proc/projectile_hit(atom/fired_from, atom/movable/firer, atom/target, Angle) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/do_shrapnel, firer, target) + INVOKE_ASYNC(src, PROC_REF(do_shrapnel), firer, target) /datum/component/mirv/proc/do_shrapnel(mob/firer, atom/target) if(radius < 1) diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index d3a4ec9c30b2..64fc96146527 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -18,13 +18,13 @@ START_PROCESSING(SSmood, src) - RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT, .proc/add_event) - RegisterSignal(parent, COMSIG_CLEAR_MOOD_EVENT, .proc/clear_event) - RegisterSignal(parent, COMSIG_ENTER_AREA, .proc/check_area_mood) - RegisterSignal(parent, COMSIG_LIVING_REVIVE, .proc/on_revive) + RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT, PROC_REF(add_event)) + RegisterSignal(parent, COMSIG_CLEAR_MOOD_EVENT, PROC_REF(clear_event)) + RegisterSignal(parent, COMSIG_ENTER_AREA, PROC_REF(check_area_mood)) + RegisterSignal(parent, COMSIG_LIVING_REVIVE, PROC_REF(on_revive)) - RegisterSignal(parent, COMSIG_MOB_HUD_CREATED, .proc/modify_hud) - RegisterSignal(parent, COMSIG_JOB_RECEIVED, .proc/register_job_signals) + RegisterSignal(parent, COMSIG_MOB_HUD_CREATED, PROC_REF(modify_hud)) + RegisterSignal(parent, COMSIG_JOB_RECEIVED, PROC_REF(register_job_signals)) var/mob/living/owner = parent if(owner.hud_used) @@ -41,7 +41,7 @@ SIGNAL_HANDLER if(job in list("Research Director", "Scientist", "Roboticist")) - RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT_RND, .proc/add_event) //Mood events that are only for RnD members + RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT_RND, PROC_REF(add_event)) //Mood events that are only for RnD members /datum/component/mood/proc/print_mood(mob/user) var/msg = "[span_info("My current mental status:")]\n" @@ -250,7 +250,7 @@ clear_event(null, category) else if(the_event.timeout) - addtimer(CALLBACK(src, .proc/clear_event, null, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(clear_event), null, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE) return 0 //Don't have to update the event. var/list/params = args.Copy(4) params.Insert(1, parent) @@ -261,7 +261,7 @@ update_mood() if(the_event.timeout) - addtimer(CALLBACK(src, .proc/clear_event, null, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(clear_event), null, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE) /datum/component/mood/proc/clear_event(datum/source, category) SIGNAL_HANDLER @@ -294,8 +294,8 @@ screen_obj = new screen_obj.color = "#4b96c4" hud.infodisplay += screen_obj - RegisterSignal(hud, COMSIG_PARENT_QDELETING, .proc/unmodify_hud) - RegisterSignal(screen_obj, COMSIG_CLICK, .proc/hud_click) + RegisterSignal(hud, COMSIG_PARENT_QDELETING, PROC_REF(unmodify_hud)) + RegisterSignal(screen_obj, COMSIG_CLICK, PROC_REF(hud_click)) /datum/component/mood/proc/unmodify_hud(datum/source) SIGNAL_HANDLER @@ -322,12 +322,7 @@ if(HAS_TRAIT(L, TRAIT_NOHUNGER)) return FALSE //no mood events for nutrition switch(L.nutrition) - if(NUTRITION_LEVEL_FULL to INFINITY) - if (!HAS_TRAIT(L, TRAIT_VORACIOUS)) - add_event(null, "nutrition", /datum/mood_event/fat) - else - add_event(null, "nutrition", /datum/mood_event/wellfed) // round and full - if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL) + if(NUTRITION_LEVEL_WELL_FED to INFINITY) add_event(null, "nutrition", /datum/mood_event/wellfed) if(NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED) add_event(null, "nutrition", /datum/mood_event/fed) diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm index e8f9befd9fee..93fc561bb677 100644 --- a/code/datums/components/nanites.dm +++ b/code/datums/components/nanites.dm @@ -42,31 +42,31 @@ cloud_sync() /datum/component/nanites/RegisterWithParent() - RegisterSignal(parent, COMSIG_HAS_NANITES, .proc/confirm_nanites) - RegisterSignal(parent, COMSIG_NANITE_IS_STEALTHY, .proc/check_stealth) - RegisterSignal(parent, COMSIG_NANITE_DELETE, .proc/delete_nanites) - RegisterSignal(parent, COMSIG_NANITE_UI_DATA, .proc/nanite_ui_data) - RegisterSignal(parent, COMSIG_NANITE_GET_PROGRAMS, .proc/get_programs) - RegisterSignal(parent, COMSIG_NANITE_SET_VOLUME, .proc/set_volume) - RegisterSignal(parent, COMSIG_NANITE_ADJUST_VOLUME, .proc/adjust_nanites) - RegisterSignal(parent, COMSIG_NANITE_SET_MAX_VOLUME, .proc/set_max_volume) - RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD, .proc/set_cloud) - RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD_SYNC, .proc/set_cloud_sync) - RegisterSignal(parent, COMSIG_NANITE_SET_SAFETY, .proc/set_safety) - RegisterSignal(parent, COMSIG_NANITE_SET_REGEN, .proc/set_regen) - RegisterSignal(parent, COMSIG_NANITE_ADD_PROGRAM, .proc/add_program) - RegisterSignal(parent, COMSIG_NANITE_SCAN, .proc/nanite_scan) - RegisterSignal(parent, COMSIG_NANITE_SYNC, .proc/sync) + RegisterSignal(parent, COMSIG_HAS_NANITES, PROC_REF(confirm_nanites)) + RegisterSignal(parent, COMSIG_NANITE_IS_STEALTHY, PROC_REF(check_stealth)) + RegisterSignal(parent, COMSIG_NANITE_DELETE, PROC_REF(delete_nanites)) + RegisterSignal(parent, COMSIG_NANITE_UI_DATA, PROC_REF(nanite_ui_data)) + RegisterSignal(parent, COMSIG_NANITE_GET_PROGRAMS, PROC_REF(get_programs)) + RegisterSignal(parent, COMSIG_NANITE_SET_VOLUME, PROC_REF(set_volume)) + RegisterSignal(parent, COMSIG_NANITE_ADJUST_VOLUME, PROC_REF(adjust_nanites)) + RegisterSignal(parent, COMSIG_NANITE_SET_MAX_VOLUME, PROC_REF(set_max_volume)) + RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD, PROC_REF(set_cloud)) + RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD_SYNC, PROC_REF(set_cloud_sync)) + RegisterSignal(parent, COMSIG_NANITE_SET_SAFETY, PROC_REF(set_safety)) + RegisterSignal(parent, COMSIG_NANITE_SET_REGEN, PROC_REF(set_regen)) + RegisterSignal(parent, COMSIG_NANITE_ADD_PROGRAM, PROC_REF(add_program)) + RegisterSignal(parent, COMSIG_NANITE_SCAN, PROC_REF(nanite_scan)) + RegisterSignal(parent, COMSIG_NANITE_SYNC, PROC_REF(sync)) if(isliving(parent)) - RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp) - RegisterSignal(parent, COMSIG_MOB_DEATH, .proc/on_death) - RegisterSignal(parent, COMSIG_MOB_ALLOWED, .proc/check_access) - RegisterSignal(parent, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/on_shock) - RegisterSignal(parent, COMSIG_LIVING_MINOR_SHOCK, .proc/on_minor_shock) - RegisterSignal(parent, COMSIG_SPECIES_GAIN, .proc/check_viable_biotype) - RegisterSignal(parent, COMSIG_NANITE_SIGNAL, .proc/receive_signal) - RegisterSignal(parent, COMSIG_NANITE_COMM_SIGNAL, .proc/receive_comm_signal) + RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp)) + RegisterSignal(parent, COMSIG_MOB_DEATH, PROC_REF(on_death)) + RegisterSignal(parent, COMSIG_MOB_ALLOWED, PROC_REF(check_access)) + RegisterSignal(parent, COMSIG_LIVING_ELECTROCUTE_ACT, PROC_REF(on_shock)) + RegisterSignal(parent, COMSIG_LIVING_MINOR_SHOCK, PROC_REF(on_minor_shock)) + RegisterSignal(parent, COMSIG_SPECIES_GAIN, PROC_REF(check_viable_biotype)) + RegisterSignal(parent, COMSIG_NANITE_SIGNAL, PROC_REF(receive_signal)) + RegisterSignal(parent, COMSIG_NANITE_COMM_SIGNAL, PROC_REF(receive_comm_signal)) /datum/component/nanites/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_HAS_NANITES, diff --git a/code/datums/components/orbiter.dm b/code/datums/components/orbiter.dm index 2c2d0acf71af..faf61f803fa2 100644 --- a/code/datums/components/orbiter.dm +++ b/code/datums/components/orbiter.dm @@ -22,9 +22,9 @@ target.orbiters = src if(ismovable(target)) - tracker = new(target, CALLBACK(src, .proc/move_react)) + tracker = new(target, CALLBACK(src, PROC_REF(move_react))) - RegisterSignal(parent, COMSIG_MOVABLE_UPDATE_GLIDE_SIZE, .proc/orbiter_glide_size_update) + RegisterSignal(parent, COMSIG_MOVABLE_UPDATE_GLIDE_SIZE, PROC_REF(orbiter_glide_size_update)) /datum/component/orbiter/UnregisterFromParent() var/atom/target = parent @@ -59,7 +59,7 @@ orbiter.orbiting.end_orbit(orbiter) orbiters[orbiter] = TRUE orbiter.orbiting = src - RegisterSignal(orbiter, COMSIG_MOVABLE_MOVED, .proc/orbiter_move_react) + RegisterSignal(orbiter, COMSIG_MOVABLE_MOVED, PROC_REF(orbiter_move_react)) SEND_SIGNAL(parent, COMSIG_ATOM_ORBIT_BEGIN, orbiter) diff --git a/code/datums/components/outline.dm b/code/datums/components/outline.dm index 7aa719d38a61..2a4a9daa4ba4 100644 --- a/code/datums/components/outline.dm +++ b/code/datums/components/outline.dm @@ -7,9 +7,9 @@ if(!isatom(parent)) return COMPONENT_INCOMPATIBLE src.permanent = perm - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/OnExamine) - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy) - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/OnClean) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(OnExamine)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackBy)) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(OnClean)) var/atom/movable/A = parent A.add_filter("sprite-bane", 2, list("type"="outline", "color"="#000000", "size"=1)) @@ -50,3 +50,4 @@ playsound(A, 'sound/effects/slosh.ogg', 50, TRUE) A.visible_message("The outline around [A] is washed away!") qdel(src) + diff --git a/code/datums/components/overlay_lighting.dm b/code/datums/components/overlay_lighting.dm index 4e36391d3914..d4b40bdb7187 100644 --- a/code/datums/components/overlay_lighting.dm +++ b/code/datums/components/overlay_lighting.dm @@ -105,14 +105,14 @@ /datum/component/overlay_lighting/RegisterWithParent() . = ..() if(directional) - RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, .proc/on_parent_dir_change) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_parent_moved) - RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_RANGE, .proc/set_range) - RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_POWER, .proc/set_power) - RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_COLOR, .proc/set_color) - RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_ON, .proc/on_toggle) - RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_FLAGS, .proc/on_light_flags_change) - RegisterSignal(parent, COMSIG_ATOM_USED_IN_CRAFT, .proc/on_parent_crafted) + RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, PROC_REF(on_parent_dir_change)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_parent_moved)) + RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_RANGE, PROC_REF(set_range)) + RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_POWER, PROC_REF(set_power)) + RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_COLOR, PROC_REF(set_color)) + RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_ON, PROC_REF(on_toggle)) + RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_FLAGS, PROC_REF(on_light_flags_change)) + RegisterSignal(parent, COMSIG_ATOM_USED_IN_CRAFT, PROC_REF(on_parent_crafted)) var/atom/movable/movable_parent = parent if(movable_parent.light_flags & LIGHT_ATTACHED) overlay_lighting_flags |= LIGHTING_ATTACHED @@ -215,13 +215,13 @@ var/atom/movable/old_parent_attached_to = . UnregisterSignal(old_parent_attached_to, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED)) if(old_parent_attached_to == current_holder) - RegisterSignal(old_parent_attached_to, COMSIG_PARENT_QDELETING, .proc/on_holder_qdel) - RegisterSignal(old_parent_attached_to, COMSIG_MOVABLE_MOVED, .proc/on_holder_moved) + RegisterSignal(old_parent_attached_to, COMSIG_PARENT_QDELETING, PROC_REF(on_holder_qdel)) + RegisterSignal(old_parent_attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved)) if(parent_attached_to) if(parent_attached_to == current_holder) UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED)) - RegisterSignal(parent_attached_to, COMSIG_PARENT_QDELETING, .proc/on_parent_attached_to_qdel) - RegisterSignal(parent_attached_to, COMSIG_MOVABLE_MOVED, .proc/on_parent_attached_to_moved) + RegisterSignal(parent_attached_to, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_attached_to_qdel)) + RegisterSignal(parent_attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(on_parent_attached_to_moved)) check_holder() @@ -241,10 +241,10 @@ clean_old_turfs() return if(new_holder != parent && new_holder != parent_attached_to) - RegisterSignal(new_holder, COMSIG_PARENT_QDELETING, .proc/on_holder_qdel) - RegisterSignal(new_holder, COMSIG_MOVABLE_MOVED, .proc/on_holder_moved) + RegisterSignal(new_holder, COMSIG_PARENT_QDELETING, PROC_REF(on_holder_qdel)) + RegisterSignal(new_holder, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved)) if(directional) - RegisterSignal(new_holder, COMSIG_ATOM_DIR_CHANGE, .proc/on_holder_dir_change) + RegisterSignal(new_holder, COMSIG_ATOM_DIR_CHANGE, PROC_REF(on_holder_dir_change)) if(overlay_lighting_flags & LIGHTING_ON) make_luminosity_update() add_dynamic_lumi() @@ -461,7 +461,7 @@ return UnregisterSignal(parent, COMSIG_ATOM_USED_IN_CRAFT) - RegisterSignal(new_craft, COMSIG_ATOM_USED_IN_CRAFT, .proc/on_parent_crafted) + RegisterSignal(new_craft, COMSIG_ATOM_USED_IN_CRAFT, PROC_REF(on_parent_crafted)) set_parent_attached_to(new_craft) #undef LIGHTING_ON diff --git a/code/datums/components/paintable.dm b/code/datums/components/paintable.dm index a0ed2873c90a..72472d41686d 100644 --- a/code/datums/components/paintable.dm +++ b/code/datums/components/paintable.dm @@ -2,7 +2,7 @@ var/current_paint /datum/component/spraycan_paintable/Initialize() - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/Repaint) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(Repaint)) /datum/component/spraycan_paintable/Destroy() RemoveCurrentCoat() diff --git a/code/datums/components/pellet_cloud.dm b/code/datums/components/pellet_cloud.dm index fc2ae4c058dc..ae90dae17c55 100644 --- a/code/datums/components/pellet_cloud.dm +++ b/code/datums/components/pellet_cloud.dm @@ -69,16 +69,16 @@ return ..() /datum/component/pellet_cloud/RegisterWithParent() - RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, .proc/nullspace_parent) + RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, PROC_REF(nullspace_parent)) if(isammocasing(parent)) - RegisterSignal(parent, COMSIG_PELLET_CLOUD_INIT, .proc/create_casing_pellets) + RegisterSignal(parent, COMSIG_PELLET_CLOUD_INIT, PROC_REF(create_casing_pellets)) else if(isgrenade(parent)) - RegisterSignal(parent, COMSIG_GRENADE_ARMED, .proc/grenade_armed) - RegisterSignal(parent, COMSIG_GRENADE_PRIME, .proc/create_blast_pellets) + RegisterSignal(parent, COMSIG_GRENADE_ARMED, PROC_REF(grenade_armed)) + RegisterSignal(parent, COMSIG_GRENADE_PRIME, PROC_REF(create_blast_pellets)) else if(islandmine(parent)) - RegisterSignal(parent, COMSIG_MINE_TRIGGERED, .proc/create_blast_pellets) + RegisterSignal(parent, COMSIG_MINE_TRIGGERED, PROC_REF(create_blast_pellets)) else if(issupplypod(parent)) - RegisterSignal(parent, COMSIG_SUPPLYPOD_LANDED, .proc/create_blast_pellets) + RegisterSignal(parent, COMSIG_SUPPLYPOD_LANDED, PROC_REF(create_blast_pellets)) /datum/component/pellet_cloud/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_PARENT_PREQDELETED, COMSIG_PELLET_CLOUD_INIT, COMSIG_GRENADE_PRIME, COMSIG_GRENADE_ARMED, COMSIG_MOVABLE_MOVED, COMSIG_MINE_TRIGGERED, COMSIG_ITEM_DROPPED)) @@ -103,8 +103,8 @@ else //Smart spread spread = round((i / num_pellets - 0.5) * distro) - RegisterSignal(shell.BB, COMSIG_PROJECTILE_SELF_ON_HIT, .proc/pellet_hit) - RegisterSignal(shell.BB, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PARENT_QDELETING), .proc/pellet_range) + RegisterSignal(shell.BB, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(pellet_hit)) + RegisterSignal(shell.BB, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PARENT_QDELETING), PROC_REF(pellet_range)) pellets += shell.BB if(!shell.throw_proj(target, targloc, shooter, params, spread)) return @@ -180,7 +180,7 @@ if(martyr.stat != DEAD && martyr.client) LAZYADD(purple_hearts, martyr) - RegisterSignal(martyr, COMSIG_PARENT_QDELETING, .proc/on_target_qdel, override=TRUE) + RegisterSignal(martyr, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel), override=TRUE) for(var/i in 1 to round(pellets_absorbed * 0.5)) pew(martyr) @@ -195,7 +195,7 @@ hits++ targets_hit[target]++ if(targets_hit[target] == 1) - RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/on_target_qdel, override=TRUE) + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel), override=TRUE) UnregisterSignal(P, list(COMSIG_PARENT_QDELETING, COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PROJECTILE_SELF_ON_HIT)) if(terminated == num_pellets) finalize() @@ -220,8 +220,8 @@ LAZYSET(P.impacted, parent, TRUE) // don't hit the target we hit already with the flak P.suppressed = SUPPRESSED_VERY // set the projectiles to make no message so we can do our own aggregate message P.preparePixelProjectile(target, parent) - RegisterSignal(P, COMSIG_PROJECTILE_SELF_ON_HIT, .proc/pellet_hit) - RegisterSignal(P, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PARENT_QDELETING), .proc/pellet_range) + RegisterSignal(P, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(pellet_hit)) + RegisterSignal(P, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PARENT_QDELETING), PROC_REF(pellet_range)) pellets += P P.fire() @@ -254,10 +254,10 @@ if(ismob(nade.loc)) shooter = nade.loc LAZYINITLIST(bodies) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/grenade_dropped) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/grenade_moved) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(grenade_dropped)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(grenade_moved)) var/static/list/loc_connections = list( - COMSIG_ATOM_EXITED =.proc/grenade_uncrossed, + COMSIG_ATOM_EXITED = PROC_REF(grenade_uncrossed), ) AddComponent(/datum/component/connect_loc_behalf, parent, loc_connections) @@ -270,7 +270,7 @@ /datum/component/pellet_cloud/proc/grenade_moved() LAZYCLEARLIST(bodies) for(var/mob/living/new_mob in get_turf(parent)) - RegisterSignal(new_mob, COMSIG_PARENT_QDELETING, .proc/on_target_qdel, override=TRUE) + RegisterSignal(new_mob, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel), override=TRUE) LAZYADD(bodies, new_mob) /// Someone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it diff --git a/code/datums/components/plumbing/_plumbing.dm b/code/datums/components/plumbing/_plumbing.dm index 8512e46c361d..80c956a0031b 100644 --- a/code/datums/components/plumbing/_plumbing.dm +++ b/code/datums/components/plumbing/_plumbing.dm @@ -26,16 +26,16 @@ reagents = AM.reagents turn_connects = _turn_connects - RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), .proc/on_parent_moved) - RegisterSignal(parent, list(COMSIG_PARENT_PREQDELETED), .proc/disable) - RegisterSignal(parent, list(COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH), .proc/toggle_active) - RegisterSignal(parent, list(COMSIG_OBJ_HIDE), .proc/hide) - RegisterSignal(parent, list(COMSIG_ATOM_UPDATE_OVERLAYS), .proc/create_overlays) //called by lateinit on startup + RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), PROC_REF(on_parent_moved)) + RegisterSignal(parent, list(COMSIG_PARENT_PREQDELETED), PROC_REF(disable)) + RegisterSignal(parent, list(COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH), PROC_REF(toggle_active)) + RegisterSignal(parent, list(COMSIG_OBJ_HIDE), PROC_REF(hide)) + RegisterSignal(parent, list(COMSIG_ATOM_UPDATE_OVERLAYS), PROC_REF(create_overlays)) //called by lateinit on startup if(start) //timer 0 so it can finish returning initialize, after which we're added to the parent. //Only then can we tell the duct next to us they can connect, because only then is the component really added. this was a fun one - addtimer(CALLBACK(src, .proc/enable), 0) + addtimer(CALLBACK(src, PROC_REF(enable)), 0) /datum/component/plumbing/process() if(!demand_connects || !reagents) diff --git a/code/datums/components/pricetag.dm b/code/datums/components/pricetag.dm index 9cf6a6e4f16a..bf81a595c2be 100644 --- a/code/datums/components/pricetag.dm +++ b/code/datums/components/pricetag.dm @@ -8,9 +8,9 @@ owner = _owner if(_profit_ratio) profit_ratio = _profit_ratio - RegisterSignal(parent, list(COMSIG_ITEM_SOLD), .proc/split_profit) - RegisterSignal(parent, list(COMSIG_STRUCTURE_UNWRAPPED, COMSIG_ITEM_UNWRAPPED), .proc/Unwrapped) - RegisterSignal(parent, list(COMSIG_ITEM_SPLIT_PROFIT, COMSIG_ITEM_SPLIT_PROFIT_DRY), .proc/return_ratio) + RegisterSignal(parent, list(COMSIG_ITEM_SOLD), PROC_REF(split_profit)) + RegisterSignal(parent, list(COMSIG_STRUCTURE_UNWRAPPED, COMSIG_ITEM_UNWRAPPED), PROC_REF(Unwrapped)) + RegisterSignal(parent, list(COMSIG_ITEM_SPLIT_PROFIT, COMSIG_ITEM_SPLIT_PROFIT_DRY), PROC_REF(return_ratio)) /datum/component/pricetag/proc/Unwrapped() SIGNAL_HANDLER diff --git a/code/datums/components/punchcooldown.dm b/code/datums/components/punchcooldown.dm index 5aacf49fd2d2..19aa8c8cd20d 100644 --- a/code/datums/components/punchcooldown.dm +++ b/code/datums/components/punchcooldown.dm @@ -2,7 +2,7 @@ /datum/component/wearertargeting/punchcooldown signals = list(COMSIG_HUMAN_MELEE_UNARMED_ATTACK) mobtype = /mob/living/carbon - proctype = .proc/reducecooldown + proctype = PROC_REF(reducecooldown) valid_slots = list(ITEM_SLOT_GLOVES) ///The warcry this generates var/warcry = "AT" @@ -11,7 +11,7 @@ . = ..() if(. == COMPONENT_INCOMPATIBLE) return - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/changewarcry) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(changewarcry)) ///Called on COMSIG_HUMAN_MELEE_UNARMED_ATTACK. Yells the warcry and and reduces punch cooldown. /datum/component/wearertargeting/punchcooldown/proc/reducecooldown(mob/living/carbon/M, atom/target) @@ -24,7 +24,7 @@ /datum/component/wearertargeting/punchcooldown/proc/changewarcry(datum/source, mob/user) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/changewarcry_async, user) + INVOKE_ASYNC(src, PROC_REF(changewarcry_async), user) /datum/component/wearertargeting/punchcooldown/proc/changewarcry_async(mob/user) var/input = stripped_input(user,"What do you want your battlecry to be? Max length of 6 characters.", ,"", 7) diff --git a/code/datums/components/rad_insulation.dm b/code/datums/components/rad_insulation.dm index d06cb1e18799..6ee306b28215 100644 --- a/code/datums/components/rad_insulation.dm +++ b/code/datums/components/rad_insulation.dm @@ -6,11 +6,11 @@ return COMPONENT_INCOMPATIBLE if(protects) // Does this protect things in its contents from being affected? - RegisterSignal(parent, COMSIG_ATOM_RAD_PROBE, .proc/rad_probe_react) + RegisterSignal(parent, COMSIG_ATOM_RAD_PROBE, PROC_REF(rad_probe_react)) if(contamination_proof) // Can this object be contaminated? - RegisterSignal(parent, COMSIG_ATOM_RAD_CONTAMINATING, .proc/rad_contaminating) + RegisterSignal(parent, COMSIG_ATOM_RAD_CONTAMINATING, PROC_REF(rad_contaminating)) if(_amount != 1) // If it's 1 it wont have any impact on radiation passing through anyway - RegisterSignal(parent, COMSIG_ATOM_RAD_WAVE_PASSING, .proc/rad_pass) + RegisterSignal(parent, COMSIG_ATOM_RAD_WAVE_PASSING, PROC_REF(rad_pass)) amount = _amount diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm index a1d0553f3b1d..a6c67af2d3cd 100644 --- a/code/datums/components/radioactive.dm +++ b/code/datums/components/radioactive.dm @@ -18,11 +18,11 @@ hl3_release_date = _half_life can_contaminate = _can_contaminate if(istype(parent, /atom)) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/rad_examine) - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/rad_clean) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(rad_examine)) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(rad_clean)) if(istype(parent, /obj/item)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/rad_attack) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_OBJ, .proc/rad_attack) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(rad_attack)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_OBJ, PROC_REF(rad_attack)) else return COMPONENT_INCOMPATIBLE if(strength > RAD_MINIMUM_CONTAMINATION) @@ -31,7 +31,7 @@ //This relies on parent not being a turf or something. IF YOU CHANGE THAT, CHANGE THIS var/atom/movable/master = parent master.add_filter("rad_glow", 2, list("type" = "outline", "color" = "#39ff1430", "size" = 2)) - addtimer(CALLBACK(src, .proc/glow_loop, master), rand(1,19))//Things should look uneven + addtimer(CALLBACK(src, PROC_REF(glow_loop), master), rand(1,19))//Things should look uneven START_PROCESSING(SSradiation, src) /datum/component/radioactive/Destroy() diff --git a/code/datums/components/remote_materials.dm b/code/datums/components/remote_materials.dm index 4bd3d1b82e43..de61c13ae295 100644 --- a/code/datums/components/remote_materials.dm +++ b/code/datums/components/remote_materials.dm @@ -23,8 +23,8 @@ handles linking back and forth. src.category = category src.allow_standalone = allow_standalone - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy) - RegisterSignal(parent, COMSIG_ATOM_MULTITOOL_ACT, .proc/OnMultitool) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackBy)) + RegisterSignal(parent, COMSIG_ATOM_MULTITOOL_ACT, PROC_REF(OnMultitool)) if (allow_standalone) _MakeLocal() diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index 3f56735a493c..7d3bf028d796 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -28,10 +28,10 @@ /datum/component/riding/Initialize() if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, .proc/vehicle_turned) - RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, .proc/vehicle_mob_buckle) - RegisterSignal(parent, COMSIG_MOVABLE_UNBUCKLE, .proc/vehicle_mob_unbuckle) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/vehicle_moved) + RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, PROC_REF(vehicle_turned)) + RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, PROC_REF(vehicle_mob_buckle)) + RegisterSignal(parent, COMSIG_MOVABLE_UNBUCKLE, PROC_REF(vehicle_mob_unbuckle)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(vehicle_moved)) /datum/component/riding/proc/vehicle_mob_unbuckle(datum/source, mob/living/M, force = FALSE) SIGNAL_HANDLER @@ -217,7 +217,7 @@ to_chat(user, "You'll need a special item in one of your hands to [drive_verb] [AM].") /datum/component/riding/proc/Unbuckle(atom/movable/M) - addtimer(CALLBACK(parent, /atom/movable/.proc/unbuckle_mob, M), 0, TIMER_UNIQUE) + addtimer(CALLBACK(parent, TYPE_PROC_REF(/atom/movable, unbuckle_mob), M), 0, TIMER_UNIQUE) /datum/component/riding/proc/Process_Spacemove(direction) var/atom/movable/AM = parent @@ -237,7 +237,7 @@ /datum/component/riding/human/Initialize() . = ..() - RegisterSignal(parent, COMSIG_HUMAN_MELEE_UNARMED_ATTACK, .proc/on_host_unarmed_melee) + RegisterSignal(parent, COMSIG_HUMAN_MELEE_UNARMED_ATTACK, PROC_REF(on_host_unarmed_melee)) /datum/component/riding/human/vehicle_mob_unbuckle(datum/source, mob/living/M, force = FALSE) unequip_buckle_inhands(parent) diff --git a/code/datums/components/rotation.dm b/code/datums/components/rotation.dm index 7f0e230845f8..506d744d6c8c 100644 --- a/code/datums/components/rotation.dm +++ b/code/datums/components/rotation.dm @@ -26,17 +26,17 @@ if(can_user_rotate) src.can_user_rotate = can_user_rotate else - src.can_user_rotate = CALLBACK(src,.proc/default_can_user_rotate) + src.can_user_rotate = CALLBACK(src, PROC_REF(default_can_user_rotate)) if(can_be_rotated) src.can_be_rotated = can_be_rotated else - src.can_be_rotated = CALLBACK(src,.proc/default_can_be_rotated) + src.can_be_rotated = CALLBACK(src, PROC_REF(default_can_be_rotated)) if(after_rotation) src.after_rotation = after_rotation else - src.after_rotation = CALLBACK(src,.proc/default_after_rotation) + src.after_rotation = CALLBACK(src, PROC_REF(default_after_rotation)) //Try Clockwise,counter,flip in order if(src.rotation_flags & ROTATION_FLIP) @@ -52,10 +52,10 @@ /datum/component/simple_rotation/proc/add_signals() if(rotation_flags & ROTATION_ALTCLICK) - RegisterSignal(parent, COMSIG_CLICK_ALT, .proc/HandRot) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/ExamineMessage) + RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(HandRot)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(ExamineMessage)) if(rotation_flags & ROTATION_WRENCH) - RegisterSignal(parent, COMSIG_ATOM_WRENCH_ACT, .proc/WrenchRot) + RegisterSignal(parent, COMSIG_ATOM_WRENCH_ACT, PROC_REF(WrenchRot)) /datum/component/simple_rotation/proc/add_verbs() if(rotation_flags & ROTATION_VERBS) diff --git a/code/datums/components/sitcomlaughter.dm b/code/datums/components/sitcomlaughter.dm index 7a31c812749b..8dfef21b749d 100644 --- a/code/datums/components/sitcomlaughter.dm +++ b/code/datums/components/sitcomlaughter.dm @@ -1,7 +1,7 @@ /datum/component/wearertargeting/sitcomlaughter valid_slots = list(ITEM_SLOT_HANDS, ITEM_SLOT_BELT, ITEM_SLOT_ID, ITEM_SLOT_LPOCKET, ITEM_SLOT_RPOCKET, ITEM_SLOT_SUITSTORE, ITEM_SLOT_DEX_STORAGE) signals = list(COMSIG_MOB_CREAMED, COMSIG_ON_CARBON_SLIP, COMSIG_ON_VENDOR_CRUSH, COMSIG_MOB_CLUMSY_SHOOT_FOOT) - proctype = .proc/EngageInComedy + proctype = PROC_REF(EngageInComedy) mobtype = /mob/living ///Sounds used for when user has a sitcom action occur var/list/comedysounds = list('sound/items/SitcomLaugh1.ogg', 'sound/items/SitcomLaugh2.ogg', 'sound/items/SitcomLaugh3.ogg') @@ -28,6 +28,6 @@ SIGNAL_HANDLER if(!COOLDOWN_FINISHED(src, laugh_cooldown)) return - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, parent, pick(comedysounds), 100, FALSE, SHORT_RANGE_SOUND_EXTRARANGE), laugh_delay) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), parent, pick(comedysounds), 100, FALSE, SHORT_RANGE_SOUND_EXTRARANGE), laugh_delay) post_comedy_callback?.Invoke(source) COOLDOWN_START(src, laugh_cooldown, cooldown_time) diff --git a/code/datums/components/slippery.dm b/code/datums/components/slippery.dm index 64dd511956ce..5c2c88ccfee7 100644 --- a/code/datums/components/slippery.dm +++ b/code/datums/components/slippery.dm @@ -11,12 +11,12 @@ ///what we give to connect_loc by default, makes slippable mobs moving over us slip var/static/list/default_connections = list( - COMSIG_ATOM_ENTERED = .proc/Slip, + COMSIG_ATOM_ENTERED = PROC_REF(Slip), ) ///what we give to connect_loc if we're an item and get equipped by a mob. makes slippable mobs moving over our holder slip var/static/list/holder_connections = list( - COMSIG_ATOM_ENTERED = .proc/Slip_on_wearer, + COMSIG_ATOM_ENTERED = PROC_REF(Slip_on_wearer), ) /// The connect_loc_behalf component for the holder_connections list. @@ -32,10 +32,10 @@ if(ismovable(parent)) if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) else - RegisterSignal(parent, COMSIG_ATOM_ENTERED, .proc/Slip) + RegisterSignal(parent, COMSIG_ATOM_ENTERED, PROC_REF(Slip)) /datum/component/slippery/proc/add_connect_loc_behalf_to_parent() if(ismovable(parent)) @@ -73,7 +73,7 @@ holder = equipper qdel(GetComponent(/datum/component/connect_loc_behalf)) AddComponent(/datum/component/connect_loc_behalf, holder, holder_connections) - RegisterSignal(holder, COMSIG_PARENT_PREQDELETED, .proc/holder_deleted) + RegisterSignal(holder, COMSIG_PARENT_PREQDELETED, PROC_REF(holder_deleted)) /datum/component/slippery/proc/holder_deleted(datum/source, datum/possible_holder) SIGNAL_HANDLER diff --git a/code/datums/components/soulstoned.dm b/code/datums/components/soulstoned.dm index 584f76cbc255..04e514062879 100644 --- a/code/datums/components/soulstoned.dm +++ b/code/datums/components/soulstoned.dm @@ -17,7 +17,7 @@ S.health = S.maxHealth S.bruteloss = 0 - RegisterSignal(S, COMSIG_MOVABLE_MOVED, .proc/free_prisoner) + RegisterSignal(S, COMSIG_MOVABLE_MOVED, PROC_REF(free_prisoner)) /datum/component/soulstoned/proc/free_prisoner() SIGNAL_HANDLER diff --git a/code/datums/components/spawner.dm b/code/datums/components/spawner.dm index 0b2794898e13..42456ccf88e9 100644 --- a/code/datums/components/spawner.dm +++ b/code/datums/components/spawner.dm @@ -23,7 +23,7 @@ if(_spawn_sound) spawn_sound=_spawn_sound - RegisterSignal(parent, list(COMSIG_PARENT_QDELETING), .proc/stop_spawning) + RegisterSignal(parent, list(COMSIG_PARENT_QDELETING), PROC_REF(stop_spawning)) START_PROCESSING(SSprocessing, src) /datum/component/spawner/process() diff --git a/code/datums/components/spill.dm b/code/datums/components/spill.dm index 343cdab3f081..1aa652e5106a 100644 --- a/code/datums/components/spill.dm +++ b/code/datums/components/spill.dm @@ -27,8 +27,8 @@ return COMPONENT_INCOMPATIBLE /datum/component/spill/RegisterWithParent() - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/equip_react) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/drop_react) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(equip_react)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(drop_react)) var/obj/item/master = parent preexisting_item_flags = master.item_flags master.item_flags |= ITEM_SLOT_POCKETS @@ -43,7 +43,7 @@ SIGNAL_HANDLER if(slot == ITEM_SLOT_LPOCKET || slot == ITEM_SLOT_RPOCKET) - RegisterSignal(equipper, COMSIG_LIVING_STATUS_KNOCKDOWN, .proc/knockdown_react, TRUE) + RegisterSignal(equipper, COMSIG_LIVING_STATUS_KNOCKDOWN, PROC_REF(knockdown_react), TRUE) else UnregisterSignal(equipper, COMSIG_LIVING_STATUS_KNOCKDOWN) diff --git a/code/datums/components/spooky.dm b/code/datums/components/spooky.dm index 9e5032ec70f7..2cdefc057f85 100644 --- a/code/datums/components/spooky.dm +++ b/code/datums/components/spooky.dm @@ -2,12 +2,12 @@ var/too_spooky = TRUE //will it spawn a new instrument? /datum/component/spooky/Initialize() - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/spectral_attack) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(spectral_attack)) /datum/component/spooky/proc/spectral_attack(datum/source, mob/living/carbon/C, mob/user) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/spectral_attack_async, source, C, user) + INVOKE_ASYNC(src, PROC_REF(spectral_attack_async), source, C, user) /datum/component/spooky/proc/spectral_attack_async(datum/source, mob/living/carbon/C, mob/user) diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index fdb95e249f2b..368b70b64c0c 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -22,25 +22,25 @@ ///what we set connect_loc to if parent is an item var/static/list/item_connections = list( - COMSIG_ATOM_ENTERED = .proc/play_squeak_crossed, + COMSIG_ATOM_ENTERED = PROC_REF(play_squeak_crossed), ) /datum/component/squeak/Initialize(custom_sounds, volume_override, chance_override, step_delay_override, use_delay_override, extrarange, falloff_exponent, fallof_distance) if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY), .proc/play_squeak) + RegisterSignal(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY), PROC_REF(play_squeak)) if(ismovable(parent)) - RegisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT), .proc/play_squeak) + RegisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT), PROC_REF(play_squeak)) AddComponent(/datum/component/connect_loc_behalf, parent, item_connections) - RegisterSignal(parent, COMSIG_ITEM_WEARERCROSSED, .proc/play_squeak_crossed) - RegisterSignal(parent, COMSIG_MOVABLE_DISPOSING, .proc/disposing_react) + RegisterSignal(parent, COMSIG_ITEM_WEARERCROSSED, PROC_REF(play_squeak_crossed)) + RegisterSignal(parent, COMSIG_MOVABLE_DISPOSING, PROC_REF(disposing_react)) if(isitem(parent)) - RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), .proc/play_squeak) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/use_squeak) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), PROC_REF(play_squeak)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(use_squeak)) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) if(istype(parent, /obj/item/clothing/shoes)) - RegisterSignal(parent, COMSIG_SHOES_STEP_ACTION, .proc/step_squeak) + RegisterSignal(parent, COMSIG_SHOES_STEP_ACTION, PROC_REF(step_squeak)) override_squeak_sounds = custom_sounds if(chance_override) @@ -103,7 +103,7 @@ /datum/component/squeak/proc/on_equip(datum/source, mob/equipper, slot) SIGNAL_HANDLER - RegisterSignal(equipper, COMSIG_MOVABLE_DISPOSING, .proc/disposing_react, TRUE) + RegisterSignal(equipper, COMSIG_MOVABLE_DISPOSING, PROC_REF(disposing_react), TRUE) /datum/component/squeak/proc/on_drop(datum/source, mob/user) SIGNAL_HANDLER @@ -115,7 +115,7 @@ SIGNAL_HANDLER //We don't need to worry about unregistering this signal as it will happen for us automaticaly when the holder is qdeleted - RegisterSignal(holder, COMSIG_ATOM_DIR_CHANGE, .proc/holder_dir_change) + RegisterSignal(holder, COMSIG_ATOM_DIR_CHANGE, PROC_REF(holder_dir_change)) /datum/component/squeak/proc/holder_dir_change(datum/source, old_dir, new_dir) SIGNAL_HANDLER diff --git a/code/datums/components/stationstuck.dm b/code/datums/components/stationstuck.dm index 98f12cdc09c1..2f01af2ee6e7 100644 --- a/code/datums/components/stationstuck.dm +++ b/code/datums/components/stationstuck.dm @@ -9,7 +9,7 @@ if(!isliving(parent)) return COMPONENT_INCOMPATIBLE var/mob/living/L = parent - RegisterSignal(L, list(COMSIG_MOVABLE_Z_CHANGED), .proc/punish) + RegisterSignal(L, list(COMSIG_MOVABLE_Z_CHANGED), PROC_REF(punish)) murder = _murder message = _message diff --git a/code/datums/components/storage/concrete/_concrete.dm b/code/datums/components/storage/concrete/_concrete.dm index 4198ba5b974d..c0a9bd162209 100644 --- a/code/datums/components/storage/concrete/_concrete.dm +++ b/code/datums/components/storage/concrete/_concrete.dm @@ -15,8 +15,8 @@ /datum/component/storage/concrete/Initialize() . = ..() - RegisterSignal(parent, COMSIG_ATOM_CONTENTS_DEL, .proc/on_contents_del) - RegisterSignal(parent, COMSIG_OBJ_DECONSTRUCT, .proc/on_deconstruct) + RegisterSignal(parent, COMSIG_ATOM_CONTENTS_DEL, PROC_REF(on_contents_del)) + RegisterSignal(parent, COMSIG_OBJ_DECONSTRUCT, PROC_REF(on_deconstruct)) /datum/component/storage/concrete/Destroy() var/atom/real_location = real_location() diff --git a/code/datums/components/storage/concrete/bag_of_holding.dm b/code/datums/components/storage/concrete/bag_of_holding.dm index 7b734d8836cc..9c534ae2fa4d 100644 --- a/code/datums/components/storage/concrete/bag_of_holding.dm +++ b/code/datums/components/storage/concrete/bag_of_holding.dm @@ -5,7 +5,7 @@ var/list/obj/item/storage/backpack/holding/matching = typecache_filter_list(W.GetAllContents(), typecacheof(/obj/item/storage/backpack/holding)) matching -= A if(istype(W, /obj/item/storage/backpack/holding) || matching.len) - INVOKE_ASYNC(src, .proc/recursive_insertion, W, user) + INVOKE_ASYNC(src, PROC_REF(recursive_insertion), W, user) return . = ..() diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 5acda55b1992..ced0b0e79ff7 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -72,42 +72,42 @@ closer = new(null, src) orient2hud() - RegisterSignal(parent, COMSIG_CONTAINS_STORAGE, .proc/on_check) - RegisterSignal(parent, COMSIG_IS_STORAGE_LOCKED, .proc/check_locked) - RegisterSignal(parent, COMSIG_TRY_STORAGE_SHOW, .proc/signal_show_attempt) - RegisterSignal(parent, COMSIG_TRY_STORAGE_INSERT, .proc/signal_insertion_attempt) - RegisterSignal(parent, COMSIG_TRY_STORAGE_CAN_INSERT, .proc/signal_can_insert) - RegisterSignal(parent, COMSIG_TRY_STORAGE_TAKE_TYPE, .proc/signal_take_type) - RegisterSignal(parent, COMSIG_TRY_STORAGE_FILL_TYPE, .proc/signal_fill_type) - RegisterSignal(parent, COMSIG_TRY_STORAGE_SET_LOCKSTATE, .proc/set_locked) - RegisterSignal(parent, COMSIG_TRY_STORAGE_TAKE, .proc/signal_take_obj) - RegisterSignal(parent, COMSIG_TRY_STORAGE_QUICK_EMPTY, .proc/signal_quick_empty) - RegisterSignal(parent, COMSIG_TRY_STORAGE_HIDE_FROM, .proc/signal_hide_attempt) - RegisterSignal(parent, COMSIG_TRY_STORAGE_HIDE_ALL, .proc/close_all) - RegisterSignal(parent, COMSIG_TRY_STORAGE_RETURN_INVENTORY, .proc/signal_return_inv) - - RegisterSignal(parent, COMSIG_TOPIC, .proc/topic_handle) - - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/attackby) - - RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, .proc/on_attack_hand) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_PAW, .proc/on_attack_hand) - RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/emp_act) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_GHOST, .proc/show_to_ghost) - RegisterSignal(parent, COMSIG_ATOM_ENTERED, .proc/refresh_mob_views) - RegisterSignal(parent, COMSIG_ATOM_EXITED, .proc/_remove_and_refresh) - RegisterSignal(parent, COMSIG_ATOM_CANREACH, .proc/canreach_react) - - RegisterSignal(parent, COMSIG_ITEM_PRE_ATTACK, .proc/preattack_intercept) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/attack_self) - RegisterSignal(parent, COMSIG_ITEM_PICKUP, .proc/signal_on_pickup) - - RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW, .proc/close_all) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_move) - - RegisterSignal(parent, COMSIG_CLICK_ALT, .proc/on_alt_click) - RegisterSignal(parent, COMSIG_MOUSEDROP_ONTO, .proc/mousedrop_onto) - RegisterSignal(parent, COMSIG_MOUSEDROPPED_ONTO, .proc/mousedrop_receive) + RegisterSignal(parent, COMSIG_CONTAINS_STORAGE, PROC_REF(on_check)) + RegisterSignal(parent, COMSIG_IS_STORAGE_LOCKED, PROC_REF(check_locked)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_SHOW, PROC_REF(signal_show_attempt)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_INSERT, PROC_REF(signal_insertion_attempt)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_CAN_INSERT, PROC_REF(signal_can_insert)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_TAKE_TYPE, PROC_REF(signal_take_type)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_FILL_TYPE, PROC_REF(signal_fill_type)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_SET_LOCKSTATE, PROC_REF(set_locked)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_TAKE, PROC_REF(signal_take_obj)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_QUICK_EMPTY, PROC_REF(signal_quick_empty)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_HIDE_FROM, PROC_REF(signal_hide_attempt)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_HIDE_ALL, PROC_REF(close_all)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_RETURN_INVENTORY, PROC_REF(signal_return_inv)) + + RegisterSignal(parent, COMSIG_TOPIC, PROC_REF(topic_handle)) + + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(attackby)) + + RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_PAW, PROC_REF(on_attack_hand)) + RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, PROC_REF(emp_act)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_GHOST, PROC_REF(show_to_ghost)) + RegisterSignal(parent, COMSIG_ATOM_ENTERED, PROC_REF(refresh_mob_views)) + RegisterSignal(parent, COMSIG_ATOM_EXITED, PROC_REF(_remove_and_refresh)) + RegisterSignal(parent, COMSIG_ATOM_CANREACH, PROC_REF(canreach_react)) + + RegisterSignal(parent, COMSIG_ITEM_PRE_ATTACK, PROC_REF(preattack_intercept)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(attack_self)) + RegisterSignal(parent, COMSIG_ITEM_PICKUP, PROC_REF(signal_on_pickup)) + + RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW, PROC_REF(close_all)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) + + RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(on_alt_click)) + RegisterSignal(parent, COMSIG_MOUSEDROP_ONTO, PROC_REF(mousedrop_onto)) + RegisterSignal(parent, COMSIG_MOUSEDROPPED_ONTO, PROC_REF(mousedrop_receive)) update_actions() @@ -145,7 +145,7 @@ return var/obj/item/I = parent modeswitch_action = new(I) - RegisterSignal(modeswitch_action, COMSIG_ACTION_TRIGGER, .proc/action_trigger) + RegisterSignal(modeswitch_action, COMSIG_ACTION_TRIGGER, PROC_REF(action_trigger)) if(I.obj_flags & IN_INVENTORY) var/mob/M = I.loc if(!istype(M)) @@ -198,7 +198,7 @@ to_chat(M, "[parent] seems to be [locked_flavor]!") return FALSE if((M.get_active_held_item() == parent) && allow_quick_empty) - INVOKE_ASYNC(src, .proc/quick_empty, M) + INVOKE_ASYNC(src, PROC_REF(quick_empty), M) /datum/component/storage/proc/preattack_intercept(datum/source, obj/O, mob/M, params) SIGNAL_HANDLER @@ -216,7 +216,7 @@ return if(!isturf(I.loc)) return - INVOKE_ASYNC(src, .proc/async_preattack_intercept, I, M) + INVOKE_ASYNC(src, PROC_REF(async_preattack_intercept), I, M) ///async functionality from preattack_intercept /datum/component/storage/proc/async_preattack_intercept(obj/item/I, mob/M) @@ -229,7 +229,7 @@ return var/datum/progressbar/progress = new(M, len, I.loc) var/list/rejections = list() - while(do_after(M, 10, TRUE, parent, FALSE, CALLBACK(src, .proc/handle_mass_pickup, things, I.loc, rejections, progress))) + while(do_after(M, 10, TRUE, parent, FALSE, CALLBACK(src, PROC_REF(handle_mass_pickup), things, I.loc, rejections, progress))) stoplag(1) progress.end_progress() to_chat(M, "You put everything you could [insert_preposition] [parent].") @@ -287,7 +287,7 @@ var/turf/T = get_turf(A) var/list/things = contents() var/datum/progressbar/progress = new(M, length(things), T) - while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress))) + while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, PROC_REF(mass_remove_from_storage), T, things, progress))) stoplag(1) progress.end_progress() @@ -408,7 +408,7 @@ M.client.screen |= real_location.contents M.set_active_storage(src) LAZYOR(is_using, M) - RegisterSignal(M, COMSIG_PARENT_QDELETING, .proc/mob_deleted) + RegisterSignal(M, COMSIG_PARENT_QDELETING, PROC_REF(mob_deleted)) return TRUE /datum/component/storage/proc/mob_deleted(datum/source) @@ -593,7 +593,7 @@ if(over_object == M) user_show_to_mob(M) if(!istype(over_object, /atom/movable/screen)) - INVOKE_ASYNC(src, .proc/dump_content_at, over_object, M) + INVOKE_ASYNC(src, PROC_REF(dump_content_at), over_object, M) return if(A.loc != M) return @@ -604,7 +604,7 @@ return A.add_fingerprint(M) -/datum/component/storage/proc/user_show_to_mob(mob/M, force = FALSE) +/datum/component/storage/proc/user_show_to_mob(mob/M, force = FALSE, silent = FALSE) var/atom/A = parent if(!istype(M)) return FALSE @@ -613,7 +613,7 @@ to_chat(M, "[parent] seems to be [locked_flavor]!") return FALSE if(force || M.CanReach(parent, view_only = TRUE)) - if(use_sound) + if(use_sound && !silent) playsound(A, use_sound, 50, TRUE, -5) show_to(M) @@ -739,7 +739,7 @@ /datum/component/storage/proc/show_to_ghost(datum/source, mob/dead/observer/M) SIGNAL_HANDLER - return user_show_to_mob(M, TRUE) + return user_show_to_mob(M, TRUE, TRUE) /datum/component/storage/proc/signal_show_attempt(datum/source, mob/showto, force = FALSE) SIGNAL_HANDLER @@ -808,12 +808,12 @@ var/mob/living/carbon/human/H = user if(H.l_store == A && !H.get_active_held_item()) //Prevents opening if it's in a pocket. . = COMPONENT_NO_ATTACK_HAND - INVOKE_ASYNC(H, /mob.proc/put_in_hands, A) + INVOKE_ASYNC(H, TYPE_PROC_REF(/mob, put_in_hands), A) H.l_store = null return if(H.r_store == A && !H.get_active_held_item()) . = COMPONENT_NO_ATTACK_HAND - INVOKE_ASYNC(H, /mob.proc/put_in_hands, A) + INVOKE_ASYNC(H, TYPE_PROC_REF(/mob, put_in_hands), A) H.r_store = null return @@ -853,7 +853,7 @@ /datum/component/storage/proc/on_alt_click(datum/source, mob/user) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/on_alt_click_async, source, user) + INVOKE_ASYNC(src, PROC_REF(on_alt_click_async), source, user) /datum/component/storage/proc/on_alt_click_async(datum/source, mob/user) if(!isliving(user) || !user.CanReach(parent) || user.incapacitated()) @@ -866,8 +866,6 @@ if(!quickdraw) A.add_fingerprint(user) user_show_to_mob(user) - if(use_sound) - playsound(A, use_sound, 50, TRUE, -5) return var/obj/item/I = locate() in real_location() diff --git a/code/datums/components/summoning.dm b/code/datums/components/summoning.dm index 9109e26b3003..bd335cbcbaad 100644 --- a/code/datums/components/summoning.dm +++ b/code/datums/components/summoning.dm @@ -24,11 +24,11 @@ /datum/component/summoning/RegisterWithParent() if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc - RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, PROC_REF(projectile_hit)) else if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/item_afterattack) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(item_afterattack)) else if(ishostile(parent)) - RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget) + RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, PROC_REF(hostile_attackingtarget)) /datum/component/summoning/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_ITEM_AFTERATTACK, COMSIG_HOSTILE_ATTACKINGTARGET, COMSIG_PROJECTILE_ON_HIT)) @@ -66,7 +66,7 @@ spawned_mobs += L if(faction != null) L.faction = faction - RegisterSignal(L, COMSIG_MOB_DEATH, .proc/on_spawned_death) // so we can remove them from the list, etc (for mobs with corpses) + RegisterSignal(L, COMSIG_MOB_DEATH, PROC_REF(on_spawned_death)) // so we can remove them from the list, etc (for mobs with corpses) playsound(spawn_location,spawn_sound, 50, TRUE) spawn_location.visible_message("[L] [spawn_text].") diff --git a/code/datums/components/swarming.dm b/code/datums/components/swarming.dm index e45c792f433e..1fa269b56f6f 100644 --- a/code/datums/components/swarming.dm +++ b/code/datums/components/swarming.dm @@ -4,8 +4,8 @@ var/is_swarming = FALSE var/list/swarm_members = list() var/static/list/swarming_loc_connections = list( - COMSIG_ATOM_EXITED =.proc/leave_swarm, \ - COMSIG_ATOM_ENTERED = .proc/join_swarm \ + COMSIG_ATOM_EXITED = PROC_REF(leave_swarm), \ + COMSIG_ATOM_ENTERED = PROC_REF(join_swarm) \ ) /datum/component/swarming/Initialize(max_x = 24, max_y = 24) diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 9edf16e0b634..998fa6906b4d 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -46,7 +46,7 @@ var/mob/P = parent to_chat(P, "You are now able to launch tackles! You can do so by activating throw intent, and clicking on your target with an empty hand.") - addtimer(CALLBACK(src, .proc/resetTackle), base_knockdown, TIMER_STOPPABLE) + addtimer(CALLBACK(src, PROC_REF(resetTackle)), base_knockdown, TIMER_STOPPABLE) /datum/component/tackler/Destroy() var/mob/P = parent @@ -54,9 +54,9 @@ return ..() /datum/component/tackler/RegisterWithParent() - RegisterSignal(parent, COMSIG_MOB_CLICKON, .proc/checkTackle) - RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, .proc/sack) - RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW, .proc/registerTackle) + RegisterSignal(parent, COMSIG_MOB_CLICKON, PROC_REF(checkTackle)) + RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, PROC_REF(sack)) + RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW, PROC_REF(registerTackle)) /datum/component/tackler/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_MOB_CLICKON, COMSIG_MOVABLE_IMPACT, COMSIG_MOVABLE_MOVED, COMSIG_MOVABLE_POST_THROW)) @@ -106,7 +106,7 @@ tackling = TRUE user.throw_mode_off(THROW_MODE_TOGGLE) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/checkObstacle) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(checkObstacle)) playsound(user, 'sound/weapons/thudswoosh.ogg', 40, TRUE, -1) if(can_see(user, A, 7)) @@ -120,7 +120,7 @@ user.Knockdown(base_knockdown, ignore_canstun = TRUE) user.adjustStaminaLoss(stamina_cost) user.throw_at(A, range, speed, user, FALSE) - addtimer(CALLBACK(src, .proc/resetTackle), base_knockdown, TIMER_STOPPABLE) + addtimer(CALLBACK(src, PROC_REF(resetTackle)), base_knockdown, TIMER_STOPPABLE) return(COMSIG_MOB_CANCEL_CLICKON) /** @@ -153,7 +153,7 @@ if(!iscarbon(hit)) if(hit.density) - INVOKE_ASYNC(src, .proc/splat, user, hit) + INVOKE_ASYNC(src, PROC_REF(splat), user, hit) return var/mob/living/carbon/target = hit @@ -183,7 +183,7 @@ user.Knockdown(30) if(ishuman(target) && !T.has_movespeed_modifier(/datum/movespeed_modifier/shove)) T.add_movespeed_modifier(/datum/movespeed_modifier/shove) // maybe define a slightly more severe/longer slowdown for this - addtimer(CALLBACK(T, /mob/living/carbon/proc/clear_shove_slowdown), SHOVE_SLOWDOWN_LENGTH) + addtimer(CALLBACK(T, TYPE_PROC_REF(/mob/living/carbon, clear_shove_slowdown)), SHOVE_SLOWDOWN_LENGTH) if(-1 to 0) // decent hit, both parties are about equally inconvenienced user.visible_message("[user] lands a passable tackle on [target], sending them both tumbling!", "You land a passable tackle on [target], sending you both tumbling!", target) @@ -213,7 +213,7 @@ target.Paralyze(5) target.Knockdown(30) if(ishuman(target) && ishuman(user)) - INVOKE_ASYNC(S.dna.species, /datum/species.proc/grab, S, T) + INVOKE_ASYNC(S.dna.species, TYPE_PROC_REF(/datum/species, grab), S, T) S.setGrabState(GRAB_PASSIVE) if(5 to INFINITY) // absolutely BODIED @@ -226,7 +226,7 @@ target.Paralyze(5) target.Knockdown(30) if(ishuman(target) && ishuman(user)) - INVOKE_ASYNC(S.dna.species, /datum/species.proc/grab, S, T) + INVOKE_ASYNC(S.dna.species, TYPE_PROC_REF(/datum/species, grab), S, T) S.setGrabState(GRAB_AGGRESSIVE) @@ -255,8 +255,6 @@ defense_mod -= 1 if(HAS_TRAIT(target, TRAIT_CLUMSY)) defense_mod -= 2 - if(HAS_TRAIT(target, TRAIT_FAT)) // chonkers are harder to knock over - defense_mod += 1 if(HAS_TRAIT(target, TRAIT_GRABWEAKNESS)) defense_mod -= 2 if(HAS_TRAIT(target, TRAIT_DWARF)) diff --git a/code/datums/components/tactical.dm b/code/datums/components/tactical.dm index d1941f8a72fd..f673abcf7bb0 100644 --- a/code/datums/components/tactical.dm +++ b/code/datums/components/tactical.dm @@ -8,8 +8,8 @@ src.allowed_slot = allowed_slot /datum/component/tactical/RegisterWithParent() - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/modify) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/unmodify) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(modify)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(unmodify)) /datum/component/tactical/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED)) diff --git a/code/datums/components/taped.dm b/code/datums/components/taped.dm index 32d5120c72e0..fc18ec5fd876 100644 --- a/code/datums/components/taped.dm +++ b/code/datums/components/taped.dm @@ -29,8 +29,8 @@ set_tape(added_integrity) /datum/component/taped/RegisterWithParent() - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/tape_rip) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine_tape) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(tape_rip)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine_tape)) /datum/component/taped/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_PARENT_ATTACKBY, COMSIG_PARENT_EXAMINE)) diff --git a/code/datums/components/tether.dm b/code/datums/components/tether.dm index a458db2f2571..c6d9ac02947c 100644 --- a/code/datums/components/tether.dm +++ b/code/datums/components/tether.dm @@ -14,7 +14,7 @@ src.tether_name = initial(tmp.name) else src.tether_name = tether_name - RegisterSignal(parent, list(COMSIG_MOVABLE_PRE_MOVE), .proc/checkTether) + RegisterSignal(parent, list(COMSIG_MOVABLE_PRE_MOVE), PROC_REF(checkTether)) /datum/component/tether/proc/checkTether(mob/mover, newloc) SIGNAL_HANDLER diff --git a/code/datums/components/thermite.dm b/code/datums/components/thermite.dm index 23f020adb7f0..ac9e468b10ae 100644 --- a/code/datums/components/thermite.dm +++ b/code/datums/components/thermite.dm @@ -38,9 +38,9 @@ overlay = mutable_appearance('icons/effects/effects.dmi', "thermite") master.add_overlay(overlay) - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/clean_react) - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/attackby_react) - RegisterSignal(parent, COMSIG_ATOM_FIRE_ACT, .proc/flame_react) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean_react)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(attackby_react)) + RegisterSignal(parent, COMSIG_ATOM_FIRE_ACT, PROC_REF(flame_react)) /datum/component/thermite/UnregisterFromParent() UnregisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT) @@ -65,7 +65,7 @@ master.cut_overlay(overlay) playsound(master, 'sound/items/welder.ogg', 100, TRUE) var/obj/effect/overlay/thermite/fakefire = new(master) - addtimer(CALLBACK(src, .proc/burn_parent, fakefire, user), min(amount * 0.35 SECONDS, 20 SECONDS)) + addtimer(CALLBACK(src, PROC_REF(burn_parent), fakefire, user), min(amount * 0.35 SECONDS, 20 SECONDS)) UnregisterFromParent() /datum/component/thermite/proc/burn_parent(datum/fakefire, mob/user) diff --git a/code/datums/components/twohanded.dm b/code/datums/components/twohanded.dm index 88cc0d190014..51c9268d13ab 100644 --- a/code/datums/components/twohanded.dm +++ b/code/datums/components/twohanded.dm @@ -69,13 +69,13 @@ // register signals withthe parent item /datum/component/two_handed/RegisterWithParent() - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/on_attack_self) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/on_attack) - RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_moved) - RegisterSignal(parent, COMSIG_ITEM_SHARPEN_ACT, .proc/on_sharpen) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(on_attack_self)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(on_attack)) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON, PROC_REF(on_update_icon)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) + RegisterSignal(parent, COMSIG_ITEM_SHARPEN_ACT, PROC_REF(on_sharpen)) // Remove all siginals registered to the parent item /datum/component/two_handed/UnregisterFromParent() @@ -145,7 +145,7 @@ if(SEND_SIGNAL(parent, COMSIG_TWOHANDED_WIELD, user) & COMPONENT_TWOHANDED_BLOCK_WIELD) return // blocked wield from item wielded = TRUE - RegisterSignal(user, COMSIG_MOB_SWAP_HANDS, .proc/on_swap_hands) + RegisterSignal(user, COMSIG_MOB_SWAP_HANDS, PROC_REF(on_swap_hands)) // update item stats and name var/obj/item/parent_item = parent @@ -172,7 +172,7 @@ offhand_item.name = "[parent_item.name] - offhand" offhand_item.desc = "Your second grip on [parent_item]." offhand_item.wielded = TRUE - RegisterSignal(offhand_item, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(offhand_item, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) user.put_in_inactive_hand(offhand_item) /** diff --git a/code/datums/components/udder.dm b/code/datums/components/udder.dm index f954559d9df2..3b47efa3fcd0 100644 --- a/code/datums/components/udder.dm +++ b/code/datums/components/udder.dm @@ -17,8 +17,8 @@ src.on_milk_callback = on_milk_callback /datum/component/udder/RegisterWithParent() - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_examine) - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/on_attackby) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby)) /datum/component/udder/UnregisterFromParent() QDEL_NULL(udder) @@ -138,7 +138,7 @@ /obj/item/udder/gutlunch/initial_conditions() if(udder_mob.gender == FEMALE) START_PROCESSING(SSobj, src) - RegisterSignal(udder_mob, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/on_mob_attacking) + RegisterSignal(udder_mob, COMSIG_HOSTILE_ATTACKINGTARGET, PROC_REF(on_mob_attacking)) /obj/item/udder/gutlunch/Destroy() if(udder_mob) diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm index 8b3e6eb16868..31a9e851a0a1 100644 --- a/code/datums/components/uplink.dm +++ b/code/datums/components/uplink.dm @@ -34,20 +34,20 @@ return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/interact) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackBy)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(interact)) if(istype(parent, /obj/item/implant)) - RegisterSignal(parent, COMSIG_IMPLANT_ACTIVATED, .proc/implant_activation) - RegisterSignal(parent, COMSIG_IMPLANT_IMPLANTING, .proc/implanting) - RegisterSignal(parent, COMSIG_IMPLANT_OTHER, .proc/old_implant) - RegisterSignal(parent, COMSIG_IMPLANT_EXISTING_UPLINK, .proc/new_implant) + RegisterSignal(parent, COMSIG_IMPLANT_ACTIVATED, PROC_REF(implant_activation)) + RegisterSignal(parent, COMSIG_IMPLANT_IMPLANTING, PROC_REF(implanting)) + RegisterSignal(parent, COMSIG_IMPLANT_OTHER, PROC_REF(old_implant)) + RegisterSignal(parent, COMSIG_IMPLANT_EXISTING_UPLINK, PROC_REF(new_implant)) else if(istype(parent, /obj/item/pda)) - RegisterSignal(parent, COMSIG_PDA_CHANGE_RINGTONE, .proc/new_ringtone) - RegisterSignal(parent, COMSIG_PDA_CHECK_DETONATE, .proc/check_detonate) + RegisterSignal(parent, COMSIG_PDA_CHANGE_RINGTONE, PROC_REF(new_ringtone)) + RegisterSignal(parent, COMSIG_PDA_CHECK_DETONATE, PROC_REF(check_detonate)) else if(istype(parent, /obj/item/radio)) - RegisterSignal(parent, COMSIG_RADIO_NEW_FREQUENCY, .proc/new_frequency) + RegisterSignal(parent, COMSIG_RADIO_NEW_FREQUENCY, PROC_REF(new_frequency)) else if(istype(parent, /obj/item/pen)) - RegisterSignal(parent, COMSIG_PEN_ROTATED, .proc/pen_rotation) + RegisterSignal(parent, COMSIG_PEN_ROTATED, PROC_REF(pen_rotation)) uplink_items = get_uplink_items(_gamemode, TRUE, allow_restricted) @@ -120,7 +120,7 @@ return active = TRUE if(user) - INVOKE_ASYNC(src, .proc/ui_interact, user) + INVOKE_ASYNC(src, PROC_REF(ui_interact), user) // an unlocked uplink blocks also opening the PDA or headset menu return COMPONENT_NO_INTERACT diff --git a/code/datums/components/wearertargeting.dm b/code/datums/components/wearertargeting.dm index cbfec78d11f2..0d94e33c3d76 100644 --- a/code/datums/components/wearertargeting.dm +++ b/code/datums/components/wearertargeting.dm @@ -3,14 +3,14 @@ /datum/component/wearertargeting var/list/valid_slots = list() var/list/signals = list() - var/proctype = .proc/pass + var/proctype = PROC_REF(pass) var/mobtype = /mob/living /datum/component/wearertargeting/Initialize() if(!isitem(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) /datum/component/wearertargeting/proc/on_equip(datum/source, mob/equipper, slot) SIGNAL_HANDLER diff --git a/code/datums/components/wet_floor.dm b/code/datums/components/wet_floor.dm index 9f723b9c07f6..f2c2b0b303ee 100644 --- a/code/datums/components/wet_floor.dm +++ b/code/datums/components/wet_floor.dm @@ -29,12 +29,12 @@ permanent = _permanent if(!permanent) START_PROCESSING(SSwet_floors, src) - addtimer(CALLBACK(src, .proc/gc, TRUE), 1) //GC after initialization. + addtimer(CALLBACK(src, PROC_REF(gc), TRUE), 1) //GC after initialization. last_process = world.time /datum/component/wet_floor/RegisterWithParent() - RegisterSignal(parent, COMSIG_TURF_IS_WET, .proc/is_wet) - RegisterSignal(parent, COMSIG_TURF_MAKE_DRY, .proc/dry) + RegisterSignal(parent, COMSIG_TURF_IS_WET, PROC_REF(is_wet)) + RegisterSignal(parent, COMSIG_TURF_MAKE_DRY, PROC_REF(dry)) /datum/component/wet_floor/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_TURF_IS_WET, COMSIG_TURF_MAKE_DRY)) @@ -94,7 +94,7 @@ qdel(parent.GetComponent(/datum/component/slippery)) return - parent.LoadComponent(/datum/component/slippery, intensity, lube_flags, CALLBACK(src, .proc/AfterSlip)) + parent.LoadComponent(/datum/component/slippery, intensity, lube_flags, CALLBACK(src, PROC_REF(AfterSlip))) /datum/component/wet_floor/proc/dry(datum/source, strength = TURF_WET_WATER, immediate = FALSE, duration_decrease = INFINITY) SIGNAL_HANDLER diff --git a/code/datums/dash_weapon.dm b/code/datums/dash_weapon.dm index 3f519fc49155..5ba239c26d7a 100644 --- a/code/datums/dash_weapon.dm +++ b/code/datums/dash_weapon.dm @@ -42,7 +42,7 @@ spot1.Beam(spot2,beam_effect,time=20) current_charges-- owner.update_action_buttons_icon() - addtimer(CALLBACK(src, .proc/charge), charge_rate) + addtimer(CALLBACK(src, PROC_REF(charge)), charge_rate) /datum/action/innate/dash/proc/charge() current_charges = clamp(current_charges + 1, 0, max_charges) diff --git a/code/datums/diseases/advance/symptoms/cough.dm b/code/datums/diseases/advance/symptoms/cough.dm index 1ee6f7d2eb55..547e66855bf6 100644 --- a/code/datums/diseases/advance/symptoms/cough.dm +++ b/code/datums/diseases/advance/symptoms/cough.dm @@ -73,6 +73,6 @@ BONUS if(power >= 2 && prob(30)) to_chat(M, "[pick("You have a coughing fit!", "You can't stop coughing!")]") M.Immobilize(20) - addtimer(CALLBACK(M, /mob/.proc/emote, "cough"), 6) - addtimer(CALLBACK(M, /mob/.proc/emote, "cough"), 12) - addtimer(CALLBACK(M, /mob/.proc/emote, "cough"), 18) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob, emote), "cough"), 6) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob, emote), "cough"), 12) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob, emote), "cough"), 18) diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index bdc47a32c3a0..c7e5b5c064ac 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -277,12 +277,12 @@ if(M.getBruteLoss() + M.getFireLoss() >= 70 && !active_coma) to_chat(M, "You feel yourself slip into a regenerative coma...") active_coma = TRUE - addtimer(CALLBACK(src, .proc/coma, M), 60) + addtimer(CALLBACK(src, PROC_REF(coma), M), 60) /datum/symptom/heal/coma/proc/coma(mob/living/M) M.fakedeath("regenerative_coma", !deathgasp) - addtimer(CALLBACK(src, .proc/uncoma, M), 300) + addtimer(CALLBACK(src, PROC_REF(uncoma), M), 300) /datum/symptom/heal/coma/proc/uncoma(mob/living/M) diff --git a/code/datums/diseases/advance/symptoms/shedding.dm b/code/datums/diseases/advance/symptoms/shedding.dm index d1b59edbc1c8..2423208cb072 100644 --- a/code/datums/diseases/advance/symptoms/shedding.dm +++ b/code/datums/diseases/advance/symptoms/shedding.dm @@ -40,11 +40,11 @@ BONUS if(3, 4) if(!(H.hairstyle == "Bald") && !(H.hairstyle == "Balding Hair")) to_chat(H, "Your hair starts to fall out in clumps...") - addtimer(CALLBACK(src, .proc/Shed, H, FALSE), 50) + addtimer(CALLBACK(src, PROC_REF(Shed), H, FALSE), 50) if(5) if(!(H.facial_hairstyle == "Shaved") || !(H.hairstyle == "Bald")) to_chat(H, "Your hair starts to fall out in clumps...") - addtimer(CALLBACK(src, .proc/Shed, H, TRUE), 50) + addtimer(CALLBACK(src, PROC_REF(Shed), H, TRUE), 50) /datum/symptom/shedding/proc/Shed(mob/living/carbon/human/H, fullbald) if(fullbald) diff --git a/code/datums/diseases/pierrot_throat.dm b/code/datums/diseases/pierrot_throat.dm index 56261688fc2a..21a780b93665 100644 --- a/code/datums/diseases/pierrot_throat.dm +++ b/code/datums/diseases/pierrot_throat.dm @@ -28,7 +28,7 @@ affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) , forced = "pierrot's throat") /datum/disease/pierrot_throat/after_add() - RegisterSignal(affected_mob, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(affected_mob, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/disease/pierrot_throat/proc/handle_speech(datum/source, list/speech_args) diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 5a1c2b3783d4..dde90dd5dbe8 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -688,12 +688,12 @@ spawn_gibs() set_species(/datum/species/skeleton) if(prob(90)) - addtimer(CALLBACK(src, .proc/death), 30) + addtimer(CALLBACK(src, PROC_REF(death)), 30) if(mind) mind.hasSoul = FALSE if(5) to_chat(src, "LOOK UP!") - addtimer(CALLBACK(src, .proc/something_horrible_mindmelt), 30) + addtimer(CALLBACK(src, PROC_REF(something_horrible_mindmelt)), 30) /mob/living/carbon/human/proc/something_horrible_mindmelt() @@ -704,4 +704,4 @@ eyes.Remove(src) qdel(eyes) visible_message("[src] looks up and their eyes melt away!", "='userdanger'>I understand now.") - addtimer(CALLBACK(src, .proc/adjustOrganLoss, ORGAN_SLOT_BRAIN, 200), 20) + addtimer(CALLBACK(src, PROC_REF(adjustOrganLoss), ORGAN_SLOT_BRAIN, 200), 20) diff --git a/code/datums/ductnet.dm b/code/datums/ductnet.dm index 14a74a67c490..3c109564815e 100644 --- a/code/datums/ductnet.dm +++ b/code/datums/ductnet.dm @@ -15,8 +15,8 @@ /datum/ductnet/proc/remove_duct(obj/machinery/duct/ducting) destroy_network(FALSE) for(var/obj/machinery/duct/D in ducting.neighbours) - addtimer(CALLBACK(D, /obj/machinery/duct/proc/reconnect), 0) //all needs to happen after the original duct that was destroyed finishes destroying itself - addtimer(CALLBACK(D, /obj/machinery/duct/proc/generate_connects), 0) + addtimer(CALLBACK(D, TYPE_PROC_REF(/obj/machinery/duct, reconnect)), 0) //all needs to happen after the original duct that was destroyed finishes destroying itself + addtimer(CALLBACK(D, TYPE_PROC_REF(/obj/machinery/duct, generate_connects)), 0) qdel(src) ///add a plumbing object to either demanders or suppliers /datum/ductnet/proc/add_plumber(datum/component/plumbing/P, dir) diff --git a/code/datums/elements/_element.dm b/code/datums/elements/_element.dm index 55abf0a85de1..e9779644c211 100644 --- a/code/datums/elements/_element.dm +++ b/code/datums/elements/_element.dm @@ -23,7 +23,7 @@ return ELEMENT_INCOMPATIBLE SEND_SIGNAL(target, COMSIG_ELEMENT_ATTACH, src) if(element_flags & ELEMENT_DETACH) - RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/Detach, override = TRUE) + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(Detach), override = TRUE) /* The override = TRUE here is to suppress runtimes happening because of the blood decal element diff --git a/code/datums/elements/bed_tucking.dm b/code/datums/elements/bed_tucking.dm index 10135871a7ad..c094e5a5b108 100644 --- a/code/datums/elements/bed_tucking.dm +++ b/code/datums/elements/bed_tucking.dm @@ -17,7 +17,7 @@ x_offset = x y_offset = y rotation_degree = rotation - RegisterSignal(target, COMSIG_ITEM_ATTACK_OBJ, .proc/tuck_into_bed) + RegisterSignal(target, COMSIG_ITEM_ATTACK_OBJ, PROC_REF(tuck_into_bed)) /datum/element/bed_tuckable/Detach(obj/target) . = ..() @@ -44,7 +44,7 @@ tucked.pixel_y = y_offset if(rotation_degree) tucked.transform = turn(tucked.transform, rotation_degree) - RegisterSignal(tucked, COMSIG_ITEM_PICKUP, .proc/untuck) + RegisterSignal(tucked, COMSIG_ITEM_PICKUP, PROC_REF(untuck)) return COMPONENT_NO_AFTERATTACK diff --git a/code/datums/elements/bsa_blocker.dm b/code/datums/elements/bsa_blocker.dm index 5bdf4fa90912..96606a553096 100644 --- a/code/datums/elements/bsa_blocker.dm +++ b/code/datums/elements/bsa_blocker.dm @@ -3,7 +3,7 @@ /datum/element/bsa_blocker/Attach(datum/target) if(!isatom(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_ATOM_BSA_BEAM, .proc/block_bsa) + RegisterSignal(target, COMSIG_ATOM_BSA_BEAM, PROC_REF(block_bsa)) return ..() /datum/element/bsa_blocker/proc/block_bsa() diff --git a/code/datums/elements/cleaning.dm b/code/datums/elements/cleaning.dm index 1f9eb15ea1c8..c43c36902af5 100644 --- a/code/datums/elements/cleaning.dm +++ b/code/datums/elements/cleaning.dm @@ -2,7 +2,7 @@ . = ..() if(!ismovable(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/Clean) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(Clean)) /datum/element/cleaning/Detach(datum/target) . = ..() diff --git a/code/datums/elements/connect_loc.dm b/code/datums/elements/connect_loc.dm index cfadedd5980d..a0614dd12e0d 100644 --- a/code/datums/elements/connect_loc.dm +++ b/code/datums/elements/connect_loc.dm @@ -14,7 +14,7 @@ src.connections = connections - RegisterSignal(listener, COMSIG_MOVABLE_MOVED, .proc/on_moved, override = TRUE) + RegisterSignal(listener, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved), override = TRUE) update_signals(listener) /datum/element/connect_loc/Detach(atom/movable/listener) diff --git a/code/datums/elements/decals/_decals.dm b/code/datums/elements/decals/_decals.dm index 17ba311bc5a3..96c5d6a5fab3 100644 --- a/code/datums/elements/decals/_decals.dm +++ b/code/datums/elements/decals/_decals.dm @@ -24,21 +24,21 @@ cleanable = _cleanable rotated = _rotated - RegisterSignal(target,COMSIG_ATOM_UPDATE_OVERLAYS,.proc/apply_overlay, TRUE) + RegisterSignal(target,COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(apply_overlay), TRUE) if(isturf(target)) - RegisterSignal(target,COMSIG_TURF_AFTER_SHUTTLE_MOVE,.proc/shuttlemove_react, TRUE) + RegisterSignal(target,COMSIG_TURF_AFTER_SHUTTLE_MOVE, PROC_REF(shuttlemove_react), TRUE) if(target.flags_1 & INITIALIZED_1) target.update_appearance() //could use some queuing here now maybe. else - RegisterSignal(target,COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE,.proc/late_update_icon, TRUE) + RegisterSignal(target,COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE, PROC_REF(late_update_icon), TRUE) if(isitem(target)) - INVOKE_ASYNC(target, /obj/item/.proc/update_slot_icon, TRUE) + INVOKE_ASYNC(target, TYPE_PROC_REF(/obj/item, update_slot_icon), TRUE) if(_dir) - RegisterSignal(target, COMSIG_ATOM_DIR_CHANGE, .proc/rotate_react,TRUE) + RegisterSignal(target, COMSIG_ATOM_DIR_CHANGE, PROC_REF(rotate_react),TRUE) if(_cleanable) - RegisterSignal(target, COMSIG_COMPONENT_CLEAN_ACT, .proc/clean_react,TRUE) + RegisterSignal(target, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean_react),TRUE) if(_description) - RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/examine,TRUE) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, PROC_REF(examine),TRUE) /** * ## generate_appearance @@ -63,7 +63,7 @@ UnregisterSignal(source, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_PARENT_EXAMINE, COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_TURF_AFTER_SHUTTLE_MOVE)) source.update_appearance() if(isitem(source)) - INVOKE_ASYNC(source, /obj/item/.proc/update_slot_icon) + INVOKE_ASYNC(source, TYPE_PROC_REF(/obj/item, update_slot_icon)) return ..() /datum/element/decal/proc/late_update_icon(atom/source) diff --git a/code/datums/elements/decals/blood.dm b/code/datums/elements/decals/blood.dm index d5f30c4d0c57..85f75bef2416 100644 --- a/code/datums/elements/decals/blood.dm +++ b/code/datums/elements/decals/blood.dm @@ -5,34 +5,22 @@ return ELEMENT_INCOMPATIBLE . = ..() - RegisterSignal(target, COMSIG_ATOM_GET_EXAMINE_NAME, .proc/get_examine_name, TRUE) + RegisterSignal(target, COMSIG_ATOM_GET_EXAMINE_NAME, PROC_REF(get_examine_name), TRUE) /datum/element/decal/blood/Detach(atom/source, force) UnregisterSignal(source, COMSIG_ATOM_GET_EXAMINE_NAME) return ..() /datum/element/decal/blood/generate_appearance(_icon, _icon_state, _dir, _layer, _color, _alpha, source) - var/obj/item/I = source - if(!_icon) - _icon = 'icons/effects/blood.dmi' - if(!_icon_state) - _icon_state = "itemblood" + if(!_icon || !_icon_state) + return FALSE if(!_color) _color = COLOR_BLOOD - var/item_icon = I.icon - var/item_icon_state = I.icon_state - var/static/list/blood_splatter_appearances = list() - //try to find a pre-processed blood-splatter. otherwise, make a new one - var/index = "[REF(item_icon)]-[item_icon_state]" - pic = blood_splatter_appearances[index] - - if(!pic) - var/icon/blood_splatter_icon = icon(I.icon, I.icon_state, null, 1) //we only want to apply blood-splatters to the initial icon_state for each object - blood_splatter_icon.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent) - blood_splatter_icon.Blend(icon(_icon, _icon_state), ICON_MULTIPLY) //adds blood and the remaining white areas become transparant - pic = mutable_appearance(blood_splatter_icon, initial(I.icon_state)) - pic.color = _color - blood_splatter_appearances[index] = pic + var/icon/blood_splatter_icon = icon(_icon, _icon_state, , 1) //we only want to apply blood-splatters to the initial icon_state for each object + blood_splatter_icon.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent) + blood_splatter_icon.Blend(icon('icons/effects/blood.dmi', "itemblood"), ICON_MULTIPLY) //adds blood and the remaining white areas become transparant + pic = mutable_appearance(blood_splatter_icon) + pic.color = _color return TRUE /datum/element/decal/blood/proc/get_examine_name(datum/source, mob/user, list/override) diff --git a/code/datums/elements/digitalcamo.dm b/code/datums/elements/digitalcamo.dm index 8c9b5e88a5a9..de0520b5bbab 100644 --- a/code/datums/elements/digitalcamo.dm +++ b/code/datums/elements/digitalcamo.dm @@ -10,8 +10,8 @@ . = ..() if(!isliving(target) || (target in attached_mobs)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/on_examine) - RegisterSignal(target, COMSIG_LIVING_CAN_TRACK, .proc/can_track) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) + RegisterSignal(target, COMSIG_LIVING_CAN_TRACK, PROC_REF(can_track)) var/image/img = image(loc = target) img.override = TRUE attached_mobs[target] = img diff --git a/code/datums/elements/dunkable.dm b/code/datums/elements/dunkable.dm index 8ba38a515dad..1eaee1d8cbbc 100644 --- a/code/datums/elements/dunkable.dm +++ b/code/datums/elements/dunkable.dm @@ -10,7 +10,7 @@ if(!isitem(target)) return ELEMENT_INCOMPATIBLE dunk_amount = amount_per_dunk - RegisterSignal(target, COMSIG_ITEM_AFTERATTACK, .proc/get_dunked) + RegisterSignal(target, COMSIG_ITEM_AFTERATTACK, PROC_REF(get_dunked)) /datum/element/dunkable/Detach(datum/target) . = ..() diff --git a/code/datums/elements/earhealing.dm b/code/datums/elements/earhealing.dm index d62a6fb9101a..8fc916c99c14 100644 --- a/code/datums/elements/earhealing.dm +++ b/code/datums/elements/earhealing.dm @@ -10,7 +10,7 @@ if(!isitem(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), .proc/equippedChanged) + RegisterSignal(target, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), PROC_REF(equippedChanged)) /datum/element/earhealing/Detach(datum/target) . = ..() diff --git a/code/datums/elements/embed.dm b/code/datums/elements/embed.dm index 40b7d38d65a4..9b427b6b80c5 100644 --- a/code/datums/elements/embed.dm +++ b/code/datums/elements/embed.dm @@ -38,12 +38,12 @@ return ELEMENT_INCOMPATIBLE if(isitem(target)) - RegisterSignal(target, COMSIG_MOVABLE_IMPACT_ZONE, .proc/checkEmbedMob) - RegisterSignal(target, COMSIG_MOVABLE_IMPACT, .proc/checkEmbedOther) - RegisterSignal(target, COMSIG_ELEMENT_ATTACH, .proc/severancePackage) - RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/examined) - RegisterSignal(target, COMSIG_EMBED_TRY_FORCE, .proc/tryForceEmbed) - RegisterSignal(target, COMSIG_ITEM_DISABLE_EMBED, .proc/detachFromWeapon) + RegisterSignal(target, COMSIG_MOVABLE_IMPACT_ZONE, PROC_REF(checkEmbedMob)) + RegisterSignal(target, COMSIG_MOVABLE_IMPACT, PROC_REF(checkEmbedOther)) + RegisterSignal(target, COMSIG_ELEMENT_ATTACH, PROC_REF(severancePackage)) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, PROC_REF(examined)) + RegisterSignal(target, COMSIG_EMBED_TRY_FORCE, PROC_REF(tryForceEmbed)) + RegisterSignal(target, COMSIG_ITEM_DISABLE_EMBED, PROC_REF(detachFromWeapon)) if(!initialized) src.embed_chance = embed_chance src.fall_chance = fall_chance @@ -60,7 +60,7 @@ initialized = TRUE else payload_type = projectile_payload - RegisterSignal(target, COMSIG_PROJECTILE_SELF_ON_HIT, .proc/checkEmbedProjectile) + RegisterSignal(target, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(checkEmbedProjectile)) /datum/element/embed/Detach(obj/target) diff --git a/code/datums/elements/firestacker.dm b/code/datums/elements/firestacker.dm index de829098637a..9646579a83ca 100644 --- a/code/datums/elements/firestacker.dm +++ b/code/datums/elements/firestacker.dm @@ -15,10 +15,10 @@ src.amount = amount - RegisterSignal(target, COMSIG_MOVABLE_IMPACT, .proc/impact, override = TRUE) + RegisterSignal(target, COMSIG_MOVABLE_IMPACT, PROC_REF(impact), override = TRUE) if(isitem(target)) - RegisterSignal(target, COMSIG_ITEM_ATTACK, .proc/item_attack, override = TRUE) - RegisterSignal(target, COMSIG_ITEM_ATTACK_SELF, .proc/item_attack_self, override = TRUE) + RegisterSignal(target, COMSIG_ITEM_ATTACK, PROC_REF(item_attack), override = TRUE) + RegisterSignal(target, COMSIG_ITEM_ATTACK_SELF, PROC_REF(item_attack_self), override = TRUE) /datum/element/firestacker/Detach(datum/source, force) . = ..() diff --git a/code/datums/elements/forced_gravity.dm b/code/datums/elements/forced_gravity.dm index c567ff7b0961..b7bccea7ff02 100644 --- a/code/datums/elements/forced_gravity.dm +++ b/code/datums/elements/forced_gravity.dm @@ -16,9 +16,9 @@ src.gravity = gravity src.ignore_space = ignore_space - RegisterSignal(target, COMSIG_ATOM_HAS_GRAVITY, .proc/gravity_check) + RegisterSignal(target, COMSIG_ATOM_HAS_GRAVITY, PROC_REF(gravity_check)) if(isturf(target)) - RegisterSignal(target, COMSIG_TURF_HAS_GRAVITY, .proc/turf_gravity_check) + RegisterSignal(target, COMSIG_TURF_HAS_GRAVITY, PROC_REF(turf_gravity_check)) ADD_TRAIT(target, TRAIT_FORCED_GRAVITY, our_ref) diff --git a/code/datums/elements/lazy_fishing_spot.dm b/code/datums/elements/lazy_fishing_spot.dm index 603cd56e22fb..f8c4cfa80134 100644 --- a/code/datums/elements/lazy_fishing_spot.dm +++ b/code/datums/elements/lazy_fishing_spot.dm @@ -12,7 +12,7 @@ CRASH("Lazy fishing spot had no configuration passed in.") src.configuration = configuration - RegisterSignal(target, COMSIG_PRE_FISHING, .proc/create_fishing_spot) + RegisterSignal(target, COMSIG_PRE_FISHING, PROC_REF(create_fishing_spot)) /datum/element/lazy_fishing_spot/Detach(datum/target) UnregisterSignal(target, COMSIG_PRE_FISHING) diff --git a/code/datums/elements/light_blocking.dm b/code/datums/elements/light_blocking.dm index 69b6beffe6a1..2c73a082625a 100644 --- a/code/datums/elements/light_blocking.dm +++ b/code/datums/elements/light_blocking.dm @@ -9,7 +9,7 @@ . = ..() if(!ismovable(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/on_target_move) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(on_target_move)) var/atom/movable/movable_target = target if(isturf(movable_target.loc)) var/turf/turf_loc = movable_target.loc diff --git a/code/datums/elements/mobappearance.dm b/code/datums/elements/mobappearance.dm index 41b94755389f..4d8cc6eb2877 100644 --- a/code/datums/elements/mobappearance.dm +++ b/code/datums/elements/mobappearance.dm @@ -23,11 +23,11 @@ mob_appearance(target) target.RemoveElement(/datum/element/appearance_on_login) else - RegisterSignal(target, COMSIG_MOB_LOGIN, .proc/on_mob_login) + RegisterSignal(target, COMSIG_MOB_LOGIN, PROC_REF(on_mob_login)) /datum/element/appearance_on_login/proc/on_mob_login(mob/source) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/mob_appearance, source) + INVOKE_ASYNC(src, PROC_REF(mob_appearance), source) UnregisterSignal(source, COMSIG_MOB_LOGIN) source.RemoveElement(/datum/element/appearance_on_login) @@ -40,7 +40,7 @@ /datum/element/appearance_on_login/proc/mob_appearance(mob/living/simple_animal/target) - var/picked_icon = show_radial_menu(target, target, icon_list, custom_check = CALLBACK(src, .proc/check_menu, target), radius = 38, require_near = TRUE) + var/picked_icon = show_radial_menu(target, target, icon_list, custom_check = CALLBACK(src, PROC_REF(check_menu), target), radius = 38, require_near = TRUE) if(picked_icon) target.icon_state = "[picked_icon]" target.icon_living = "[picked_icon]" diff --git a/code/datums/elements/renamemob.dm b/code/datums/elements/renamemob.dm index bbc1fb99a7c2..909f55adc3e9 100644 --- a/code/datums/elements/renamemob.dm +++ b/code/datums/elements/renamemob.dm @@ -8,11 +8,11 @@ rename_mob(target) target.RemoveElement(/datum/element/rename_on_login) else - RegisterSignal(target, COMSIG_MOB_LOGIN, .proc/on_mob_login) + RegisterSignal(target, COMSIG_MOB_LOGIN, PROC_REF(on_mob_login)) /datum/element/rename_on_login/proc/on_mob_login(mob/source) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/rename_mob, source) + INVOKE_ASYNC(src, PROC_REF(rename_mob), source) UnregisterSignal(source, COMSIG_MOB_LOGIN) source.RemoveElement(/datum/element/rename_on_login) diff --git a/code/datums/elements/selfknockback.dm b/code/datums/elements/selfknockback.dm index c99f8ab4cc26..fe53db1d4207 100644 --- a/code/datums/elements/selfknockback.dm +++ b/code/datums/elements/selfknockback.dm @@ -11,9 +11,9 @@ clamping the Knockback_Force value below. */ /datum/element/selfknockback/Attach(datum/target, throw_amount, speed_amount) . = ..() if(isitem(target)) - RegisterSignal(target, COMSIG_ITEM_AFTERATTACK, .proc/Item_SelfKnockback) + RegisterSignal(target, COMSIG_ITEM_AFTERATTACK, PROC_REF(Item_SelfKnockback)) else if(isprojectile(target)) - RegisterSignal(target, COMSIG_PROJECTILE_FIRE, .proc/Projectile_SelfKnockback) + RegisterSignal(target, COMSIG_PROJECTILE_FIRE, PROC_REF(Projectile_SelfKnockback)) else return ELEMENT_INCOMPATIBLE diff --git a/code/datums/elements/snail_crawl.dm b/code/datums/elements/snail_crawl.dm index 2bca125f4c25..49b3e5ccf0e8 100644 --- a/code/datums/elements/snail_crawl.dm +++ b/code/datums/elements/snail_crawl.dm @@ -7,9 +7,9 @@ return ELEMENT_INCOMPATIBLE var/P if(iscarbon(target)) - P = .proc/snail_crawl + P = PROC_REF(snail_crawl) else - P = .proc/lubricate + P = PROC_REF(lubricate) RegisterSignal(target, COMSIG_MOVABLE_MOVED, P) /datum/element/snailcrawl/Detach(mob/living/carbon/target) diff --git a/code/datums/elements/squish.dm b/code/datums/elements/squish.dm index 3439d590669f..5a6c226b3142 100644 --- a/code/datums/elements/squish.dm +++ b/code/datums/elements/squish.dm @@ -18,7 +18,7 @@ var/mob/living/carbon/C = target var/was_lying = C.body_position == LYING_DOWN - addtimer(CALLBACK(src, .proc/Detach, C, was_lying, reverse), duration) + addtimer(CALLBACK(src, PROC_REF(Detach), C, was_lying, reverse), duration) if(reverse) C.transform = C.transform.Scale(SHORT, TALL) diff --git a/code/datums/elements/tool_flash.dm b/code/datums/elements/tool_flash.dm index cf03bdb502e5..53b94159e9b8 100644 --- a/code/datums/elements/tool_flash.dm +++ b/code/datums/elements/tool_flash.dm @@ -16,8 +16,8 @@ src.flash_strength = flash_strength - RegisterSignal(target, COMSIG_TOOL_IN_USE, .proc/prob_flash) - RegisterSignal(target, COMSIG_TOOL_START_USE, .proc/flash) + RegisterSignal(target, COMSIG_TOOL_IN_USE, PROC_REF(prob_flash)) + RegisterSignal(target, COMSIG_TOOL_START_USE, PROC_REF(flash)) /datum/element/tool_flash/Detach(datum/source, force) . = ..() diff --git a/code/datums/elements/turf_transparency.dm b/code/datums/elements/turf_transparency.dm index 8a2ebca136cf..715c6ab4ecbd 100644 --- a/code/datums/elements/turf_transparency.dm +++ b/code/datums/elements/turf_transparency.dm @@ -15,8 +15,8 @@ our_turf.plane = OPENSPACE_PLANE our_turf.layer = OPENSPACE_LAYER - RegisterSignal(target, COMSIG_TURF_MULTIZ_DEL, .proc/on_multiz_turf_del, TRUE) - RegisterSignal(target, COMSIG_TURF_MULTIZ_NEW, .proc/on_multiz_turf_new, TRUE) + RegisterSignal(target, COMSIG_TURF_MULTIZ_DEL, PROC_REF(on_multiz_turf_del), TRUE) + RegisterSignal(target, COMSIG_TURF_MULTIZ_NEW, PROC_REF(on_multiz_turf_new), TRUE) ADD_TRAIT(our_turf, TURF_Z_TRANSPARENT_TRAIT, TURF_TRAIT) diff --git a/code/datums/elements/undertile.dm b/code/datums/elements/undertile.dm index 3957f4632559..65301e8bdc0d 100644 --- a/code/datums/elements/undertile.dm +++ b/code/datums/elements/undertile.dm @@ -19,7 +19,7 @@ if(!ismovable(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_OBJ_HIDE, .proc/hide) + RegisterSignal(target, COMSIG_OBJ_HIDE, PROC_REF(hide)) src.invisibility_trait = invisibility_trait src.invisibility_level = invisibility_level diff --git a/code/datums/elements/update_icon_blocker.dm b/code/datums/elements/update_icon_blocker.dm index 5c84ed9886aa..674b314ec9c1 100644 --- a/code/datums/elements/update_icon_blocker.dm +++ b/code/datums/elements/update_icon_blocker.dm @@ -4,7 +4,7 @@ . = ..() if(!istype(target, /atom)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_ATOM_UPDATE_ICON, .proc/block_update_icon) + RegisterSignal(target, COMSIG_ATOM_UPDATE_ICON, PROC_REF(block_update_icon)) /datum/element/update_icon_blocker/proc/block_update_icon() SIGNAL_HANDLER diff --git a/code/datums/elements/update_icon_updates_onmob.dm b/code/datums/elements/update_icon_updates_onmob.dm index 7d1cb8d287d1..0ec9a472e64f 100644 --- a/code/datums/elements/update_icon_updates_onmob.dm +++ b/code/datums/elements/update_icon_updates_onmob.dm @@ -5,7 +5,7 @@ . = ..() if(!istype(target, /obj/item)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_ATOM_UPDATED_ICON, .proc/update_onmob) + RegisterSignal(target, COMSIG_ATOM_UPDATED_ICON, PROC_REF(update_onmob)) /datum/element/update_icon_updates_onmob/proc/update_onmob(obj/item/target) SIGNAL_HANDLER diff --git a/code/datums/elements/waddling.dm b/code/datums/elements/waddling.dm index 04a44d85f267..059546116461 100644 --- a/code/datums/elements/waddling.dm +++ b/code/datums/elements/waddling.dm @@ -5,9 +5,9 @@ if(!ismovable(target)) return ELEMENT_INCOMPATIBLE if(isliving(target)) - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/LivingWaddle) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(LivingWaddle)) else - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/Waddle) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(Waddle)) /datum/element/waddling/Detach(datum/source, force) . = ..() diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 445d795d0024..6fd41b9df929 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -241,7 +241,7 @@ /obj/item/disk/holodisk/Initialize(mapload) . = ..() if(preset_record_text) - INVOKE_ASYNC(src, .proc/build_record) + INVOKE_ASYNC(src, PROC_REF(build_record)) /obj/item/disk/holodisk/Destroy() QDEL_NULL(record) diff --git a/code/datums/hud.dm b/code/datums/hud.dm index abc82ea6806e..24865387794a 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -89,7 +89,7 @@ GLOBAL_LIST_INIT(huds, list( RegisterSignal(M, COMSIG_PARENT_QDELETING, PROC_REF(unregister_mob)) if(next_time_allowed[M] > world.time) if(!queued_to_see[M]) - addtimer(CALLBACK(src, .proc/show_hud_images_after_cooldown, M), next_time_allowed[M] - world.time) + addtimer(CALLBACK(src, PROC_REF(show_hud_images_after_cooldown), M), next_time_allowed[M] - world.time) queued_to_see[M] = TRUE else next_time_allowed[M] = world.time + ADD_HUD_TO_COOLDOWN diff --git a/code/datums/keybinding/carbon.dm b/code/datums/keybinding/carbon.dm index 29e53039fa86..568a56e368df 100644 --- a/code/datums/keybinding/carbon.dm +++ b/code/datums/keybinding/carbon.dm @@ -22,7 +22,7 @@ return TRUE /datum/keybinding/carbon/hold_throw_mode - hotkey_keys = list("Space") +// hotkey_keys = list("Space") name = "hold_throw_mode" full_name = "Hold throw mode" description = "Hold this to turn on throw mode, and release it to turn off throw mode" diff --git a/code/datums/keybinding/human.dm b/code/datums/keybinding/human.dm index 41b698059bb4..e4ce3478e73a 100644 --- a/code/datums/keybinding/human.dm +++ b/code/datums/keybinding/human.dm @@ -20,6 +20,22 @@ H.quick_equip() return TRUE +/datum/keybinding/human/unique_action + hotkey_keys = list("Space") + name = "unique_action" + full_name = "Perform unique action" + description = "" + keybind_signal = COMSIG_KB_HUMAN_UNIQUEACTION + + +/datum/keybinding/human/unique_action/down(client/user) + . = ..() + if(.) + return + var/mob/living/carbon/human/current_human = user.mob + current_human.do_unique_action() + return TRUE + /datum/keybinding/human/quick_equip_belt hotkey_keys = list("ShiftE") name = "quick_equip_belt" diff --git a/code/datums/looping_sounds/_looping_sound.dm b/code/datums/looping_sounds/_looping_sound.dm index c1fb10f75436..bb7a33846a34 100644 --- a/code/datums/looping_sounds/_looping_sound.dm +++ b/code/datums/looping_sounds/_looping_sound.dm @@ -82,7 +82,7 @@ if(!chance || prob(chance)) play(get_sound(starttime)) if(!timerid) - timerid = addtimer(CALLBACK(src, .proc/sound_loop, world.time), mid_length, TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_LOOP, SSsound_loops) + timerid = addtimer(CALLBACK(src, PROC_REF(sound_loop), world.time), mid_length, TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_LOOP, SSsound_loops) /datum/looping_sound/proc/play(soundfile, volume_override) var/list/atoms_cache = output_atoms @@ -107,7 +107,7 @@ if(start_sound) play(start_sound, start_volume) start_wait = start_length - addtimer(CALLBACK(src, .proc/sound_loop), start_wait, TIMER_CLIENT_TIME, SSsound_loops) + addtimer(CALLBACK(src, PROC_REF(sound_loop)), start_wait, TIMER_CLIENT_TIME, SSsound_loops) /datum/looping_sound/proc/on_stop() if(end_sound) diff --git a/code/datums/martial/plasma_fist.dm b/code/datums/martial/plasma_fist.dm index f07a9f8bd47a..320bb4022222 100644 --- a/code/datums/martial/plasma_fist.dm +++ b/code/datums/martial/plasma_fist.dm @@ -36,7 +36,7 @@ /datum/martial_art/plasma_fist/proc/Tornado(mob/living/carbon/human/A, mob/living/carbon/human/D) A.say("TORNADO SWEEP!", forced="plasma fist") - dance_rotate(A, CALLBACK(GLOBAL_PROC, .proc/playsound, A.loc, 'sound/weapons/punch1.ogg', 15, TRUE, -1)) + dance_rotate(A, CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), A.loc, 'sound/weapons/punch1.ogg', 15, TRUE, -1)) var/obj/effect/proc_holder/spell/aoe_turf/repulse/R = new(null) var/list/turfs = list() for(var/turf/T in range(1,A)) @@ -107,7 +107,7 @@ A.apply_damage(rand(50,70), BRUTE) - addtimer(CALLBACK(src,.proc/Apotheosis_end, A), 6 SECONDS) + addtimer(CALLBACK(src, PROC_REF(Apotheosis_end), A), 6 SECONDS) playsound(boomspot, 'sound/weapons/punch1.ogg', 50, TRUE, -1) explosion(boomspot,plasma_power,plasma_power*2,plasma_power*4,ignorecap = TRUE) plasma_power = 1 //just in case there is any clever way to cause it to happen again diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 01c7e93ba516..72d26cf74367 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -189,8 +189,8 @@ /obj/item/staff/bostaff/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /obj/item/staff/bostaff/ComponentInitialize() . = ..() diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm index b002de0abc61..e9d71398bda3 100644 --- a/code/datums/martial/wrestling.dm +++ b/code/datums/martial/wrestling.dm @@ -197,7 +197,7 @@ if (T && isturf(T)) if (!D.stat) D.emote("scream") - D.throw_at(T, 10, 4, A, TRUE, TRUE, callback = CALLBACK(D, /mob/living/carbon/human.proc/Paralyze, 20)) + D.throw_at(T, 10, 4, A, TRUE, TRUE, callback = CALLBACK(D, TYPE_PROC_REF(/mob/living/carbon/human, Paralyze), 20)) log_combat(A, D, "has thrown with wrestling") return 0 @@ -334,7 +334,7 @@ A.setDir(turn(A.dir, 90)) A.forceMove(D.loc) - addtimer(CALLBACK(src, .proc/CheckStrikeTurf, A, T), 4) + addtimer(CALLBACK(src, PROC_REF(CheckStrikeTurf), A, T), 4) D.visible_message("[A] headbutts [D]!", \ "You're headbutted by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) diff --git a/code/datums/materials/_material.dm b/code/datums/materials/_material.dm index 6d5c597c1ef4..79d3a5e68a89 100644 --- a/code/datums/materials/_material.dm +++ b/code/datums/materials/_material.dm @@ -65,7 +65,7 @@ Simple datum which is instanced once per type and is used for every object of sa source.name = "[name] [source.name]" if(beauty_modifier) - addtimer(CALLBACK(source, /datum.proc/_AddComponent, list(/datum/component/beauty, beauty_modifier * amount)), 0) + addtimer(CALLBACK(source, TYPE_PROC_REF(/datum, _AddComponent), list(/datum/component/beauty, beauty_modifier * amount)), 0) if(istype(source, /obj)) //objs on_applied_obj(source, amount, material_flags) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 1ef0c1d50f60..f6d61833814e 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -113,7 +113,7 @@ UnregisterSignal(src, COMSIG_PARENT_QDELETING) current = new_current if(current) - RegisterSignal(src, COMSIG_PARENT_QDELETING, .proc/clear_current) + RegisterSignal(src, COMSIG_PARENT_QDELETING, PROC_REF(clear_current)) /datum/mind/proc/clear_current(datum/source) SIGNAL_HANDLER @@ -155,7 +155,7 @@ transfer_antag_huds(hud_to_transfer) //inherit the antag HUD transfer_actions(new_character) transfer_martial_arts(new_character) - RegisterSignal(new_character, COMSIG_MOB_DEATH, .proc/set_death_time) + RegisterSignal(new_character, COMSIG_MOB_DEATH, PROC_REF(set_death_time)) if(active || force_key_move) new_character.key = key //now transfer the key to link the client to our new body if(new_character.client) @@ -284,7 +284,7 @@ var/datum/team/antag_team = A.get_team() if(antag_team) antag_team.add_member(src) - INVOKE_ASYNC(A, /datum/antagonist.proc/on_gain) + INVOKE_ASYNC(A, TYPE_PROC_REF(/datum/antagonist, on_gain)) log_game("[key_name(src)] has gained antag datum [A.name]([A.type])") return A @@ -762,7 +762,7 @@ continue S.charge_counter = delay S.updateButtonIcon() - INVOKE_ASYNC(S, /obj/effect/proc_holder/spell.proc/start_recharge) + INVOKE_ASYNC(S, TYPE_PROC_REF(/obj/effect/proc_holder/spell, start_recharge)) /datum/mind/proc/get_ghost(even_if_they_cant_reenter, ghosts_with_clients) for(var/mob/dead/observer/G in (ghosts_with_clients ? GLOB.player_list : GLOB.dead_mob_list)) diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm index e9ce07165326..5f873cf40ff8 100644 --- a/code/datums/mood_events/needs_events.dm +++ b/code/datums/mood_events/needs_events.dm @@ -1,8 +1,4 @@ //nutrition -/datum/mood_event/fat - description = "I'm so fat...\n" //muh fatshaming - mood_change = -6 - /datum/mood_event/wellfed description = "I'm stuffed!\n" mood_change = 8 diff --git a/code/datums/movement_detector.dm b/code/datums/movement_detector.dm index 109290a8a953..be36d62e6606 100644 --- a/code/datums/movement_detector.dm +++ b/code/datums/movement_detector.dm @@ -20,7 +20,7 @@ src.listener = listener while(ismovable(target)) - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/move_react) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(move_react)) target = target.loc /// Stops tracking @@ -49,7 +49,7 @@ if(tracked.loc != newturf) var/atom/target = mover.loc while(ismovable(target)) - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/move_react, TRUE) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(move_react), TRUE) target = target.loc listener.Invoke(tracked, mover, oldloc, direction) diff --git a/code/datums/mutations/_mutations.dm b/code/datums/mutations/_mutations.dm index 22cc860b2cb6..032e3ab8cc8d 100644 --- a/code/datums/mutations/_mutations.dm +++ b/code/datums/mutations/_mutations.dm @@ -50,7 +50,7 @@ . = ..() class = class_ if(timer) - addtimer(CALLBACK(src, .proc/remove), timer) + addtimer(CALLBACK(src, PROC_REF(remove)), timer) timed = TRUE if(copymut && istype(copymut, /datum/mutation/human)) copy_mutation(copymut) @@ -86,7 +86,7 @@ owner.apply_overlay(layer_used) grant_spell() //we do checks here so nothing about hulk getting magic if(!modified) - addtimer(CALLBACK(src, .proc/modify, 5)) //gonna want children calling ..() to run first + addtimer(CALLBACK(src, PROC_REF(modify), 5)) //gonna want children calling ..() to run first /datum/mutation/human/proc/get_visual_indicator() return diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm index 29abd2f0d10c..f2ffe7c25fd2 100644 --- a/code/datums/mutations/actions.dm +++ b/code/datums/mutations/actions.dm @@ -282,7 +282,7 @@ /obj/item/hardened_spike/Initialize(mapload, firedby) . = ..() fired_by = firedby - addtimer(CALLBACK(src, .proc/checkembedded), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(checkembedded)), 5 SECONDS) /obj/item/hardened_spike/proc/checkembedded() if(ishuman(loc)) diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index 08e8d59b0502..4b885412165a 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -15,7 +15,7 @@ owner.Unconscious(200 * GET_MUTATION_POWER(src)) owner.Jitter(1000 * GET_MUTATION_POWER(src)) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "epilepsy", /datum/mood_event/epilepsy) - addtimer(CALLBACK(src, .proc/jitter_less), 90) + addtimer(CALLBACK(src, PROC_REF(jitter_less)), 90) /datum/mutation/human/epilepsy/proc/jitter_less() if(owner) @@ -395,7 +395,7 @@ . = ..() if(.) return - RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/on_move) + RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) /datum/mutation/human/extrastun/on_losing() . = ..() @@ -426,7 +426,7 @@ . = ..() if(.) return TRUE - RegisterSignal(owner, COMSIG_MOB_STATCHANGE, .proc/bloody_shower) + RegisterSignal(owner, COMSIG_MOB_STATCHANGE, PROC_REF(bloody_shower)) /datum/mutation/human/martyrdom/on_losing() . = ..() @@ -484,7 +484,7 @@ head.drop_organs() qdel(head) owner.regenerate_icons() - RegisterSignal(owner, COMSIG_LIVING_ATTACH_LIMB, .proc/abortattachment) + RegisterSignal(owner, COMSIG_LIVING_ATTACH_LIMB, PROC_REF(abortattachment)) /datum/mutation/human/headless/on_losing() . = ..() diff --git a/code/datums/mutations/chameleon.dm b/code/datums/mutations/chameleon.dm index ab609b54cf2a..37da2f30b232 100644 --- a/code/datums/mutations/chameleon.dm +++ b/code/datums/mutations/chameleon.dm @@ -13,8 +13,8 @@ if(..()) return owner.alpha = CHAMELEON_MUTATION_DEFAULT_TRANSPARENCY - RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/on_move) - RegisterSignal(owner, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, .proc/on_attack_hand) + RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) + RegisterSignal(owner, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, PROC_REF(on_attack_hand)) /datum/mutation/human/chameleon/on_life() owner.alpha = max(0, owner.alpha - 25) diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm index 4526682c5eaa..707327f658be 100644 --- a/code/datums/mutations/hulk.dm +++ b/code/datums/mutations/hulk.dm @@ -23,8 +23,8 @@ ADD_TRAIT(owner, TRAIT_HULK, GENETIC_MUTATION) owner.update_body_parts() SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "hulk", /datum/mood_event/hulk) - RegisterSignal(owner, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, .proc/on_attack_hand) - RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(owner, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, PROC_REF(on_attack_hand)) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/mutation/human/hulk/proc/on_attack_hand(mob/living/carbon/human/source, atom/target, proximity) SIGNAL_HANDLER @@ -36,7 +36,7 @@ if(target.attack_hulk(owner)) if(world.time > (last_scream + scream_delay)) last_scream = world.time - INVOKE_ASYNC(src, .proc/scream_attack, source) + INVOKE_ASYNC(src, PROC_REF(scream_attack), source) log_combat(source, target, "punched", "hulk powers") source.do_attack_animation(target, ATTACK_EFFECT_SMASH) source.changeNext_move(CLICK_CD_MELEE) diff --git a/code/datums/mutations/sight.dm b/code/datums/mutations/sight.dm index d9b8cb18e13e..8fe2893f4de4 100644 --- a/code/datums/mutations/sight.dm +++ b/code/datums/mutations/sight.dm @@ -86,7 +86,7 @@ . = ..() if(.) return - RegisterSignal(H, COMSIG_MOB_ATTACK_RANGED, .proc/on_ranged_attack) + RegisterSignal(H, COMSIG_MOB_ATTACK_RANGED, PROC_REF(on_ranged_attack)) /datum/mutation/human/laser_eyes/on_losing(mob/living/carbon/human/H) . = ..() @@ -110,7 +110,7 @@ LE.firer = source LE.def_zone = ran_zone(source.zone_selected) LE.preparePixelProjectile(target, source, mouseparams) - INVOKE_ASYNC(LE, /obj/projectile.proc/fire) + INVOKE_ASYNC(LE, TYPE_PROC_REF(/obj/projectile, fire)) playsound(source, 'sound/weapons/taser2.ogg', 75, TRUE) ///Projectile type used by laser eyes diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index 17014b91530f..5545c4efde53 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -22,7 +22,7 @@ /datum/mutation/human/wacky/on_acquiring(mob/living/carbon/human/owner) if(..()) return - RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/mutation/human/wacky/on_losing(mob/living/carbon/human/owner) if(..()) @@ -78,7 +78,7 @@ /datum/mutation/human/swedish/on_acquiring(mob/living/carbon/human/owner) if(..()) return - RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/mutation/human/swedish/on_losing(mob/living/carbon/human/owner) if(..()) @@ -109,7 +109,7 @@ /datum/mutation/human/chav/on_acquiring(mob/living/carbon/human/owner) if(..()) return - RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/mutation/human/chav/on_losing(mob/living/carbon/human/owner) if(..()) @@ -166,7 +166,7 @@ /datum/mutation/human/elvis/on_acquiring(mob/living/carbon/human/owner) if(..()) return - RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/mutation/human/elvis/on_losing(mob/living/carbon/human/owner) if(..()) diff --git a/code/datums/mutations/telekinesis.dm b/code/datums/mutations/telekinesis.dm index beee7f3537ef..0ba690c8c0c9 100644 --- a/code/datums/mutations/telekinesis.dm +++ b/code/datums/mutations/telekinesis.dm @@ -17,7 +17,7 @@ . = ..() if(.) return - RegisterSignal(H, COMSIG_MOB_ATTACK_RANGED, .proc/on_ranged_attack) + RegisterSignal(H, COMSIG_MOB_ATTACK_RANGED, PROC_REF(on_ranged_attack)) /datum/mutation/human/telekinesis/on_losing(mob/living/carbon/human/H) . = ..() @@ -32,4 +32,4 @@ /datum/mutation/human/telekinesis/proc/on_ranged_attack(datum/source, atom/target) SIGNAL_HANDLER - INVOKE_ASYNC(target, /atom.proc/attack_tk, owner) + INVOKE_ASYNC(target, TYPE_PROC_REF(/atom, attack_tk), owner) diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm index 67051686b7d2..5ffa3778edc6 100644 --- a/code/datums/progressbar.dm +++ b/code/datums/progressbar.dm @@ -45,9 +45,9 @@ user_client = user.client add_prog_bar_image_to_client() - RegisterSignal(user, COMSIG_PARENT_QDELETING, .proc/on_user_delete) - RegisterSignal(user, COMSIG_MOB_LOGOUT, .proc/clean_user_client) - RegisterSignal(user, COMSIG_MOB_LOGIN, .proc/on_user_login) + RegisterSignal(user, COMSIG_PARENT_QDELETING, PROC_REF(on_user_delete)) + RegisterSignal(user, COMSIG_MOB_LOGOUT, PROC_REF(clean_user_client)) + RegisterSignal(user, COMSIG_MOB_LOGIN, PROC_REF(on_user_login)) /datum/progressbar/Destroy() diff --git a/code/datums/proximity_monitor/fields/timestop.dm b/code/datums/proximity_monitor/fields/timestop.dm index 06ed1f113311..40a8c1cc947b 100644 --- a/code/datums/proximity_monitor/fields/timestop.dm +++ b/code/datums/proximity_monitor/fields/timestop.dm @@ -33,7 +33,7 @@ if(G.summoner && locate(/obj/effect/proc_holder/spell/aoe_turf/timestop) in G.summoner.mind.spell_list) //It would only make sense that a person's stand would also be immune. immune[G] = TRUE if(start) - INVOKE_ASYNC(src, .proc/timestop) + INVOKE_ASYNC(src, PROC_REF(timestop)) /obj/effect/timestop/Destroy() QDEL_NULL(chronofield) @@ -105,8 +105,8 @@ A.move_resist = INFINITY global_frozen_atoms[A] = src into_the_negative_zone(A) - RegisterSignal(A, COMSIG_MOVABLE_PRE_MOVE, .proc/unfreeze_atom) - RegisterSignal(A, COMSIG_ITEM_PICKUP, .proc/unfreeze_atom) + RegisterSignal(A, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(unfreeze_atom)) + RegisterSignal(A, COMSIG_ITEM_PICKUP, PROC_REF(unfreeze_atom)) return TRUE diff --git a/code/datums/proximity_monitor/proximity_monitor.dm b/code/datums/proximity_monitor/proximity_monitor.dm index 6bc78a39c835..7ab65204b751 100644 --- a/code/datums/proximity_monitor/proximity_monitor.dm +++ b/code/datums/proximity_monitor/proximity_monitor.dm @@ -9,8 +9,8 @@ var/ignore_if_not_on_turf ///The signals of the connect range component, needed to monitor the turfs in range. var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, - COMSIG_ATOM_EXITED =.proc/on_uncrossed, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), + COMSIG_ATOM_EXITED = PROC_REF(on_uncrossed), ) /datum/proximity_monitor/New(atom/_host, range, _ignore_if_not_on_turf = TRUE) @@ -28,14 +28,14 @@ if(new_receiver) hasprox_receiver = new_receiver if(new_receiver != new_host) - RegisterSignal(new_receiver, COMSIG_PARENT_QDELETING, .proc/on_host_or_receiver_del) + RegisterSignal(new_receiver, COMSIG_PARENT_QDELETING, PROC_REF(on_host_or_receiver_del)) else if(hasprox_receiver == host) //Default case hasprox_receiver = new_host host = new_host - RegisterSignal(new_host, COMSIG_PARENT_QDELETING, .proc/on_host_or_receiver_del) - var/static/list/containers_connections = list(COMSIG_MOVABLE_MOVED = .proc/on_moved) + RegisterSignal(new_host, COMSIG_PARENT_QDELETING, PROC_REF(on_host_or_receiver_del)) + var/static/list/containers_connections = list(COMSIG_MOVABLE_MOVED = PROC_REF(on_moved)) AddComponent(/datum/component/connect_containers, host, containers_connections) - RegisterSignal(host, COMSIG_MOVABLE_MOVED, .proc/on_moved) + RegisterSignal(host, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) set_range(current_range, TRUE) /datum/proximity_monitor/proc/on_host_or_receiver_del(datum/source) diff --git a/code/datums/quixotejump.dm b/code/datums/quixotejump.dm index 98827a2a2df6..edc2b0c2192e 100644 --- a/code/datums/quixotejump.dm +++ b/code/datums/quixotejump.dm @@ -49,4 +49,4 @@ playsound(T, dash_sound, 25, TRUE) charges-- holder.update_action_buttons_icon() - addtimer(CALLBACK(src, .proc/charge), charge_rate) + addtimer(CALLBACK(src, PROC_REF(charge)), charge_rate) diff --git a/code/datums/ruins/beachplanet.dm b/code/datums/ruins/beachplanet.dm index f67112e4c52f..dae334aefae1 100644 --- a/code/datums/ruins/beachplanet.dm +++ b/code/datums/ruins/beachplanet.dm @@ -1,4 +1,4 @@ -// Hey! Listen! Update \config\beachruinblacklist.txt with your new ruins! +// Hey! Listen! Update _maps\map_catalogue.txt with your new ruins! /datum/map_template/ruin/beachplanet prefix = "_maps/RandomRuins/BeachRuins/" diff --git a/code/datums/ruins/icemoon.dm b/code/datums/ruins/icemoon.dm index afd841ff802e..a38ad6a1f86b 100644 --- a/code/datums/ruins/icemoon.dm +++ b/code/datums/ruins/icemoon.dm @@ -1,4 +1,4 @@ -// Hey! Listen! Update \config\iceruinblacklist.txt with your new ruins! +// Hey! Listen! Update _maps\map_catalogue.txt with your new ruins! /datum/map_template/ruin/icemoon prefix = "_maps/RandomRuins/IceRuins/" diff --git a/code/datums/ruins/jungle.dm b/code/datums/ruins/jungle.dm index b6147faac1cd..1f58dc96da67 100644 --- a/code/datums/ruins/jungle.dm +++ b/code/datums/ruins/jungle.dm @@ -1,4 +1,4 @@ -// Hey! Listen! Update \config\jungleruinblacklist.txt with your new ruins! +// Hey! Listen! Update _maps\map_catalogue.txt with your new ruins! /datum/map_template/ruin/jungle prefix = "_maps/RandomRuins/JungleRuins/" @@ -66,12 +66,6 @@ description = "An abandoned hangar containing exosuits." suffix = "jungle_hangar.dmm" -/datum/map_template/ruin/jungle/spider - name = "Jungle Spiders" - id = "spiderjungle" - description = "A genetic experiment gone wrong." - suffix = "jungle_spider.dmm" - /datum/map_template/ruin/jungle/pirate name = "Jungle Pirates" id = "piratejungle" diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index 13d884187ad9..0c46f33ccacb 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -1,4 +1,4 @@ -// Hey! Listen! Update \config\lavaruinblacklist.txt with your new ruins! +// Hey! Listen! Update _maps\map_catalogue.txt with your new ruins! /datum/map_template/ruin/lavaland prefix = "_maps/RandomRuins/LavaRuins/" diff --git a/code/datums/ruins/rockplanet.dm b/code/datums/ruins/rockplanet.dm index 5d8e74000564..b3d9276b827e 100644 --- a/code/datums/ruins/rockplanet.dm +++ b/code/datums/ruins/rockplanet.dm @@ -1,4 +1,4 @@ -// Hey! Listen! Update \config\rockruinblacklist.txt with your new ruins! +// Hey! Listen! Update _maps\map_catalogue.txt with your new ruins! /datum/map_template/ruin/rockplanet prefix = "_maps/RandomRuins/RockRuins/" @@ -12,12 +12,6 @@ description = "something dangerous" suffix = "rockplanet_heirophant.dmm" -/datum/map_template/ruin/rockplanet/clock - name = "Clockcult base" - id = "clockcultrock" - description = "the last remnants of a clockcult base on rockplanet." - suffix = "rockplanet_clock.dmm" - /datum/map_template/ruin/rockplanet/cult name = "Cult base" id = "rockcult" @@ -83,7 +77,7 @@ suffix = "rockplanet_saloon.dmm" /datum/map_template/ruin/rockplanet/harmfactory - name = "Harm factory" + name = "Harm Factory" description = "A factory made for HARM and AGONY." id = "rockplanet_harmfactory" suffix = "rockplanet_harmfactory.dmm" @@ -93,3 +87,9 @@ description = "Nanotrasen's gotta lay off some personnel, and this facility hasn't been worth the effort so far" id = "rockplanet_budgetcuts" suffix = "rockplanet_budgetcuts.dmm" + +/datum/map_template/ruin/rockplanet/nomadcrash + name = "Nomad Crash" + description = "A Crashed Arrow & Axe Interceptor. A long forgotten Crew. They tried their best to survive..." + id = "rockplanet_nomadcrash" + suffix = "rockplanet_nomadcrash.dmm" diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index 5aba2df7d5ce..ea5a6d0aa775 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -1,4 +1,4 @@ -// Hey! Listen! Update \config\spaceruinblacklist.txt with your new ruins! +// Hey! Listen! Update _maps\map_catalogue.txt with your new ruins! /datum/map_template/ruin/space prefix = "_maps/RandomRuins/SpaceRuins/" @@ -25,12 +25,6 @@ description = "A once-bustling tradestation that handled imports and exports from nearby stations now lays eerily dormant. \ The last received message was a distress call from one of the on-board officers, but we had no success in making contact again." -/datum/map_template/ruin/space/mech_transport - id = "mech-transport" - suffix = "mechtransport.dmm" - name = "CF Corsair" - description = "Well, when is it getting here? I have bills to pay; very well-armed clients who want their shipments as soon as possible! I don't care, just find it!" - /datum/map_template/ruin/space/onehalf id = "onehalf" suffix = "onehalf.dmm" @@ -66,12 +60,6 @@ description = "Pause and remember-- You are unique.You are special. Every mistake, trial, and hardship has helped to sculpt your real beauty. \ Stop hating yourself and start appreciating and loving yourself!" -/datum/map_template/ruin/space/gondoland - id = "gondolaasteroid" - suffix = "gondolaasteroid.dmm" - name = "Gondoland" - description = "Just an ordinary rock- wait, what's that thing?" - /datum/map_template/ruin/space/clericden id = "clericden" suffix = "clericden.dmm" @@ -139,12 +127,6 @@ name = "Fuel Depot" description = "An orbital refueling station with the remains of a ship lodged among the debris." -/datum/map_template/ruin/space/nuclear_dump - id = "radioactivedump" - suffix = "nuclear_dump.dmm" - name = "Nuclear Waste Dump" - description = "An abandoned nuclear waste disposal zone, a relic of old-age spaceflight and a death sentence to any who dare enter..." - /datum/map_template/ruin/space/ntfacility id = "ntfacility" suffix = "ntfacility.dmm" diff --git a/code/datums/ruins/wasteplanet.dm b/code/datums/ruins/wasteplanet.dm index 38c07d74cdfc..80bf701526be 100644 --- a/code/datums/ruins/wasteplanet.dm +++ b/code/datums/ruins/wasteplanet.dm @@ -1,4 +1,4 @@ -// Hey! Listen! Update \config\wasteruinblacklist.txt with your new ruins! +// Hey! Listen! Update _maps\map_catalogue.txt with your new ruins! /datum/map_template/ruin/wasteplanet prefix = "_maps/RandomRuins/WasteRuins/" diff --git a/code/datums/ruins/whitesands.dm b/code/datums/ruins/whitesands.dm index 062a64db559a..5615d5d72366 100644 --- a/code/datums/ruins/whitesands.dm +++ b/code/datums/ruins/whitesands.dm @@ -1,4 +1,4 @@ -// Hey! Listen! Update \config\sandruinblacklist.txt with your new ruins! +// Hey! Listen! Update _maps\map_catalogue.txt with your new ruins! /datum/map_template/ruin/whitesands prefix = "_maps/RandomRuins/SandRuins/" @@ -18,24 +18,12 @@ suffix = "whitesands_surface_starfurycrash.dmm" allow_duplicates = FALSE -/datum/map_template/ruin/whitesands/golem_hijack - name = "Crashed Golem Ship" - id = "golemcrash" - description = "The remains of a mysterious ship, inhabited by strange lizardpeople and golems of some sort. Who knows what happened here." - suffix = "whitesands_surface_golemhijack.dmm" - /datum/map_template/ruin/whitesands/medipen_plant name = "Abandoned Medipen Factory" id = "medipenplant" description = "A once prosperous autoinjector manufacturing plant." suffix = "whitesands_surface_medipen_plant.dmm" -/datum/map_template/ruin/whitesands/youreinsane - name = "Lost Engine" - id = "ws-youreinsane" - description = "Nanotrasen would like to remind all employees that the Pi\[REDACTED\]er is not real." - suffix = "whitesands_surface_youreinsane.dmm" - /datum/map_template/ruin/whitesands/assaultpodcrash name = "Crashed Syndicate Assault Drop Pod" id = "ws-assaultpodcrash" @@ -71,6 +59,7 @@ name = "Hermit Saloon" id = "ws-saloon" description = "A western style saloon, most popular spot for the hermits to gather planetside" + suffix = "whitesands_surface_camp_saloon.dmm" /datum/map_template/ruin/whitesands/survivors/combination //combined extra large ruin of several other whitesands survivor ruins (excludes the drugstore) name = "Wasteland Survivor Village" diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index 8dab6f74a8bd..c294d25dee10 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -315,58 +315,11 @@ /datum/map_template/shuttle/shiptest category = "shiptest" -/// Pirate ship templates -/datum/map_template/shuttle/pirate - category = "misc" - -/datum/map_template/shuttle/pirate/default - file_name = "pirate_default" - name = "pirate ship (Default)" - -/// Fugitive hunter ship templates -/datum/map_template/shuttle/hunter - category = "misc" - -/datum/map_template/shuttle/hunter/russian - file_name = "hunter_russian" - name = "Russian Cargo Ship" - -/datum/map_template/shuttle/hunter/bounty - file_name = "hunter_bounty" - name = "Bounty Hunter Ship" - /// Shuttles to be loaded in ruins /datum/map_template/shuttle/ruin category = "ruin" starting_funds = 0 -/datum/map_template/shuttle/ruin/caravan_victim - file_name = "ruin_caravan_victim" - name = "Small Freighter" - -/datum/map_template/shuttle/ruin/pirate_cutter - file_name = "ruin_pirate_cutter" - name = "Pirate Cutter" - -/datum/map_template/shuttle/ruin/syndicate_dropship - file_name = "ruin_syndicate_dropship" - name = "Syndicate Dropship" - -/datum/map_template/shuttle/ruin/syndicate_fighter_shiv - file_name = "ruin_syndicate_fighter_shiv" - name = "Syndicate Fighter" - -/datum/map_template/shuttle/ruin/solgov_exploration_pod - file_name = "ruin_solgov_exploration_pod" - name = "SolGov Exploration Pod" - -/datum/map_template/shuttle/ruin/syndicate_interceptor - file_name = "ruin_syndicate_interceptor" - name = "Syndicate Interceptor" - prefix = "SSV" - name_categories = list("WEAPONS") - short_name = "Dartbird" - //Subshuttles /datum/map_template/shuttle/subshuttles diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index becead47da9d..43c7bd3ab2ec 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -254,7 +254,7 @@ owner.add_stun_absorption("bloody bastard sword", duration, 2, "doesn't even flinch as the sword's power courses through them!", "You shrug off the stun!", " glowing with a blazing red aura!") owner.spin(duration,1) animate(owner, color = oldcolor, time = duration, easing = EASE_IN) - addtimer(CALLBACK(owner, /atom/proc/update_atom_colour), duration) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/atom, update_atom_colour)), duration) playsound(owner, 'sound/weapons/fwoosh.ogg', 75, FALSE) return ..() diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index fdc1710c9ea7..5932ee024359 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -508,7 +508,7 @@ /datum/status_effect/trance/on_apply() if(!iscarbon(owner)) return FALSE - RegisterSignal(owner, COMSIG_MOVABLE_HEAR, .proc/hypnotize) + RegisterSignal(owner, COMSIG_MOVABLE_HEAR, PROC_REF(hypnotize)) ADD_TRAIT(owner, TRAIT_MUTE, "trance") owner.add_client_colour(/datum/client_colour/monochrome) owner.visible_message("[stun ? "[owner] stands still as [owner.p_their()] eyes seem to focus on a distant point." : ""]", \ @@ -536,8 +536,8 @@ return var/mob/living/carbon/C = owner C.cure_trauma_type(/datum/brain_trauma/hypnosis, TRAUMA_RESILIENCE_SURGERY) //clear previous hypnosis - addtimer(CALLBACK(C, /mob/living/carbon.proc/gain_trauma, /datum/brain_trauma/hypnosis, TRAUMA_RESILIENCE_SURGERY, hearing_args[HEARING_RAW_MESSAGE]), 10) - addtimer(CALLBACK(C, /mob/living.proc/Stun, 60, TRUE, TRUE), 15) //Take some time to think about it + addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon, gain_trauma), /datum/brain_trauma/hypnosis, TRAUMA_RESILIENCE_SURGERY, hearing_args[HEARING_RAW_MESSAGE]), 10) + addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/living, Stun), 60, TRUE, TRUE), 15) //Take some time to think about it qdel(src) /datum/status_effect/spasms diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm index c52e3c731a4d..11037374b9b3 100644 --- a/code/datums/status_effects/gas.dm +++ b/code/datums/status_effects/gas.dm @@ -22,7 +22,7 @@ icon_state = "frozen" /datum/status_effect/freon/on_apply() - RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/owner_resist) + RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(owner_resist)) if(!owner.stat) to_chat(owner, "You become frozen in a cube!") cube = icon('icons/effects/freeze.dmi', "ice_cube") @@ -34,7 +34,7 @@ /datum/status_effect/freon/proc/owner_resist() SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/do_resist) + INVOKE_ASYNC(src, PROC_REF(do_resist)) /datum/status_effect/freon/proc/do_resist() to_chat(owner, "You start breaking out of the ice cube...") diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index 4952479fa635..76a33319631f 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -132,7 +132,7 @@ /datum/status_effect/bugged/on_apply(mob/living/new_owner, mob/living/tracker) . = ..() if (.) - RegisterSignal(new_owner, COMSIG_MOVABLE_HEAR, .proc/handle_hearing) + RegisterSignal(new_owner, COMSIG_MOVABLE_HEAR, PROC_REF(handle_hearing)) /datum/status_effect/bugged/on_remove() . = ..() @@ -210,9 +210,9 @@ qdel(src) return - RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/check_owner_in_range) - RegisterSignal(offered_item, list(COMSIG_PARENT_QDELETING, COMSIG_ITEM_DROPPED), .proc/dropped_item) - //RegisterSignal(owner, COMSIG_PARENT_EXAMINE_MORE, .proc/check_fake_out) + RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(check_owner_in_range)) + RegisterSignal(offered_item, list(COMSIG_PARENT_QDELETING, COMSIG_ITEM_DROPPED), PROC_REF(dropped_item)) + //RegisterSignal(owner, COMSIG_PARENT_EXAMINE_MORE, PROC_REF(check_fake_out)) /datum/status_effect/offering/Destroy() for(var/i in possible_takers) @@ -227,7 +227,7 @@ if(!G) return LAZYADD(possible_takers, possible_candidate) - RegisterSignal(possible_candidate, COMSIG_MOVABLE_MOVED, .proc/check_taker_in_range) + RegisterSignal(possible_candidate, COMSIG_MOVABLE_MOVED, PROC_REF(check_taker_in_range)) G.setup(possible_candidate, owner, offered_item) /// Remove the alert and signals for the specified carbon mob. Automatically removes the status effect when we lost the last taker diff --git a/code/datums/tgs_event_handler.dm b/code/datums/tgs_event_handler.dm index 434450b9bec5..55c7c6427749 100644 --- a/code/datums/tgs_event_handler.dm +++ b/code/datums/tgs_event_handler.dm @@ -23,7 +23,7 @@ to_chat(world, "Server updated, changes will be applied on the next round...") if(TGS_EVENT_WATCHDOG_DETACH) message_admins("TGS restarting...") - reattach_timer = addtimer(CALLBACK(src, .proc/LateOnReattach), 1 MINUTES) + reattach_timer = addtimer(CALLBACK(src, PROC_REF(LateOnReattach)), 1 MINUTES) if(TGS_EVENT_WATCHDOG_REATTACH) var/datum/tgs_version/old_version = world.TgsVersion() var/datum/tgs_version/new_version = args[2] diff --git a/code/datums/traits/_quirk.dm b/code/datums/traits/_quirk.dm index bd4f5982901d..47e45a42aa67 100644 --- a/code/datums/traits/_quirk.dm +++ b/code/datums/traits/_quirk.dm @@ -31,7 +31,7 @@ if(quirk_holder.client) post_add() else - RegisterSignal(quirk_holder, COMSIG_MOB_LOGIN, .proc/on_quirk_holder_first_login) + RegisterSignal(quirk_holder, COMSIG_MOB_LOGIN, PROC_REF(on_quirk_holder_first_login)) /** diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index c8e3b582511d..dccd4e87877d 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -447,8 +447,8 @@ var/dumb_thing = TRUE /datum/quirk/social_anxiety/add() - RegisterSignal(quirk_holder, COMSIG_MOB_EYECONTACT, .proc/eye_contact) - RegisterSignal(quirk_holder, COMSIG_MOB_EXAMINATE, .proc/looks_at_floor) + RegisterSignal(quirk_holder, COMSIG_MOB_EYECONTACT, PROC_REF(eye_contact)) + RegisterSignal(quirk_holder, COMSIG_MOB_EXAMINATE, PROC_REF(looks_at_floor)) /datum/quirk/social_anxiety/remove() if(quirk_holder) @@ -479,7 +479,7 @@ if(prob(85) || (istype(mind_check) && mind_check.mind)) return - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, quirk_holder, "You make eye contact with [A]."), 3) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), quirk_holder, "You make eye contact with [A]."), 3) /datum/quirk/social_anxiety/proc/eye_contact(datum/source, mob/living/other_mob, triggering_examiner) SIGNAL_HANDLER @@ -504,7 +504,7 @@ msg += "causing you to freeze up!" SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, "anxiety_eyecontact", /datum/mood_event/anxiety_eyecontact) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, quirk_holder, "[msg]"), 3) // so the examine signal has time to fire and this will print after + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), quirk_holder, "[msg]"), 3) // so the examine signal has time to fire and this will print after return COMSIG_BLOCK_EYECONTACT /datum/mood_event/anxiety_eyecontact @@ -634,7 +634,7 @@ mood_quirk = TRUE /datum/quirk/bad_touch/add() - RegisterSignal(quirk_holder, list(COMSIG_LIVING_GET_PULLED, COMSIG_CARBON_HUGGED, COMSIG_CARBON_HEADPAT), .proc/uncomfortable_touch) + RegisterSignal(quirk_holder, list(COMSIG_LIVING_GET_PULLED, COMSIG_CARBON_HUGGED, COMSIG_CARBON_HEADPAT), PROC_REF(uncomfortable_touch)) /datum/quirk/bad_touch/remove() if(quirk_holder) diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index 0705a2837b6e..b92a3d137dc9 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -185,8 +185,8 @@ old_hair = H.hairstyle H.hairstyle = "Bald" H.update_hair() - RegisterSignal(H, COMSIG_CARBON_EQUIP_HAT, .proc/equip_hat) - RegisterSignal(H, COMSIG_CARBON_UNEQUIP_HAT, .proc/unequip_hat) + RegisterSignal(H, COMSIG_CARBON_EQUIP_HAT, PROC_REF(equip_hat)) + RegisterSignal(H, COMSIG_CARBON_UNEQUIP_HAT, PROC_REF(unequip_hat)) /datum/quirk/bald/remove() if(quirk_holder) diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm index 142bda8a9572..e3b6f98329f5 100644 --- a/code/datums/weather/weather.dm +++ b/code/datums/weather/weather.dm @@ -164,7 +164,7 @@ to_chat(M, telegraph_message) if(telegraph_sound) SEND_SOUND(M, sound(telegraph_sound)) - addtimer(CALLBACK(src, .proc/start), telegraph_duration) + addtimer(CALLBACK(src, PROC_REF(start)), telegraph_duration) if(sound_active_outside) sound_active_outside.output_atoms = outside_areas @@ -196,7 +196,7 @@ to_chat(M, weather_message) if(weather_sound) SEND_SOUND(M, sound(weather_sound)) - addtimer(CALLBACK(src, .proc/wind_down), weather_duration) + addtimer(CALLBACK(src, PROC_REF(wind_down)), weather_duration) if(sound_weak_outside) sound_weak_outside.stop() @@ -226,7 +226,7 @@ to_chat(M, end_message) if(end_sound) SEND_SOUND(M, sound(end_sound)) - addtimer(CALLBACK(src, .proc/end), end_duration) + addtimer(CALLBACK(src, PROC_REF(end)), end_duration) if(sound_active_outside) sound_active_outside.stop() diff --git a/code/datums/wires/_wires.dm b/code/datums/wires/_wires.dm index 3562dc5d6dbb..e6db7790fd67 100644 --- a/code/datums/wires/_wires.dm +++ b/code/datums/wires/_wires.dm @@ -37,7 +37,7 @@ CRASH("Wire holder is not of the expected type!") src.holder = holder - RegisterSignal(holder, COMSIG_PARENT_QDELETING, .proc/on_holder_qdel) + RegisterSignal(holder, COMSIG_PARENT_QDELETING, PROC_REF(on_holder_qdel)) if(randomize) randomize() else diff --git a/code/datums/wires/airalarm.dm b/code/datums/wires/airalarm.dm index 6afccd547660..8297c2ab233c 100644 --- a/code/datums/wires/airalarm.dm +++ b/code/datums/wires/airalarm.dm @@ -31,13 +31,13 @@ if(!A.shorted) A.shorted = TRUE A.update_appearance() - addtimer(CALLBACK(A, /obj/machinery/airalarm.proc/reset, wire), 1200) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/airalarm, reset), wire), 1200) if(WIRE_IDSCAN) // Toggle lock. A.locked = !A.locked if(WIRE_AI) // Disable AI control for a while. if(!A.aidisabled) A.aidisabled = TRUE - addtimer(CALLBACK(A, /obj/machinery/airalarm.proc/reset, wire), 100) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/airalarm, reset), wire), 100) if(WIRE_PANIC) // Toggle panic siphon. if(!A.shorted) if(A.mode == 1) // AALARM_MODE_SCRUB diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index c9e969a8ebd0..14e2d4f2ba1f 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -63,9 +63,9 @@ return if(!A.requiresID() || A.check_access(null)) if(A.density) - INVOKE_ASYNC(A, /obj/machinery/door/airlock.proc/open) + INVOKE_ASYNC(A, TYPE_PROC_REF(/obj/machinery/door/airlock, open)) else - INVOKE_ASYNC(A, /obj/machinery/door/airlock.proc/close) + INVOKE_ASYNC(A, TYPE_PROC_REF(/obj/machinery/door/airlock, close)) if(WIRE_BOLTS) // Pulse to toggle bolts (but only raise if power is on). if(!A.locked) A.bolt() @@ -84,7 +84,7 @@ A.aiControlDisabled = AI_WIRE_DISABLED else if(A.aiControlDisabled == AI_WIRE_DISABLED_HACKED) A.aiControlDisabled = AI_WIRE_HACKED - addtimer(CALLBACK(A, /obj/machinery/door/airlock.proc/reset_ai_wire), 1 SECONDS) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/door/airlock, reset_ai_wire)), 1 SECONDS) if(WIRE_SHOCK) // Pulse to shock the door for 10 ticks. if(!A.secondsElectrified) A.set_electrified(MACHINE_DEFAULT_ELECTRIFY_TIME, usr) diff --git a/code/datums/wires/airlock_cycle.dm b/code/datums/wires/airlock_cycle.dm index a1f942dab2e9..318eaa6e0231 100644 --- a/code/datums/wires/airlock_cycle.dm +++ b/code/datums/wires/airlock_cycle.dm @@ -30,13 +30,13 @@ if(!A.shorted) A.shorted = TRUE A.update_appearance() - addtimer(CALLBACK(A, /obj/machinery/advanced_airlock_controller.proc/reset, wire), 1200) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/advanced_airlock_controller, reset), wire), 1200) if(WIRE_IDSCAN) // Toggle lock. A.locked = !A.locked if(WIRE_AI) // Disable AI control for a while. if(!A.aidisabled) A.aidisabled = TRUE - addtimer(CALLBACK(A, /obj/machinery/advanced_airlock_controller.proc/reset, wire), 100) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/advanced_airlock_controller, reset), wire), 100) /datum/wires/advanced_airlock_controller/on_cut(wire, mend) var/obj/machinery/advanced_airlock_controller/A = holder diff --git a/code/datums/wires/apc.dm b/code/datums/wires/apc.dm index 933b9aae0222..a6a18c6d8d1c 100644 --- a/code/datums/wires/apc.dm +++ b/code/datums/wires/apc.dm @@ -29,14 +29,14 @@ if(WIRE_POWER1, WIRE_POWER2) // Short for a long while. if(!A.shorted) A.shorted = TRUE - addtimer(CALLBACK(A, /obj/machinery/power/apc.proc/reset, wire), 1200) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, reset), wire), 1200) if(WIRE_IDSCAN) // Unlock for a little while. A.locked = FALSE - addtimer(CALLBACK(A, /obj/machinery/power/apc.proc/reset, wire), 300) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, reset), wire), 300) if(WIRE_AI) // Disable AI control for a very short time. if(!A.aidisabled) A.aidisabled = TRUE - addtimer(CALLBACK(A, /obj/machinery/power/apc.proc/reset, wire), 10) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, reset), wire), 10) /datum/wires/apc/on_cut(index, mend) var/obj/machinery/power/apc/A = holder diff --git a/code/datums/wires/autolathe.dm b/code/datums/wires/autolathe.dm index c14c18887a82..8f9fbc16033a 100644 --- a/code/datums/wires/autolathe.dm +++ b/code/datums/wires/autolathe.dm @@ -27,13 +27,13 @@ switch(wire) if(WIRE_HACK) A.adjust_hacked(!A.hacked) - addtimer(CALLBACK(A, /obj/machinery/autolathe.proc/reset, wire), 60) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe, reset), wire), 60) if(WIRE_SHOCK) A.shocked = !A.shocked - addtimer(CALLBACK(A, /obj/machinery/autolathe.proc/reset, wire), 60) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe, reset), wire), 60) if(WIRE_DISABLE) A.disabled = !A.disabled - addtimer(CALLBACK(A, /obj/machinery/autolathe.proc/reset, wire), 60) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe, reset), wire), 60) /datum/wires/autolathe/on_cut(wire, mend) var/obj/machinery/autolathe/A = holder diff --git a/code/datums/wires/shieldwallgen.dm b/code/datums/wires/shieldwallgen.dm index 58c52970c8e5..618e9871c031 100644 --- a/code/datums/wires/shieldwallgen.dm +++ b/code/datums/wires/shieldwallgen.dm @@ -28,7 +28,7 @@ switch(wire) if(WIRE_SHOCK) generator.shocked = !generator.shocked - addtimer(CALLBACK(generator, /obj/machinery/autolathe.proc/reset, wire), 60) + addtimer(CALLBACK(generator, TYPE_PROC_REF(/obj/machinery/autolathe, reset), wire), 60) if(WIRE_ACTIVATE) generator.toggle() if(WIRE_DISABLE) diff --git a/code/game/MapData/shuttles/srm_glaive.dm b/code/game/MapData/shuttles/srm_glaive.dm index 738bebeda36b..a40e9bd426c1 100644 --- a/code/game/MapData/shuttles/srm_glaive.dm +++ b/code/game/MapData/shuttles/srm_glaive.dm @@ -91,10 +91,6 @@ ) generate_items_inside(items_inside, src) -/obj/structure/flora/tree/chapel/srm - name = "Montagne's Oak" - desc = "A sturdy oak tree imported directly from the homeworld of the Montagne who runs the ship it resides on. It is planted in soil from the same place." - /obj/item/book/manual/srmlore name = "Notes on the SRM" icon_state = "book5" diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index b7d13f80d70e..35712cb768ae 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -318,7 +318,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) if(D.operating) D.nextstate = opening ? FIREDOOR_OPEN : FIREDOOR_CLOSED else if(!(D.density ^ opening) && !D.is_holding_pressure()) - INVOKE_ASYNC(D, (opening ? /obj/machinery/door/firedoor.proc/open : /obj/machinery/door/firedoor.proc/close)) + INVOKE_ASYNC(D, (opening ? TYPE_PROC_REF(/obj/machinery/door/firedoor, open) : TYPE_PROC_REF(/obj/machinery/door/firedoor, close))) /** * Generate an firealarm alert for this area @@ -435,7 +435,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) var/mob/living/silicon/SILICON = i if(SILICON.triggerAlarm("Burglar", src, cameras, trigger)) //Cancel silicon alert after 1 minute - addtimer(CALLBACK(SILICON, /mob/living/silicon.proc/cancelAlarm,"Burglar",src,trigger), 600) + addtimer(CALLBACK(SILICON, TYPE_PROC_REF(/mob/living/silicon, cancelAlarm),"Burglar",src,trigger), 600) /** * Trigger the fire alarm visual affects in an area diff --git a/code/game/area/areas/ruins/lavaland.dm b/code/game/area/areas/ruins/lavaland.dm index 645d98fc8f58..e9dc0b9fda0a 100644 --- a/code/game/area/areas/ruins/lavaland.dm +++ b/code/game/area/areas/ruins/lavaland.dm @@ -60,42 +60,6 @@ name = "Cult Altar" ambientsounds = SPOOKY -//Syndicate lavaland base - -/area/ruin/unpowered/syndicate_lava_base/engineering - name = "Syndicate Lavaland Engineering" - -/area/ruin/unpowered/syndicate_lava_base/medbay - name = "Syndicate Lavaland Medbay" - -/area/ruin/unpowered/syndicate_lava_base/arrivals - name = "Syndicate Lavaland Arrivals" - -/area/ruin/unpowered/syndicate_lava_base/bar - name = "Syndicate Lavaland Bar" - -/area/ruin/unpowered/syndicate_lava_base/main - name = "Syndicate Lavaland Primary Hallway" - area_flags = HIDDEN_AREA | BLOBS_ALLOWED | UNIQUE_AREA // WS edit - Fix various startup runtimes - -/area/ruin/unpowered/syndicate_lava_base/cargo - name = "Syndicate Lavaland Cargo Bay" - -/area/ruin/unpowered/syndicate_lava_base/chemistry - name = "Syndicate Lavaland Chemistry" - -/area/ruin/unpowered/syndicate_lava_base/virology - name = "Syndicate Lavaland Virology" - -/area/ruin/unpowered/syndicate_lava_base/testlab - name = "Syndicate Lavaland Experimentation Lab" - -/area/ruin/unpowered/syndicate_lava_base/dormitories - name = "Syndicate Lavaland Dormitories" - -/area/ruin/unpowered/syndicate_lava_base/telecomms - name = "Syndicate Lavaland Telecommunications" - //Xeno Nest /area/ruin/unpowered/xenonest diff --git a/code/game/area/areas/ruins/rockplanet.dm b/code/game/area/areas/ruins/rockplanet.dm index cabadd3f252d..a869f0c53816 100644 --- a/code/game/area/areas/ruins/rockplanet.dm +++ b/code/game/area/areas/ruins/rockplanet.dm @@ -1,7 +1,17 @@ /**********************Rock Planet Areas**************************/ -/area/mine/rockplanet +//syndicate +/area/ruin/rockplanet/syndicate name = "Abandoned Syndicate Mining Facility" + icon_state = "green" -/area/mine/rockplanet_nanotrasen +//budgetcuts +/area/ruin/rockplanet/nanotrasen name = "Abandoned Mining Facility" + icon_state = "green" + +//nomad +/area/ruin/rockplanet/nomad + name = "Abandoned Crash Site" + always_unpowered = FALSE + icon_state = "red" diff --git a/code/game/area/areas/ruins/space.dm b/code/game/area/areas/ruins/space.dm index 769c509734bd..6bda9781b500 100644 --- a/code/game/area/areas/ruins/space.dm +++ b/code/game/area/areas/ruins/space.dm @@ -56,19 +56,6 @@ name = "Derelict Outpost Docked Ship" icon_state = "red" -//Ruin of mech transport - -/area/ruin/space/has_grav/powered/mechtransport - name = "Mech Transport" - icon_state = "green" - - -//Ruin of gas the lizard - -/area/ruin/space/has_grav/gasthelizard - name = "Gas the lizard" - - //Ruin of Deep Storage /area/ruin/space/has_grav/deepstorage @@ -366,16 +353,6 @@ name = "Mac Space Restaurant" icon_state = "yellow" -//NUCLEAR DUMP -- this ruin uses an area from power puzzle, for whatever reason. added new areas, for now. - -/area/ruin/space/has_grav/nucleardump - name = "Hallway" - icon_state = "hallC" - -/area/ruin/space/has_grav/nucleardump/supermatter - name = "Supermatter Chamber" - icon_state = "red" - //POWER PUZZLE /area/ruin/space/has_grav/powerpuzzle diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 084736fb7069..350b80907f70 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -156,6 +156,10 @@ ///Default Y pixel offset var/base_pixel_y + ///Wanted sound when hit by a projectile + var/hitsound_type = PROJECTILE_HITSOUND_NON_LIVING + ///volume wanted for being hit + var/hitsound_volume = 50 /** * Called when an atom is created in byond (built in engine proc) * @@ -587,6 +591,33 @@ SEND_SIGNAL(src, COMSIG_ATOM_BULLET_ACT, P, def_zone) . = P.on_hit(src, 0, def_zone, piercing_hit) +/atom/proc/bullet_hit_sfx(obj/projectile/hitting_projectile) + var/selected_sound = "" + + if(!hitsound_volume) + return FALSE + if(!hitsound_volume) + return FALSE + + switch(hitsound_type) + if(PROJECTILE_HITSOUND_FLESH) + selected_sound = hitting_projectile.hitsound + if(PROJECTILE_HITSOUND_NON_LIVING) + selected_sound = hitting_projectile.hitsound_non_living + if(PROJECTILE_HITSOUND_GLASS) + selected_sound = hitting_projectile.hitsound_glass + if(PROJECTILE_HITSOUND_STONE) + selected_sound = hitting_projectile.hitsound_stone + if(PROJECTILE_HITSOUND_METAL) + selected_sound = hitting_projectile.hitsound_metal + if(PROJECTILE_HITSOUND_WOOD) + selected_sound = hitting_projectile.hitsound_wood + if(PROJECTILE_HITSOUND_SNOW) + selected_sound = hitting_projectile.hitsound_snow + + playsound(src, selected_sound, hitsound_volume, TRUE) + return TRUE + ///Return true if we're inside the passed in atom /atom/proc/in_contents_of(container)//can take class or object instance as argument if(ispath(container)) @@ -780,7 +811,7 @@ */ /atom/proc/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) if(density && !has_gravity(AM)) //thrown stuff bounces off dense stuff in no grav, unless the thrown stuff ends up inside what it hit(embedding, bola, etc...). - addtimer(CALLBACK(src, .proc/hitby_react, AM), 2) + addtimer(CALLBACK(src, PROC_REF(hitby_react), AM), 2) /** * We have have actually hit the passed in atom @@ -944,7 +975,7 @@ var/list/things = src_object.contents() var/datum/progressbar/progress = new(user, things.len, src) var/datum/component/storage/STR = GetComponent(/datum/component/storage) - while (do_after(user, 10, TRUE, src, FALSE, CALLBACK(STR, /datum/component/storage.proc/handle_mass_item_insertion, things, src_object, user, progress))) + while (do_after(user, 10, TRUE, src, FALSE, CALLBACK(STR, TYPE_PROC_REF(/datum/component/storage, handle_mass_item_insertion), things, src_object, user, progress))) stoplag(1) progress.end_progress() to_chat(user, "You dump as much of [src_object.parent]'s contents [STR.insert_preposition]to [src] as you can.") diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 7471c3514881..54ac77bb0a8c 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -167,7 +167,7 @@ if(isobj(A) || ismob(A)) if(A.layer > highest.layer) highest = A - INVOKE_ASYNC(src, .proc/SpinAnimation, 5, 2) + INVOKE_ASYNC(src, PROC_REF(SpinAnimation), 5, 2) throw_impact(highest) return TRUE diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index a690a9317670..fe95ea3c5988 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -157,7 +157,7 @@ slipper.Slip(src, hit_atom) var/mob/thrown_by = thrownby?.resolve() if(thrown_by && !caught) - addtimer(CALLBACK(src, /atom/movable.proc/throw_at, thrown_by, throw_range+2, throw_speed, null, TRUE), 1) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable, throw_at), thrown_by, throw_range+2, throw_speed, null, TRUE), 1) else return ..() @@ -217,7 +217,7 @@ /obj/item/clothing/mask/fakemoustache/sticky/Initialize() . = ..() ADD_TRAIT(src, TRAIT_NODROP, STICKY_MOUSTACHE_TRAIT) - addtimer(CALLBACK(src, .proc/unstick), unstick_time) + addtimer(CALLBACK(src, PROC_REF(unstick)), unstick_time) /obj/item/clothing/mask/fakemoustache/sticky/proc/unstick() REMOVE_TRAIT(src, TRAIT_NODROP, STICKY_MOUSTACHE_TRAIT) diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index 81cd538a7e45..78f19dbf1a89 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -367,7 +367,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) /datum/game_mode/dynamic/post_setup(report) for(var/datum/dynamic_ruleset/roundstart/rule in executed_rules) rule.candidates.Cut() // The rule should not use candidates at this point as they all are null. - addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/execute_roundstart_rule, rule), rule.delay) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/game_mode/dynamic, execute_roundstart_rule), rule), rule.delay) ..() /// A simple roundstart proc used when dynamic_forced_roundstart_ruleset has rules in it. @@ -540,7 +540,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) else if(rule.ruletype == "Midround") midround_rules = remove_from_list(midround_rules, rule.type) - addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/execute_midround_latejoin_rule, rule), rule.delay) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/game_mode/dynamic, execute_midround_latejoin_rule), rule), rule.delay) return TRUE /// An experimental proc to allow admins to call rules on the fly or have rules call other rules. diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 53f6f85f71b5..391ad852664f 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -110,7 +110,7 @@ query_round_game_mode.Execute() qdel(query_round_game_mode) if(report) - addtimer(CALLBACK(src, .proc/send_intercept, 0), rand(waittime_l, waittime_h)) + addtimer(CALLBACK(src, PROC_REF(send_intercept), 0), rand(waittime_l, waittime_h)) generate_station_goals() gamemode_ready = TRUE return 1 diff --git a/code/game/gamemodes/sandbox/airlock_maker.dm b/code/game/gamemodes/sandbox/airlock_maker.dm index da1db44bb251..17f6f474e5ea 100644 --- a/code/game/gamemodes/sandbox/airlock_maker.dm +++ b/code/game/gamemodes/sandbox/airlock_maker.dm @@ -16,7 +16,7 @@ /obj/structure/door_assembly/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, .proc/can_be_rotated)) + AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated))) /obj/structure/door_assembly/proc/can_be_rotated(mob/user, rotation_type) return !anchored diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index b46449a43748..1aaf853fc000 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -90,7 +90,7 @@ /datum/game_mode/traitor/post_setup() for(var/datum/mind/traitor in pre_traitors) var/datum/antagonist/traitor/new_antag = new antag_datum() - addtimer(CALLBACK(traitor, /datum/mind.proc/add_antag_datum, new_antag), rand(10,100)) + addtimer(CALLBACK(traitor, TYPE_PROC_REF(/datum/mind, add_antag_datum), new_antag), rand(10,100)) GLOB.pre_setup_antags -= traitor if(!exchange_blue) exchange_blue = -1 //Block latejoiners from getting exchange objectives diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index bc793eb60d82..c81a58ad73b9 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -95,6 +95,8 @@ Class Procs: anchored = TRUE interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_UI_INTERACT + hitsound_type = PROJECTILE_HITSOUND_METAL + var/machine_stat = NONE var/use_power = IDLE_POWER_USE //0 = dont run the auto @@ -138,7 +140,7 @@ Class Procs: armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70) . = ..() GLOB.machines += src - RegisterSignal(src, COMSIG_MOVABLE_Z_CHANGED, .proc/power_change) + RegisterSignal(src, COMSIG_MOVABLE_Z_CHANGED, PROC_REF(power_change)) if(ispath(circuit, /obj/item/circuitboard)) circuit = new circuit if(mapload || apply_default_parts) @@ -165,7 +167,7 @@ Class Procs: /obj/machinery/LateInitialize() . = ..() power_change() - RegisterSignal(src, COMSIG_ENTER_AREA, .proc/power_change) + RegisterSignal(src, COMSIG_ENTER_AREA, PROC_REF(power_change)) /obj/machinery/Destroy() GLOB.machines.Remove(src) @@ -519,7 +521,7 @@ Class Procs: I.play_tool_sound(src, 50) var/prev_anchored = anchored //as long as we're the same anchored state and we're either on a floor or are anchored, toggle our anchored state - if(I.use_tool(src, user, time, extra_checks = CALLBACK(src, .proc/unfasten_wrench_check, prev_anchored, user))) + if(I.use_tool(src, user, time, extra_checks = CALLBACK(src, PROC_REF(unfasten_wrench_check), prev_anchored, user))) if(!anchored && ground.is_blocked_turf(exclude_mobs = TRUE, source_atom = src)) to_chat(user, "You fail to secure [src].") return CANT_UNFASTEN diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index eb46da7f568b..0423794a560d 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -42,4 +42,4 @@ to_chat(user, "You activate [src]. It now has [uses] uses of foam remaining.") cooldown = world.time + cooldown_time power_change() - addtimer(CALLBACK(src, .proc/power_change), cooldown_time) + addtimer(CALLBACK(src, PROC_REF(power_change)), cooldown_time) diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm index 9a3f470fe99d..67d1e1f4a07f 100644 --- a/code/game/machinery/airlock_control.dm +++ b/code/game/machinery/airlock_control.dm @@ -110,10 +110,6 @@ id_tag = INCINERATOR_ATMOS_AIRLOCK_SENSOR master_tag = INCINERATOR_ATMOS_AIRLOCK_CONTROLLER -/obj/machinery/airlock_sensor/incinerator_syndicatelava - id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_SENSOR - master_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER - /obj/machinery/airlock_sensor/update_icon_state() if(!on) icon_state = "[base_icon_state]_off" diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index b6fb1f27f5a1..5f8412ff25a3 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -49,7 +49,7 @@ ) /obj/machinery/autolathe/Initialize() - AddComponent(/datum/component/material_container,list(/datum/material/iron, /datum/material/glass, /datum/material/plastic, /datum/material/silver, /datum/material/gold, /datum/material/plasma, /datum/material/uranium, /datum/material/titanium), 0, TRUE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) + AddComponent(/datum/component/material_container,list(/datum/material/iron, /datum/material/glass, /datum/material/plastic, /datum/material/silver, /datum/material/gold, /datum/material/plasma, /datum/material/uranium, /datum/material/titanium), 0, TRUE, null, null, CALLBACK(src, PROC_REF(AfterMaterialInsert))) . = ..() wires = new /datum/wires/autolathe(src) @@ -251,7 +251,7 @@ use_power(power) icon_state = "autolathe_n" var/time = is_stack ? 32 : (32 * coeff * multiplier) ** 0.8 - addtimer(CALLBACK(src, .proc/make_item, power, materials_used, custom_materials, multiplier, coeff, is_stack, usr), time) + addtimer(CALLBACK(src, PROC_REF(make_item), power, materials_used, custom_materials, multiplier, coeff, is_stack, usr), time) . = TRUE else to_chat(usr, "Not enough materials for this operation.") diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 3e04893bf8a9..1a89a2b011cc 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -181,7 +181,7 @@ device.pulsed() SEND_GLOBAL_SIGNAL(COMSIG_GLOB_BUTTON_PRESSED,src) - addtimer(CALLBACK(src, /atom/.proc/update_appearance), 15) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), 15) /obj/machinery/button/door name = "door button" @@ -220,15 +220,6 @@ id = INCINERATOR_ATMOS_AUXVENT req_one_access = list(ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS) -/obj/machinery/button/door/incinerator_vent_syndicatelava_main - name = "turbine vent control" - id = INCINERATOR_SYNDICATELAVA_MAINVENT - req_access = list(ACCESS_SYNDICATE) - -/obj/machinery/button/door/incinerator_vent_syndicatelava_aux - name = "Combustion Chamber Vent control" - id = INCINERATOR_SYNDICATELAVA_AUXVENT - req_access = list(ACCESS_SYNDICATE) /obj/machinery/button/massdriver name = "mass driver button" @@ -260,9 +251,6 @@ /obj/machinery/button/ignition/incinerator/atmos id = INCINERATOR_ATMOS_IGNITER -/obj/machinery/button/ignition/incinerator/syndicatelava - id = INCINERATOR_SYNDICATELAVA_IGNITER - /obj/machinery/button/flasher name = "flasher button" desc = "A remote control switch for a mounted flasher." diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index faccb82395fd..c1cca432efd4 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -158,7 +158,7 @@ set_light(0) emped = emped+1 //Increase the number of consecutive EMP's update_appearance() - addtimer(CALLBACK(src, .proc/post_emp_reset, emped, network), 90 SECONDS) + addtimer(CALLBACK(src, PROC_REF(post_emp_reset), emped, network), 90 SECONDS) for(var/i in GLOB.player_list) var/mob/M = i if (M.client.eye == src) @@ -178,7 +178,7 @@ if(can_use()) GLOB.cameranet.addCamera(src) emped = 0 //Resets the consecutive EMP count - addtimer(CALLBACK(src, .proc/cancelCameraAlarm), 100) + addtimer(CALLBACK(src, PROC_REF(cancelCameraAlarm)), 100) /obj/machinery/camera/ex_act(severity, target) if(invuln) @@ -437,7 +437,7 @@ change_msg = "reactivates" triggerCameraAlarm() if(!QDELETED(src)) //We'll be doing it anyway in destroy - addtimer(CALLBACK(src, .proc/cancelCameraAlarm), 100) + addtimer(CALLBACK(src, PROC_REF(cancelCameraAlarm)), 100) if(displaymessage) if(user) visible_message("[user] [change_msg] [src]!") diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index fd876b2987f2..cdfb48edc2e9 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -86,7 +86,7 @@ to_chat(U, "Now tracking [target.get_visible_name()] on camera.") - INVOKE_ASYNC(src, .proc/do_track, target, U) + INVOKE_ASYNC(src, PROC_REF(do_track), target, U) /mob/living/silicon/ai/proc/do_track(mob/living/target, mob/living/silicon/ai/U) var/cameraticks = 0 diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 60c41eeeb921..c71e94a0948a 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -206,7 +206,7 @@ if(!G) return NONE if(clonemind.damnation_type) //Can't clone the damned. - INVOKE_ASYNC(src, .proc/horrifyingsound) + INVOKE_ASYNC(src, PROC_REF(horrifyingsound)) mess = TRUE icon_state = "pod_g" update_appearance() diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 49b13bb0c2c9..bdbadf79a943 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -21,6 +21,8 @@ ///Does this computer have a unique icon_state? Prevents the changing of icons from alternative computer construction var/unique_icon = FALSE + hitsound_type = PROJECTILE_HITSOUND_GLASS + /obj/machinery/computer/Initialize(mapload, obj/item/circuitboard/C) . = ..() power_change() diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm index eb43515d6e47..1ca0c97d5223 100644 --- a/code/game/machinery/computer/apc_control.dm +++ b/code/game/machinery/computer/apc_control.dm @@ -114,7 +114,7 @@ log_game("[key_name(operator)] set the logs of [src] in [AREACOORD(src)] [should_log ? "On" : "Off"]") if("restore-console") restoring = TRUE - addtimer(CALLBACK(src, .proc/restore_comp), rand(3,5) * 9) + addtimer(CALLBACK(src, PROC_REF(restore_comp)), rand(3,5) * 9) if("access-apc") var/ref = params["ref"] playsound(src, "terminal_type", 50, FALSE) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 94b57a2d9f57..571d5b090da9 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -773,7 +773,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( var/mob/living/L = usr L.Stun(200, ignore_canstun = TRUE) //you can't run :^) var/S = new /obj/singularity/academy(usr.loc) - addtimer(CALLBACK(src, /atom/movable/proc/say, "[S] winks out, just as suddenly as it appeared."), 50) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable, say), "[S] winks out, just as suddenly as it appeared."), 50) QDEL_IN(S, 50) else event = null diff --git a/code/game/machinery/computer/arena.dm b/code/game/machinery/computer/arena.dm index 5c4a62abe683..428d553ee068 100644 --- a/code/game/machinery/computer/arena.dm +++ b/code/game/machinery/computer/arena.dm @@ -88,7 +88,7 @@ var/list/default_arenas = flist(arena_dir) for(var/arena_file in default_arenas) var/simple_name = replacetext(replacetext(arena_file,arena_dir,""),".dmm","") - INVOKE_ASYNC(src, .proc/add_new_arena_template, null, arena_dir + arena_file, simple_name) + INVOKE_ASYNC(src, PROC_REF(add_new_arena_template), null, arena_dir + arena_file, simple_name) /obj/machinery/computer/arena/proc/get_landmark_turf(landmark_tag) for(var/obj/effect/landmark/arena/L in GLOB.landmarks_list) @@ -234,7 +234,7 @@ for(var/mob/M in all_contestants()) to_chat(M,"The gates will open in [timetext]!") start_time = world.time + start_delay - addtimer(CALLBACK(src,.proc/begin),start_delay) + addtimer(CALLBACK(src, PROC_REF(begin)),start_delay) for(var/team in teams) var/obj/machinery/arena_spawn/team_spawn = get_spawn(team) var/obj/effect/countdown/arena/A = new(team_spawn) @@ -261,9 +261,9 @@ if(D.id != arena_id) continue if(closed) - INVOKE_ASYNC(D, /obj/machinery/door/poddoor.proc/close) + INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door/poddoor, close)) else - INVOKE_ASYNC(D, /obj/machinery/door/poddoor.proc/open) + INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door/poddoor, open)) /obj/machinery/computer/arena/Topic(href, href_list) if(..()) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 3275bb33f272..50ed20ae619e 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -270,13 +270,13 @@ /obj/machinery/computer/security/telescreen/entertainment/Initialize() . = ..() - RegisterSignal(src, COMSIG_CLICK, .proc/BigClick) + RegisterSignal(src, COMSIG_CLICK, PROC_REF(BigClick)) // Bypass clickchain to allow humans to use the telescreen from a distance /obj/machinery/computer/security/telescreen/entertainment/proc/BigClick() SIGNAL_HANDLER - INVOKE_ASYNC(src, /atom.proc/interact, usr) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom, interact), usr) /obj/machinery/computer/security/telescreen/entertainment/proc/notify(on) if(on && icon_state == icon_state_off) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 426e393e5bb8..0fe059653d5c 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -356,7 +356,7 @@ playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) say("Initiating scan...") - addtimer(CALLBACK(src, .proc/do_scan, usr, body_only), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(do_scan), usr, body_only), 2 SECONDS) //No locking an open scanner. else if ((href_list["lock"]) && !isnull(scanner) && scanner.is_operational) diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index 437a19136453..ffeabbdc4e0a 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -1997,7 +1997,7 @@ connected_scanner.set_linked_console(null) connected_scanner = new_scanner if(connected_scanner) - RegisterSignal(connected_scanner, COMSIG_PARENT_QDELETING, .proc/react_to_scanner_del) + RegisterSignal(connected_scanner, COMSIG_PARENT_QDELETING, PROC_REF(react_to_scanner_del)) connected_scanner.set_linked_console(src) /obj/machinery/computer/scan_consolenew/proc/react_to_scanner_del(datum/source) diff --git a/code/game/machinery/computer/prisoner/gulag_teleporter.dm b/code/game/machinery/computer/prisoner/gulag_teleporter.dm index 9eba87108291..f05ab6b8dea9 100644 --- a/code/game/machinery/computer/prisoner/gulag_teleporter.dm +++ b/code/game/machinery/computer/prisoner/gulag_teleporter.dm @@ -112,7 +112,7 @@ if("teleport") if(!teleporter || !beacon) return - addtimer(CALLBACK(src, .proc/teleport, usr), 5) + addtimer(CALLBACK(src, PROC_REF(teleport), usr), 5) return TRUE /obj/machinery/computer/prisoner/gulag_teleporter_computer/proc/scan_machinery() diff --git a/code/game/machinery/computer/teleporter.dm b/code/game/machinery/computer/teleporter.dm index 6c83c0389487..fe1d87c2c89a 100644 --- a/code/game/machinery/computer/teleporter.dm +++ b/code/game/machinery/computer/teleporter.dm @@ -90,7 +90,7 @@ say("Processing hub calibration to target...") calibrating = TRUE power_station.update_appearance() - addtimer(CALLBACK(src, .proc/finish_calibration), 50 * (3 - power_station.teleporter_hub.accuracy)) //Better parts mean faster calibration + addtimer(CALLBACK(src, PROC_REF(finish_calibration)), 50 * (3 - power_station.teleporter_hub.accuracy)) //Better parts mean faster calibration . = TRUE /obj/machinery/computer/teleporter/proc/finish_calibration() diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 985a61efe01d..48a1cedc2afa 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -213,7 +213,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod/retro, 17) var/mob/living/mob_occupant = occupant if(mob_occupant && mob_occupant.stat != DEAD) to_chat(occupant, "You feel cool air surround you. You go numb as your senses turn inward.") - addtimer(CALLBACK(src, .proc/try_despawn_occupant, mob_occupant), mob_occupant.client ? time_till_despawn * 0.1 : time_till_despawn) // If they're logged in, reduce the timer + addtimer(CALLBACK(src, PROC_REF(try_despawn_occupant), mob_occupant), mob_occupant.client ? time_till_despawn * 0.1 : time_till_despawn) // If they're logged in, reduce the timer icon_state = close_state if(close_sound) playsound(src, close_sound, 40) @@ -254,7 +254,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod/retro, 17) despawn_occupant() else - addtimer(CALLBACK(src, .proc/try_despawn_occupant, mob_occupant), time_till_despawn) //try again with normal delay + addtimer(CALLBACK(src, PROC_REF(try_despawn_occupant), mob_occupant), time_till_despawn) //try again with normal delay /obj/machinery/cryopod/proc/handle_objectives() var/mob/living/mob_occupant = occupant diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 04fe3c750ca1..20c3d66e8585 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -294,7 +294,7 @@ glow.set_light_color(COLOR_SOFT_RED) glow.even_cycle = !glow.even_cycle if(prob(2)) // Unique effects for the dance floor that show up randomly to mix things up - INVOKE_ASYNC(src, .proc/hierofunk) + INVOKE_ASYNC(src, PROC_REF(hierofunk)) sleep(selection.song_beat) if(QDELETED(src)) return diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 3f62292736da..589393479ff5 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -128,7 +128,7 @@ /obj/structure/barricade/security/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/deploy), deploy_time) + addtimer(CALLBACK(src, PROC_REF(deploy)), deploy_time) /obj/structure/barricade/security/proc/deploy() icon_state = "barrier1" diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm index 7fd0f3262273..7f61dde6ef79 100644 --- a/code/game/machinery/dna_scanner.dm +++ b/code/game/machinery/dna_scanner.dm @@ -152,7 +152,7 @@ UnregisterSignal(linked_console, COMSIG_PARENT_QDELETING) linked_console = new_console if(linked_console) - RegisterSignal(linked_console, COMSIG_PARENT_QDELETING, .proc/react_to_console_del) + RegisterSignal(linked_console, COMSIG_PARENT_QDELETING, PROC_REF(react_to_console_del)) /obj/machinery/dna_scannernew/proc/react_to_console_del(datum/source) SIGNAL_HANDLER diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 525811b23ffc..6bb5a4bab561 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -129,7 +129,7 @@ set_frequency(frequency) if(closeOtherId != null) - addtimer(CALLBACK(.proc/update_other_id), 5) + addtimer(CALLBACK(PROC_REF(update_other_id)), 5) if(glass) airlock_material = "glass" if(security_level > AIRLOCK_SECURITY_METAL) @@ -145,13 +145,13 @@ diag_hud.add_to_hud(src) diag_hud_set_electrified() - RegisterSignal(src, COMSIG_MACHINERY_BROKEN, .proc/on_break) + RegisterSignal(src, COMSIG_MACHINERY_BROKEN, PROC_REF(on_break)) update_appearance() var/static/list/connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, - COMSIG_ATOM_EXITED = .proc/on_exited + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), + COMSIG_ATOM_EXITED = PROC_REF(on_exited) ) AddElement(/datum/element/connect_loc, connections) @@ -322,9 +322,9 @@ return if(density) - INVOKE_ASYNC(src, .proc/open) + INVOKE_ASYNC(src, PROC_REF(open)) else - INVOKE_ASYNC(src, .proc/close) + INVOKE_ASYNC(src, PROC_REF(close)) if("bolt") if(command_value == "on" && locked) @@ -439,7 +439,7 @@ if(cyclelinkedairlock.operating) cyclelinkedairlock.delayed_close_requested = TRUE else - addtimer(CALLBACK(cyclelinkedairlock, .proc/close), 2) + addtimer(CALLBACK(cyclelinkedairlock, PROC_REF(close)), 2) if(locked && allowed(user) && aac) aac.request_from_door(src) return @@ -499,7 +499,7 @@ secondsBackupPowerLost = 10 if(!spawnPowerRestoreRunning) spawnPowerRestoreRunning = TRUE - INVOKE_ASYNC(src, .proc/handlePowerRestore) + INVOKE_ASYNC(src, PROC_REF(handlePowerRestore)) update_appearance() /obj/machinery/door/airlock/proc/loseBackupPower() @@ -507,7 +507,7 @@ secondsBackupPowerLost = 60 if(!spawnPowerRestoreRunning) spawnPowerRestoreRunning = TRUE - INVOKE_ASYNC(src, .proc/handlePowerRestore) + INVOKE_ASYNC(src, PROC_REF(handlePowerRestore)) update_appearance() /obj/machinery/door/airlock/proc/regainBackupPower() @@ -1139,7 +1139,7 @@ user.visible_message("[user] begins [welded ? "unwelding":"welding"] the airlock.", \ "You begin [welded ? "unwelding":"welding"] the airlock...", \ "You hear welding.") - if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, .proc/weld_checks, W, user))) + if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, PROC_REF(weld_checks), W, user))) welded = !welded user.visible_message("[user] [welded? "welds shut":"unwelds"] [src].", \ "You [welded ? "weld the airlock shut":"unweld the airlock"].") @@ -1151,7 +1151,7 @@ user.visible_message("[user] begins welding the airlock.", \ "You begin repairing the airlock...", \ "You hear welding.") - if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, .proc/weld_checks, W, user))) + if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, PROC_REF(weld_checks), W, user))) obj_integrity = max_integrity set_machine_stat(machine_stat & ~BROKEN) user.visible_message("[user] finishes welding [src].", \ @@ -1241,7 +1241,7 @@ if(axe && !axe.wielded) to_chat(user, "You need to be wielding \the [axe] to do that!") return - INVOKE_ASYNC(src, (density ? .proc/open : .proc/close), 2) + INVOKE_ASYNC(src, (density ? PROC_REF(open) : PROC_REF(close)), 2) /obj/machinery/door/airlock/open(forced=0) @@ -1280,7 +1280,7 @@ operating = FALSE if(delayed_close_requested) delayed_close_requested = FALSE - addtimer(CALLBACK(src, .proc/close), 1) + addtimer(CALLBACK(src, PROC_REF(close)), 1) return TRUE @@ -1450,7 +1450,7 @@ secondsElectrified = seconds diag_hud_set_electrified() if(secondsElectrified > MACHINE_NOT_ELECTRIFIED) - INVOKE_ASYNC(src, .proc/electrified_loop) + INVOKE_ASYNC(src, PROC_REF(electrified_loop)) if(user) var/message diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 92fb368bdc19..8e0ed982b501 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -83,14 +83,6 @@ req_access = list(ACCESS_SYNDICATE) has_hatch = FALSE -/obj/machinery/door/airlock/glass/incinerator/syndicatelava_interior - name = "Turbine Interior Airlock" - id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_INTERIOR - -/obj/machinery/door/airlock/glass/incinerator/syndicatelava_exterior - name = "Turbine Exterior Airlock" - id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_EXTERIOR - /obj/machinery/door/airlock/command/glass opacity = FALSE glass = TRUE diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm index 3fc9a30033ce..3972998da809 100644 --- a/code/game/machinery/doors/alarmlock.dm +++ b/code/game/machinery/doors/alarmlock.dm @@ -23,7 +23,7 @@ . = ..() SSradio.remove_object(src, air_frequency) air_connection = SSradio.add_object(src, air_frequency, RADIO_TO_AIRALARM) - INVOKE_ASYNC(src, .proc/open) + INVOKE_ASYNC(src, PROC_REF(open)) /obj/machinery/door/airlock/alarmlock/receive_signal(datum/signal/signal) ..() diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 7013d3f68a7a..213b15c00ced 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -92,12 +92,12 @@ for(var/obj/machinery/door/window/brigdoor/door in targets) if(door.density) continue - INVOKE_ASYNC(door, /obj/machinery/door/window/brigdoor.proc/close) + INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/machinery/door/window/brigdoor, close)) for(var/obj/machinery/door/airlock/security/brig/airlock in targets) if(airlock.density) continue - INVOKE_ASYNC(airlock, /obj/machinery/door/airlock/security/brig.proc/close) + INVOKE_ASYNC(airlock, TYPE_PROC_REF(/obj/machinery/door/airlock/security/brig, close)) for(var/obj/structure/closet/secure_closet/brig/C in targets) if(C.broken) @@ -126,12 +126,12 @@ for(var/obj/machinery/door/window/brigdoor/door in targets) if(!door.density) continue - INVOKE_ASYNC(door, /obj/machinery/door/window/brigdoor.proc/open) + INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/machinery/door/window/brigdoor, open)) for(var/obj/machinery/door/airlock/security/brig/airlock in targets) if(!airlock.density) continue - INVOKE_ASYNC(airlock, /obj/machinery/door/airlock/security/brig.proc/open) + INVOKE_ASYNC(airlock, TYPE_PROC_REF(/obj/machinery/door/airlock/security/brig, open)) for(var/obj/structure/closet/secure_closet/brig/C in targets) if(C.broken) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 44b7c827daa1..8dbc880f740a 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -291,12 +291,12 @@ if (. & EMP_PROTECT_SELF) return if(prob(20/severity) && (istype(src, /obj/machinery/door/airlock) || istype(src, /obj/machinery/door/window))) - INVOKE_ASYNC(src, .proc/open) + INVOKE_ASYNC(src, PROC_REF(open)) if(prob(severity*10 - 20)) if(secondsElectrified == MACHINE_NOT_ELECTRIFIED) secondsElectrified = MACHINE_ELECTRIFIED_PERMANENT LAZYADD(shockedby, "\[[time_stamp()]\]EM Pulse") - addtimer(CALLBACK(src, .proc/unelectrify), 300) + addtimer(CALLBACK(src, PROC_REF(unelectrify)), 300) /obj/machinery/door/proc/unelectrify() secondsElectrified = MACHINE_NOT_ELECTRIFIED @@ -341,7 +341,7 @@ air_update_turf(1) update_freelook_sight() if(autoclose) - addtimer(CALLBACK(src, .proc/close), autoclose) + addtimer(CALLBACK(src, PROC_REF(close)), autoclose) return 1 /obj/machinery/door/proc/close() @@ -415,7 +415,7 @@ close() /obj/machinery/door/proc/autoclose_in(wait) - addtimer(CALLBACK(src, .proc/autoclose), wait, TIMER_UNIQUE | TIMER_NO_HASH_WAIT | TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(autoclose)), wait, TIMER_UNIQUE | TIMER_NO_HASH_WAIT | TIMER_OVERRIDE) /obj/machinery/door/proc/requiresID() return 1 diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 69169d167f3e..a18550033d04 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -95,7 +95,7 @@ /obj/machinery/door/firedoor/power_change() . = ..() - INVOKE_ASYNC(src, .proc/latetoggle) + INVOKE_ASYNC(src, PROC_REF(latetoggle)) /obj/machinery/door/firedoor/attack_hand(mob/user) . = ..() @@ -332,7 +332,7 @@ . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit, + COMSIG_ATOM_EXIT = PROC_REF(on_exit), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -435,7 +435,7 @@ update_freelook_sight() if(!(flags_1 & ON_BORDER_1)) crush() - addtimer(CALLBACK(src, /atom/.proc/update_icon), 5) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 5) /obj/machinery/door/firedoor/border_only/emergency_pressure_close() if(density) @@ -450,14 +450,14 @@ if(!istype(M2) || !M2.buckled || !M2.buckled.buckle_prevents_pull) to_chat(M, "You pull [M.pulling] through [src] right as it closes.") M.pulling.forceMove(T1) - INVOKE_ASYNC(M, /atom/movable/.proc/start_pulling) + INVOKE_ASYNC(M, TYPE_PROC_REF(/atom/movable, start_pulling)) for(var/mob/living/M in T2) if(M.stat == CONSCIOUS && M.pulling && M.pulling.loc == T1 && !M.pulling.anchored && M.pulling.move_resist <= M.move_force) var/mob/living/M2 = M.pulling if(!istype(M2) || !M2.buckled || !M2.buckled.buckle_prevents_pull) to_chat(M, "You pull [M.pulling] through [src] right as it closes.") M.pulling.forceMove(T2) - INVOKE_ASYNC(M, /atom/movable/.proc/start_pulling) + INVOKE_ASYNC(M, TYPE_PROC_REF(/atom/movable, start_pulling)) return ..() /obj/machinery/door/firedoor/heavy @@ -736,14 +736,14 @@ . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit, + COMSIG_ATOM_EXIT = PROC_REF(on_exit), ) AddElement(/datum/element/connect_loc, loc_connections) /obj/structure/firelock_frame/border/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, .proc/can_be_rotated)) + AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated))) /obj/structure/firelock_frame/border/proc/can_be_rotated(mob/user, rotation_type) if (anchored) diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index 56418d523b1d..4e846c26f14a 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -90,9 +90,9 @@ /obj/machinery/door/poddoor/shuttledock/proc/check() var/turf/T = get_step(src, checkdir) if(!istype(T, turftype)) - INVOKE_ASYNC(src, .proc/open) + INVOKE_ASYNC(src, PROC_REF(open)) else - INVOKE_ASYNC(src, .proc/close) + INVOKE_ASYNC(src, PROC_REF(close)) /obj/machinery/door/poddoor/incinerator_toxmix name = "Combustion Chamber Vent" @@ -106,13 +106,6 @@ name = "Combustion Chamber Vent" id = INCINERATOR_ATMOS_AUXVENT -/obj/machinery/door/poddoor/incinerator_syndicatelava_main - name = "turbine vent" - id = INCINERATOR_SYNDICATELAVA_MAINVENT - -/obj/machinery/door/poddoor/incinerator_syndicatelava_aux - name = "Combustion Chamber Vent" - id = INCINERATOR_SYNDICATELAVA_AUXVENT /obj/machinery/door/poddoor/Bumped(atom/movable/AM) if(density) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index e10f0786489c..fa2ddefb7279 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -24,6 +24,8 @@ var/cable = 1 var/list/debris = list() + hitsound_type = PROJECTILE_HITSOUND_GLASS + /obj/machinery/door/window/Initialize(mapload, set_dir) . = ..() flags_1 &= ~PREVENT_CLICK_UNDER_1 @@ -40,7 +42,7 @@ debris += new /obj/item/stack/cable_coil(src, cable) var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit, + COMSIG_ATOM_EXIT = PROC_REF(on_exit), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -341,11 +343,11 @@ return if(density) - INVOKE_ASYNC(src, .proc/open) + INVOKE_ASYNC(src, PROC_REF(open)) else - INVOKE_ASYNC(src, .proc/close) + INVOKE_ASYNC(src, PROC_REF(close)) if("touch") - INVOKE_ASYNC(src, .proc/open_and_close) + INVOKE_ASYNC(src, PROC_REF(open_and_close)) /obj/machinery/door/window/brigdoor name = "secure door" diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index 8af3908ec531..0b538d1ce109 100644 --- a/code/game/machinery/doppler_array.dm +++ b/code/game/machinery/doppler_array.dm @@ -19,13 +19,13 @@ /obj/machinery/doppler_array/Initialize() . = ..() - RegisterSignal(SSdcs, COMSIG_GLOB_EXPLOSION, .proc/sense_explosion) - RegisterSignal(src, COMSIG_MOVABLE_SET_ANCHORED, .proc/power_change) + RegisterSignal(SSdcs, COMSIG_GLOB_EXPLOSION, PROC_REF(sense_explosion)) + RegisterSignal(src, COMSIG_MOVABLE_SET_ANCHORED, PROC_REF(power_change)) printer_ready = world.time + PRINTER_TIMEOUT /obj/machinery/doppler_array/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE,null,null,CALLBACK(src,.proc/rot_message)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE,null,null,CALLBACK(src, PROC_REF(rot_message))) /datum/data/tachyon_record name = "Log Recording" diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm index 3b1bfbd4b351..9d190b2e1369 100644 --- a/code/game/machinery/embedded_controller/access_controller.dm +++ b/code/game/machinery/embedded_controller/access_controller.dm @@ -79,7 +79,7 @@ controller.cycleClose(door) else controller.onlyClose(door) - addtimer(CALLBACK(src, .proc/not_busy), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(not_busy)), 2 SECONDS) /obj/machinery/doorButtons/access_button/proc/not_busy() busy = FALSE @@ -207,7 +207,7 @@ goIdle(TRUE) return A.unbolt() - INVOKE_ASYNC(src, .proc/do_openDoor, A) + INVOKE_ASYNC(src, PROC_REF(do_openDoor), A) /obj/machinery/doorButtons/airlock_controller/proc/do_openDoor(obj/machinery/door/airlock/A) if(A && A.open()) diff --git a/code/game/machinery/embedded_controller/airlock_controller.dm b/code/game/machinery/embedded_controller/airlock_controller.dm index a4de8908abfe..c0938bc2bdb9 100644 --- a/code/game/machinery/embedded_controller/airlock_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_controller.dm @@ -230,15 +230,6 @@ sanitize_external = TRUE sensor_tag = INCINERATOR_ATMOS_AIRLOCK_SENSOR -/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_syndicatelava - name = "Incinerator Access Console" - airpump_tag = INCINERATOR_SYNDICATELAVA_DP_VENTPUMP - exterior_door_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_EXTERIOR - id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER - interior_door_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_INTERIOR - sanitize_external = TRUE - sensor_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_SENSOR - /obj/machinery/embedded_controller/radio/airlock_controller/Initialize(mapload) . = ..() if(!mapload) diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index 315f2e128303..602b239bf020 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -56,10 +56,10 @@ if(program) program.receive_user_command(href_list["command"]) - addtimer(CALLBACK(program, /datum/computer/file/embedded_program.proc/process), 5) + addtimer(CALLBACK(program, TYPE_PROC_REF(/datum/computer/file/embedded_program, process)), 5) usr.set_machine(src) - addtimer(CALLBACK(src, .proc/updateDialog), 5) + addtimer(CALLBACK(src, PROC_REF(updateDialog)), 5) /obj/machinery/embedded_controller/process() if(program) diff --git a/code/game/machinery/exp_cloner.dm b/code/game/machinery/exp_cloner.dm index 3b2b414b0bf2..01f9b00e9785 100644 --- a/code/game/machinery/exp_cloner.dm +++ b/code/game/machinery/exp_cloner.dm @@ -232,7 +232,7 @@ playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) say("Initiating scan...") - addtimer(CALLBACK(src, .proc/do_clone), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(do_clone)), 2 SECONDS) //No locking an open scanner. else if ((href_list["lock"]) && !isnull(scanner) && scanner.is_operational) diff --git a/code/game/machinery/fat_sucker.dm b/code/game/machinery/fat_sucker.dm deleted file mode 100644 index 28c6d3d3ee2a..000000000000 --- a/code/game/machinery/fat_sucker.dm +++ /dev/null @@ -1,217 +0,0 @@ -/obj/machinery/fat_sucker - name = "lipid extractor" - desc = "Safely and efficiently extracts excess fat from a subject." - icon = 'icons/obj/machines/fat_sucker.dmi' - icon_state = "fat" - - state_open = FALSE - density = TRUE - req_access = list(ACCESS_KITCHEN) - var/processing = FALSE - var/start_at = NUTRITION_LEVEL_WELL_FED - var/stop_at = NUTRITION_LEVEL_STARVING - var/free_exit = TRUE //set to false to prevent people from exiting before being completely stripped of fat - var/bite_size = 15 //amount of nutrients we take per process - var/nutrients //amount of nutrients we got build up - var/nutrient_to_meat = 90 //one slab of meat gives about 52 nutrition - var/datum/looping_sound/microwave/soundloop //100% stolen from microwaves - var/breakout_time = 600 - - var/next_fact = 10 //in ticks, so about 20 seconds - var/static/list/fat_facts = list(\ - "Fats are triglycerides made up of a combination of different building blocks; glycerol and fatty acids.", \ - "Adults should get a recommended 20-35% of their energy intake from fat.", \ - "Being overweight or obese puts you at an increased risk of chronic diseases, such as cardiovascular diseases, metabolic syndrome, type 2 diabetes and some types of cancers.", \ - "Not all fats are bad. A certain amount of fat is an essential part of a healthy balanced diet. " , \ - "Saturated fat should form no more than 11% of your daily calories.", \ - "Unsaturated fat, that is monounsaturated fats, polyunsaturated fats and omega-3 fatty acids, is found in plant foods and fish." \ - ) - -/obj/machinery/fat_sucker/Initialize() - . = ..() - soundloop = new(list(src), FALSE) - update_appearance() - -/obj/machinery/fat_sucker/Destroy() - QDEL_NULL(soundloop) - return ..() - -/obj/machinery/fat_sucker/RefreshParts() - ..() - var/rating = 0 - for(var/obj/item/stock_parts/micro_laser/L in component_parts) - rating += L.rating - bite_size = initial(bite_size) + rating * 5 - nutrient_to_meat = initial(nutrient_to_meat) - rating * 5 - -/obj/machinery/fat_sucker/examine(mob/user) - . = ..() - . += {"Alt-Click to toggle the safety hatch. - Removing [bite_size] nutritional units per operation. - Requires [nutrient_to_meat] nutritional units per meat slab."} - -/obj/machinery/fat_sucker/close_machine(mob/user) - if(panel_open) - to_chat(user, "You need to close the maintenance hatch first!") - return - ..() - playsound(src, 'sound/machines/click.ogg', 50) - if(occupant) - if(!iscarbon(occupant)) - occupant.forceMove(drop_location()) - occupant = null - return - to_chat(occupant, "You enter [src].") - addtimer(CALLBACK(src, .proc/start_extracting), 20, TIMER_OVERRIDE|TIMER_UNIQUE) - update_appearance() - -/obj/machinery/fat_sucker/open_machine(mob/user) - make_meat() - playsound(src, 'sound/machines/click.ogg', 50) - if(processing) - stop() - ..() - -/obj/machinery/fat_sucker/container_resist_act(mob/living/user) - if(!free_exit || state_open) - to_chat(user, "The emergency release is not responding! You start pushing against the hull!") - user.changeNext_move(CLICK_CD_BREAKOUT) - user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message("You see [user] kicking against the door of [src]!", \ - "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") - if(do_after(user, breakout_time, target = src)) - if(!user || user.stat != CONSCIOUS || user.loc != src || state_open) - return - free_exit = TRUE - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") - open_machine() - return - open_machine() - -/obj/machinery/fat_sucker/interact(mob/user) - if(state_open) - close_machine() - else if(!processing || free_exit) - open_machine() - else - to_chat(user, "The safety hatch has been disabled!") - -/obj/machinery/fat_sucker/AltClick(mob/living/user) - if(!user.canUseTopic(src, BE_CLOSE)) - return - if(user == occupant) - to_chat(user, "You can't reach the controls from inside!") - return - if(!(obj_flags & EMAGGED) && !allowed(user)) - to_chat(user, "You lack the required access.") - return - free_exit = !free_exit - to_chat(user, "Safety hatch [free_exit ? "unlocked" : "locked"].") - -/obj/machinery/fat_sucker/update_overlays() - . = ..() - - if(!state_open) - if(processing) - . += "[icon_state]_door_on" - . += "[icon_state]_stack" - . += "[icon_state]_smoke" - . += "[icon_state]_green" - else - . += "[icon_state]_door_off" - if(occupant) - if(powered()) - . += "[icon_state]_stack" - . += "[icon_state]_yellow" - else - . += "[icon_state]_red" - else if(powered()) - . += "[icon_state]_red" - if(panel_open) - . += "[icon_state]_panel" - -/obj/machinery/fat_sucker/process() - if(!processing) - return - if(!powered() || !occupant || !iscarbon(occupant)) - open_machine() - return - - var/mob/living/carbon/C = occupant - if(C.nutrition <= stop_at) - open_machine() - playsound(src, 'sound/machines/microwave/microwave-end.ogg', 100, FALSE) - return - C.adjust_nutrition(-bite_size) - nutrients += bite_size - - if(next_fact <= 0) - next_fact = initial(next_fact) - say(pick(fat_facts)) - playsound(loc, 'sound/machines/chime.ogg', 30, FALSE) - else - next_fact-- - use_power(500) - -/obj/machinery/fat_sucker/proc/start_extracting() - if(state_open || !occupant || processing || !powered()) - return - if(iscarbon(occupant)) - var/mob/living/carbon/C = occupant - if(C.nutrition > start_at) - processing = TRUE - soundloop.start() - update_appearance() - set_light(2, 1, "#ff0000") - else - say("Subject not fat enough.") - playsound(src, 'sound/machines/buzz-sigh.ogg', 40, FALSE) - overlays += "[icon_state]_red" //throw a red light icon over it, to show that it wont work - -/obj/machinery/fat_sucker/proc/stop() - processing = FALSE - soundloop.stop() - set_light(0, 0) - -/obj/machinery/fat_sucker/proc/make_meat() - if(occupant && iscarbon(occupant)) - var/mob/living/carbon/C = occupant - if(C.type_of_meat) - if(nutrients >= nutrient_to_meat * 2) - C.put_in_hands(new /obj/item/reagent_containers/food/snacks/cookie (), TRUE) - while(nutrients >= nutrient_to_meat) - nutrients -= nutrient_to_meat - new C.type_of_meat (drop_location()) - while(nutrients >= nutrient_to_meat / 3) - nutrients -= nutrient_to_meat / 3 - new /obj/item/reagent_containers/food/snacks/meat/rawcutlet/plain (drop_location()) - nutrients = 0 - -/obj/machinery/fat_sucker/screwdriver_act(mob/living/user, obj/item/I) - . = TRUE - if(..()) - return - if(occupant) - to_chat(user, "[src] is currently occupied!") - return - if(state_open) - to_chat(user, "[src] must be closed to [panel_open ? "close" : "open"] its maintenance hatch!") - return - if(default_deconstruction_screwdriver(user, icon_state, icon_state, I)) - update_appearance() - return - return FALSE - -/obj/machinery/fat_sucker/crowbar_act(mob/living/user, obj/item/I) - if(default_deconstruction_crowbar(I)) - return TRUE - -/obj/machinery/fat_sucker/emag_act(mob/living/user) - if(obj_flags & EMAGGED) - return - start_at = 100 - stop_at = 0 - to_chat(user, "You remove the access restrictions and lower the automatic ejection threshold!") - obj_flags |= EMAGGED diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 4bacfbbb5651..d4a59cb27c31 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -109,7 +109,7 @@ playsound(src.loc, 'sound/weapons/flash.ogg', 100, TRUE) flick("[base_icon_state]_flash", src) set_light_on(TRUE) - addtimer(CALLBACK(src, .proc/flash_end), FLASH_LIGHT_DURATION, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(flash_end)), FLASH_LIGHT_DURATION, TIMER_OVERRIDE|TIMER_UNIQUE) last_flash = world.time use_power(1000) diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm index 82ef63c3d738..9cf4470cab5c 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -94,7 +94,7 @@ visible_message("The [name] begins warming up!") say("Initializing harvest protocol.") update_appearance() - addtimer(CALLBACK(src, .proc/harvest), interval) + addtimer(CALLBACK(src, PROC_REF(harvest)), interval) /obj/machinery/harvester/proc/harvest() warming_up = FALSE @@ -129,7 +129,7 @@ operation_order.Remove(BP) break use_power(5000) - addtimer(CALLBACK(src, .proc/harvest), interval) + addtimer(CALLBACK(src, PROC_REF(harvest)), interval) /obj/machinery/harvester/proc/end_harvesting() warming_up = FALSE diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 98014077d4b0..4a31d650f9a1 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -653,7 +653,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ if(HOLORECORD_SOUND) playsound(src,entry[2],50,TRUE) if(HOLORECORD_DELAY) - addtimer(CALLBACK(src,.proc/replay_entry,entry_number+1),entry[2]) + addtimer(CALLBACK(src, PROC_REF(replay_entry),entry_number+1),entry[2]) return if(HOLORECORD_LANGUAGE) var/datum/language_holder/holder = replay_holo.get_language_holder() diff --git a/code/game/machinery/hypnochair.dm b/code/game/machinery/hypnochair.dm index 8e86447f6060..b31dd9925375 100644 --- a/code/game/machinery/hypnochair.dm +++ b/code/game/machinery/hypnochair.dm @@ -98,7 +98,7 @@ START_PROCESSING(SSobj, src) start_time = world.time update_appearance() - timerid = addtimer(CALLBACK(src, .proc/finish_interrogation), 450, TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(finish_interrogation)), 450, TIMER_STOPPABLE) /obj/machinery/hypnochair/process() var/mob/living/carbon/C = occupant diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index a610ec5d11b8..8117ad2c251a 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -20,9 +20,6 @@ /obj/machinery/igniter/incinerator_atmos id = INCINERATOR_ATMOS_IGNITER -/obj/machinery/igniter/incinerator_syndicatelava - id = INCINERATOR_SYNDICATELAVA_IGNITER - /obj/machinery/igniter/on on = TRUE icon_state = "igniter1" diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index 16d7386273d8..dc5b41ee3821 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -196,7 +196,7 @@ flick("limbgrower_fill",src) icon_state = "limbgrower_idleon" selected_category = params["active_tab"] - addtimer(CALLBACK(src, .proc/build_item, consumed_reagents_list), production_speed * production_coefficient) + addtimer(CALLBACK(src, PROC_REF(build_item), consumed_reagents_list), production_speed * production_coefficient) . = TRUE return diff --git a/code/game/machinery/medipen_refiller.dm b/code/game/machinery/medipen_refiller.dm index d6acc545da03..4dac48d6cfd4 100644 --- a/code/game/machinery/medipen_refiller.dm +++ b/code/game/machinery/medipen_refiller.dm @@ -60,7 +60,7 @@ if(reagents.has_reagent(allowed[P.type], 10)) busy = TRUE add_overlay("active") - addtimer(CALLBACK(src, .proc/refill, P, user), 20) + addtimer(CALLBACK(src, PROC_REF(refill), P, user), 20) qdel(P) return to_chat(user, "There aren't enough reagents to finish this operation.") diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 2711ee9ee61a..c53b256b04de 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -855,7 +855,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) say("Breaking news from [channel]!") alert = TRUE update_appearance() - addtimer(CALLBACK(src,.proc/remove_alert),alert_delay,TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(remove_alert)),alert_delay,TIMER_UNIQUE|TIMER_OVERRIDE) playsound(loc, 'sound/machines/twobeep_high.ogg', 75, TRUE) else say("Attention! Wanted issue distributed!") diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 64b7fb47edd0..75498600b007 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -120,7 +120,7 @@ DEFINE_BITFIELD(turret_flags, list( base.layer = NOT_HIGH_OBJ_LAYER underlays += base if(!has_cover) - INVOKE_ASYNC(src, .proc/popUp) + INVOKE_ASYNC(src, PROC_REF(popUp)) /obj/machinery/porta_turret/proc/toggle_on(set_to) var/current = on @@ -369,7 +369,7 @@ DEFINE_BITFIELD(turret_flags, list( toggle_on(FALSE) //turns off the turret temporarily update_appearance() //6 seconds for the traitor to gtfo of the area before the turret decides to ruin his shit - addtimer(CALLBACK(src, .proc/toggle_on, TRUE), 6 SECONDS) + addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), 6 SECONDS) //turns it back on. The cover popUp() popDown() are automatically called in process(), no need to define it here /obj/machinery/porta_turret/emp_act(severity) @@ -389,7 +389,7 @@ DEFINE_BITFIELD(turret_flags, list( toggle_on(FALSE) remove_control() - addtimer(CALLBACK(src, .proc/toggle_on, TRUE), rand(60,600)) + addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), rand(60,600)) /obj/machinery/porta_turret/take_damage(damage, damage_type = BRUTE, damage_flag = 0, sound_effect = 1) . = ..() @@ -398,7 +398,7 @@ DEFINE_BITFIELD(turret_flags, list( spark_system.start() if(on && !(turret_flags & TURRET_FLAG_SHOOT_ALL_REACT) && !(obj_flags & EMAGGED)) turret_flags |= TURRET_FLAG_SHOOT_ALL_REACT - addtimer(CALLBACK(src, .proc/reset_attacked), 60) + addtimer(CALLBACK(src, PROC_REF(reset_attacked)), 60) /obj/machinery/porta_turret/proc/reset_attacked() turret_flags &= ~TURRET_FLAG_SHOOT_ALL_REACT @@ -778,9 +778,9 @@ DEFINE_BITFIELD(turret_flags, list( if(target) setDir(get_dir(base, target))//even if you can't shoot, follow the target shootAt(target) - addtimer(CALLBACK(src, .proc/shootAt, target), 5) - addtimer(CALLBACK(src, .proc/shootAt, target), 10) - addtimer(CALLBACK(src, .proc/shootAt, target), 15) + addtimer(CALLBACK(src, PROC_REF(shootAt), target), 5) + addtimer(CALLBACK(src, PROC_REF(shootAt), target), 10) + addtimer(CALLBACK(src, PROC_REF(shootAt), target), 15) return TRUE /obj/machinery/porta_turret/ai @@ -839,6 +839,27 @@ DEFINE_BITFIELD(turret_flags, list( /obj/machinery/porta_turret/ship/solgov faction = list("playerSolgov", "turret") +/obj/machinery/porta_turret/ship/syndicate + faction = list(FACTION_PLAYER_SYNDICATE, "turret") + icon_state = "standard_lethal" + base_icon_state = "standard" + +/obj/machinery/porta_turret/ship/syndicate/weak + name = "Light Laser Turret" + desc = "A low powered turret designed by the Gorlex Maurauders during the ICW. Effectively weaponizes mining equipment." + stun_projectile = /obj/projectile/beam/disabler/weak + lethal_projectile = /obj/projectile/beam/weak/penetrator + icon_state = "syndie_off" + base_icon_state = "syndie" + +/obj/machinery/porta_turret/ship/syndicate/heavy + name = "Heavy Laser Turret" + desc = "Produced by Cybersun, this turret is a duel mount of a propietary heavy laser, and crowd control taser system." + stun_projectile = /obj/projectile/energy/electrode + stun_projectile_sound = 'sound/weapons/taser.ogg' + lethal_projectile = /obj/projectile/beam/laser/heavylaser + lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + //////////////////////// //Turret Control Panel// //////////////////////// diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 3ca96ae5dcba..c604b3eeccf6 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -12,6 +12,8 @@ var/obj/item/charging = null var/recharge_coeff = 1 var/using_power = FALSE //Did we put power into "charging" last process()? + ///Did we finish recharging the currently inserted item? + var/finished_recharging = FALSE var/static/list/allowed_devices = typecacheof(list( /obj/item/gun/energy, @@ -47,6 +49,7 @@ charging = new_charging if (new_charging) START_PROCESSING(SSmachines, src) + finished_recharging = FALSE use_power = ACTIVE_POWER_USE using_power = TRUE update_appearance() @@ -143,6 +146,10 @@ using_power = TRUE update_appearance() return + if(!using_power && !finished_recharging) //Inserted thing is at max charge/ammo, notify those around us + finished_recharging = TRUE + playsound(src, 'sound/machines/ping.ogg', 30, TRUE) + say("[charging] has finished recharging!") else return PROCESS_KILL diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index 37def4d5a9da..b548ecf73125 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -25,7 +25,7 @@ req_one_access = get_all_accesses() + get_all_centcom_access() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -92,7 +92,7 @@ /obj/machinery/recycler/proc/on_entered(datum/source, atom/movable/AM) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/eat, AM) + INVOKE_ASYNC(src, PROC_REF(eat), AM) /obj/machinery/recycler/proc/eat(atom/movable/AM0, sound=TRUE) if(machine_stat & (BROKEN|NOPOWER)) @@ -166,7 +166,7 @@ playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) safety_mode = TRUE update_appearance() - addtimer(CALLBACK(src, .proc/reboot), SAFETY_COOLDOWN) + addtimer(CALLBACK(src, PROC_REF(reboot)), SAFETY_COOLDOWN) /obj/machinery/recycler/proc/reboot() playsound(src, 'sound/machines/ping.ogg', 50, FALSE) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 3a03453a2ce3..ed3a35c1e228 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -298,7 +298,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) Radio.set_frequency(radio_freq) Radio.talk_into(src,"[emergency] emergency in [department]!!",radio_freq) update_appearance() - addtimer(CALLBACK(src, .proc/clear_emergency), 5 MINUTES) + addtimer(CALLBACK(src, PROC_REF(clear_emergency)), 5 MINUTES) if(href_list["send"] && message && to_department && priority) diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index 8e056d198ea6..c9e1d108c1e5 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -164,7 +164,7 @@ playsound(src, 'sound/machines/piston_raise.ogg', 70) playsound(src, 'sound/machines/chime.ogg', 50) - addtimer(CALLBACK(src, .proc/play, user, player_card, chosen_bet_type, chosen_bet_amount, potential_payout), 4) //Animation first + addtimer(CALLBACK(src, PROC_REF(play), user, player_card, chosen_bet_type, chosen_bet_amount, potential_payout), 4) //Animation first return TRUE else var/obj/item/card/id/new_card = W @@ -194,8 +194,8 @@ var/rolled_number = rand(0, 36) playsound(src, 'sound/machines/roulettewheel.ogg', 50) - addtimer(CALLBACK(src, .proc/finish_play, player_id, bet_type, bet_amount, payout, rolled_number), 34) //4 deciseconds more so the animation can play - addtimer(CALLBACK(src, .proc/finish_play_animation), 30) + addtimer(CALLBACK(src, PROC_REF(finish_play), player_id, bet_type, bet_amount, payout, rolled_number), 34) //4 deciseconds more so the animation can play + addtimer(CALLBACK(src, PROC_REF(finish_play_animation)), 30) /obj/machinery/roulette/proc/finish_play_animation() icon_state = "idle" @@ -269,7 +269,7 @@ var/obj/item/cash = new bundle_to_drop(drop_loc) playsound(cash, pick(list('sound/machines/coindrop.ogg', 'sound/machines/coindrop2.ogg')), 40, TRUE) - addtimer(CALLBACK(src, .proc/drop_cash), 3) //Recursion time + addtimer(CALLBACK(src, PROC_REF(drop_cash)), 3) //Recursion time ///Fills a list of bundles that should be dropped. @@ -413,7 +413,7 @@ return loc.visible_message("\The [src] begins to beep loudly!") used = TRUE - addtimer(CALLBACK(src, .proc/launch_payload), 40) + addtimer(CALLBACK(src, PROC_REF(launch_payload)), 40) /obj/item/roulette_wheel_beacon/proc/launch_payload() var/obj/structure/closet/supplypod/centcompod/toLaunch = new() diff --git a/code/game/machinery/scan_gate.dm b/code/game/machinery/scan_gate.dm index 1b0736a2951f..54c52f930a1f 100644 --- a/code/game/machinery/scan_gate.dm +++ b/code/game/machinery/scan_gate.dm @@ -5,7 +5,6 @@ #define SCANGATE_GUNS "Guns" #define SCANGATE_WANTED "Wanted" #define SCANGATE_SPECIES "Species" -#define SCANGATE_NUTRITION "Nutrition" #define SCANGATE_HUMAN "human" #define SCANGATE_LIZARD "lizard" @@ -39,13 +38,12 @@ var/nanite_cloud = 1 var/detect_species = SCANGATE_HUMAN var/reverse = FALSE //If true, signals if the scan returns false - var/detect_nutrition = NUTRITION_LEVEL_FAT /obj/machinery/scanner_gate/Initialize() . = ..() set_scanline("passive") var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -59,7 +57,7 @@ /obj/machinery/scanner_gate/proc/on_entered(datum/source, atom/movable/AM) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/auto_scan, AM) + INVOKE_ASYNC(src, PROC_REF(auto_scan), AM) /obj/machinery/scanner_gate/proc/auto_scan(atom/movable/AM) if(!(machine_stat & (BROKEN|NOPOWER)) && isliving(AM)) @@ -70,7 +68,7 @@ deltimer(scanline_timer) add_overlay(type) if(duration) - scanline_timer = addtimer(CALLBACK(src, .proc/set_scanline, "passive"), duration, TIMER_STOPPABLE) + scanline_timer = addtimer(CALLBACK(src, PROC_REF(set_scanline), "passive"), duration, TIMER_STOPPABLE) /obj/machinery/scanner_gate/attackby(obj/item/W, mob/user, params) var/obj/item/card/id/card = W.GetID() @@ -165,13 +163,6 @@ if(istype(I, /obj/item/gun)) beep = TRUE break - if(SCANGATE_NUTRITION) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.nutrition <= detect_nutrition && detect_nutrition == NUTRITION_LEVEL_STARVING) - beep = TRUE - if(H.nutrition >= detect_nutrition && detect_nutrition == NUTRITION_LEVEL_FAT) - beep = TRUE if(reverse) beep = !beep @@ -207,7 +198,6 @@ data["nanite_cloud"] = nanite_cloud data["disease_threshold"] = disease_threshold data["target_species"] = detect_species - data["target_nutrition"] = detect_nutrition return data /obj/machinery/scanner_gate/ui_act(action, params) @@ -240,19 +230,6 @@ var/new_species = params["new_species"] detect_species = new_species . = TRUE - if("set_target_nutrition") - var/new_nutrition = params["new_nutrition"] - var/nutrition_list = list( - "Starving", - "Obese" - ) - if(new_nutrition && (new_nutrition in nutrition_list)) - switch(new_nutrition) - if("Starving") - detect_nutrition = NUTRITION_LEVEL_STARVING - if("Obese") - detect_nutrition = NUTRITION_LEVEL_FAT - . = TRUE #undef SCANGATE_NONE #undef SCANGATE_MINDSHIELD @@ -261,7 +238,6 @@ #undef SCANGATE_GUNS #undef SCANGATE_WANTED #undef SCANGATE_SPECIES -#undef SCANGATE_NUTRITION #undef SCANGATE_HUMAN #undef SCANGATE_LIZARD diff --git a/code/game/machinery/sheetifier.dm b/code/game/machinery/sheetifier.dm index b80cca3864ff..569bfa4b6f9e 100644 --- a/code/game/machinery/sheetifier.dm +++ b/code/game/machinery/sheetifier.dm @@ -13,7 +13,7 @@ /obj/machinery/sheetifier/Initialize() . = ..() - AddComponent(/datum/component/material_container, list(/datum/material/meat), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE, /obj/item/reagent_containers/food/snacks/meat/slab, CALLBACK(src, .proc/CanInsertMaterials), CALLBACK(src, .proc/AfterInsertMaterials)) + AddComponent(/datum/component/material_container, list(/datum/material/meat), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE, /obj/item/reagent_containers/food/snacks/meat/slab, CALLBACK(src, PROC_REF(CanInsertMaterials)), CALLBACK(src, PROC_REF(AfterInsertMaterials))) /obj/machinery/sheetifier/update_overlays() . = ..() @@ -36,7 +36,7 @@ var/mutable_appearance/processing_overlay = mutable_appearance(icon, "processing") processing_overlay.color = last_inserted_material.color flick_overlay_static(processing_overlay, src, 64) - addtimer(CALLBACK(src, .proc/finish_processing), 64) + addtimer(CALLBACK(src, PROC_REF(finish_processing)), 64) /obj/machinery/sheetifier/proc/finish_processing() busy_processing = FALSE diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 2d735deb1969..bc578a856300 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -507,7 +507,7 @@ /obj/machinery/power/shieldwallgen/atmos/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, .proc/can_be_rotated)) + AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated))) /obj/machinery/power/shieldwallgen/atmos/proc/can_be_rotated(mob/user, rotation_type) if (anchored) diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index b05b0a2c2a18..0ae88638d5b3 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -43,13 +43,13 @@ jackpots = rand(1, 4) //false hope plays = rand(75, 200) - INVOKE_ASYNC(src, .proc/toggle_reel_spin, TRUE)//The reels won't spin unless we activate them + INVOKE_ASYNC(src, PROC_REF(toggle_reel_spin), TRUE)//The reels won't spin unless we activate them var/list/reel = reels[1] for(var/i = 0, i < reel.len, i++) //Populate the reels. randomize_reels() - INVOKE_ASYNC(src, .proc/toggle_reel_spin, FALSE) + INVOKE_ASYNC(src, PROC_REF(toggle_reel_spin), FALSE) for(cointype in typesof(/obj/item/coin)) var/obj/item/coin/C = cointype @@ -211,9 +211,9 @@ update_appearance() updateDialog() - var/spin_loop = addtimer(CALLBACK(src, .proc/do_spin), 2, TIMER_LOOP|TIMER_STOPPABLE) + var/spin_loop = addtimer(CALLBACK(src, PROC_REF(do_spin)), 2, TIMER_LOOP|TIMER_STOPPABLE) - addtimer(CALLBACK(src, .proc/finish_spinning, spin_loop, user, the_name), SPIN_TIME - (REEL_DEACTIVATE_DELAY * reels.len)) + addtimer(CALLBACK(src, PROC_REF(finish_spinning), spin_loop, user, the_name), SPIN_TIME - (REEL_DEACTIVATE_DELAY * reels.len)) //WARNING: no sanity checking for user since it's not needed and would complicate things (machine should still spin even if user is gone), be wary of this if you're changing this code. /obj/machinery/computer/slot_machine/proc/do_spin() diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 231e36282bdc..e86d4ae9f0f9 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -294,7 +294,7 @@ user, src, choices, - custom_check = CALLBACK(src, .proc/check_interactable, user), + custom_check = CALLBACK(src, PROC_REF(check_interactable), user), require_near = !issilicon(user), ) @@ -409,7 +409,7 @@ else mob_occupant.adjustFireLoss(rand(10, 16)) mob_occupant.emote("scream") - addtimer(CALLBACK(src, .proc/cook), 50) + addtimer(CALLBACK(src, PROC_REF(cook)), 50) else uv_cycles = initial(uv_cycles) uv = FALSE @@ -496,7 +496,7 @@ if(locked) visible_message("You see [user] kicking against the doors of [src]!", \ "You start kicking against the doors...") - addtimer(CALLBACK(src, .proc/resist_open, user), 300) + addtimer(CALLBACK(src, PROC_REF(resist_open), user), 300) else open_machine() dump_contents() diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 83182bedb942..b3bd14af5a07 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -401,7 +401,7 @@ chem_splash(get_turf(src), spread_range, list(reactants), temp_boost) // Detonate it again in one second, until it's out of juice. - addtimer(CALLBACK(src, .proc/detonate), 10) + addtimer(CALLBACK(src, PROC_REF(detonate)), 10) // If it's not a time release bomb, do normal explosion diff --git a/code/game/machinery/teambuilder.dm b/code/game/machinery/teambuilder.dm index 66a384036c35..153035a39374 100644 --- a/code/game/machinery/teambuilder.dm +++ b/code/game/machinery/teambuilder.dm @@ -17,7 +17,7 @@ /obj/machinery/teambuilder/Initialize(mapload, apply_default_parts) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/game/machinery/telecomms/computers/message.dm b/code/game/machinery/telecomms/computers/message.dm index d3bf1657273f..96c0af2b7787 100644 --- a/code/game/machinery/telecomms/computers/message.dm +++ b/code/game/machinery/telecomms/computers/message.dm @@ -59,7 +59,7 @@ // Will help make emagging the console not so easy to get away with. monitor_key_paper.add_raw_text("

£%@%(*$%&(£&?*(%&£/{}") var/time = 100 * length(linkedServer.decryptkey) - addtimer(CALLBACK(src, .proc/UnmagConsole), time) + addtimer(CALLBACK(src, PROC_REF(UnmagConsole)), time) message = rebootmsg else to_chat(user, "A no server error appears on the screen.") @@ -347,7 +347,7 @@ hacking = TRUE screen = MSG_MON_SCREEN_HACKED //Time it takes to bruteforce is dependant on the password length. - addtimer(CALLBACK(src, .proc/finish_bruteforce, usr), 100*length(linkedServer.decryptkey)) + addtimer(CALLBACK(src, PROC_REF(finish_bruteforce), usr), 100*length(linkedServer.decryptkey)) //Delete the log. if (href_list["delete_logs"]) diff --git a/code/game/machinery/telecomms/machines/broadcaster.dm b/code/game/machinery/telecomms/machines/broadcaster.dm index 1d29e99b27f4..ce44158cdcc8 100644 --- a/code/game/machinery/telecomms/machines/broadcaster.dm +++ b/code/game/machinery/telecomms/machines/broadcaster.dm @@ -49,7 +49,7 @@ GLOBAL_VAR_INIT(message_delay, 0) // To make sure restarting the recentmessages if(!GLOB.message_delay) GLOB.message_delay = TRUE - addtimer(CALLBACK(GLOBAL_PROC, .proc/end_message_delay), 1 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(end_message_delay)), 1 SECONDS) /* --- Do a snazzy animation! --- */ flick("broadcaster_send", src) diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index dec15ed3013b..11f3d7b34f58 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -140,7 +140,7 @@ GLOBAL_LIST_EMPTY(telecomms_list) if(prob(100/severity) && !(machine_stat & EMPED)) set_machine_stat(machine_stat | EMPED) var/duration = (300 * 10)/severity - addtimer(CALLBACK(src, .proc/de_emp), rand(duration - 20, duration + 20)) + addtimer(CALLBACK(src, PROC_REF(de_emp)), rand(duration - 20, duration + 20)) /obj/machinery/telecomms/proc/de_emp() set_machine_stat(machine_stat & ~EMPED) diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index 8d449ef1c98b..da5a006de0b5 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -101,7 +101,7 @@ R.set_connected_ai(masterAI) R.lawsync() R.lawupdate = 1 - addtimer(CALLBACK(src, .proc/unlock_new_robot, R), 50) + addtimer(CALLBACK(src, PROC_REF(unlock_new_robot), R), 50) /obj/machinery/transformer/proc/unlock_new_robot(mob/living/silicon/robot/R) playsound(src.loc, 'sound/machines/ping.ogg', 50, FALSE) diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index a437c59c9352..1d6a9e3845b8 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -160,7 +160,7 @@ GLOBAL_LIST_INIT(dye_registry, list( return busy = TRUE update_appearance() - addtimer(CALLBACK(src, .proc/wash_cycle), 200) + addtimer(CALLBACK(src, PROC_REF(wash_cycle)), 200) START_PROCESSING(SSfastprocess, src) diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm index ac8920367620..728bacdb671d 100644 --- a/code/game/mecha/combat/durand.dm +++ b/code/game/mecha/combat/durand.dm @@ -26,8 +26,8 @@ /obj/mecha/combat/durand/Initialize() . = ..() shield = new /obj/durand_shield(loc, src, layer, dir) - RegisterSignal(src, COMSIG_MECHA_ACTION_ACTIVATE, .proc/relay) - RegisterSignal(src, COMSIG_PROJECTILE_PREHIT, .proc/prehit) + RegisterSignal(src, COMSIG_MECHA_ACTION_ACTIVATE, PROC_REF(relay)) + RegisterSignal(src, COMSIG_PROJECTILE_PREHIT, PROC_REF(prehit)) /obj/mecha/combat/durand/Destroy() @@ -165,7 +165,7 @@ own integrity back to max. Shield is automatically dropped if we run out of powe chassis = _chassis layer = _layer setDir(_dir) - RegisterSignal(src, COMSIG_MECHA_ACTION_ACTIVATE, .proc/activate) + RegisterSignal(src, COMSIG_MECHA_ACTION_ACTIVATE, PROC_REF(activate)) /obj/durand_shield/Destroy() @@ -204,11 +204,11 @@ the shield is disabled by means other than the action button (like running out o invisibility = 0 flick("shield_raise", src) playsound(src, 'sound/mecha/mech_shield_raise.ogg', 50, FALSE) - addtimer(CALLBACK(src, .proc/shield_icon_enable), 3) + addtimer(CALLBACK(src, PROC_REF(shield_icon_enable)), 3) else flick("shield_drop", src) playsound(src, 'sound/mecha/mech_shield_drop.ogg', 50, FALSE) - addtimer(CALLBACK(src, .proc/shield_icon_reset), 5) + addtimer(CALLBACK(src, PROC_REF(shield_icon_reset)), 5) switching = FALSE /obj/durand_shield/proc/shield_icon_enable() diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index c6c91e5b9a44..63d308f69558 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -99,7 +99,7 @@ /obj/item/mecha_parts/mecha_equipment/proc/start_cooldown() set_ready_state(0) chassis.use_power(energy_drain) - addtimer(CALLBACK(src, .proc/set_ready_state, 1), equip_cooldown) + addtimer(CALLBACK(src, PROC_REF(set_ready_state), 1), equip_cooldown) /obj/item/mecha_parts/mecha_equipment/proc/do_after_cooldown(atom/target) if(!chassis) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 2beaf9129ff6..1b33de31b54e 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -122,7 +122,7 @@ var/mob/M = A if(M.mob_negates_gravity()) continue - INVOKE_ASYNC(src, .proc/do_scatter, A, target) + INVOKE_ASYNC(src, PROC_REF(do_scatter), A, target) var/turf/T = get_turf(target) log_game("[key_name(chassis.occupant)] used a Gravitational Catapult repulse wave on [AREACOORD(T)]") diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index fe48f4ead497..b1f8d126705c 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -377,7 +377,7 @@ /obj/item/mecha_parts/mecha_equipment/cable_layer/attach() ..() - event = chassis.events.addEvent("onMove", CALLBACK(src, .proc/layCable)) + event = chassis.events.addEvent("onMove", CALLBACK(src, PROC_REF(layCable))) return /obj/item/mecha_parts/mecha_equipment/cable_layer/detach() diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index e342defadf1b..4a16a6f9b249 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -72,7 +72,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/energy/start_cooldown() set_ready_state(0) chassis.use_power(energy_drain*get_shot_amount()) - addtimer(CALLBACK(src, .proc/set_ready_state, 1), equip_cooldown) + addtimer(CALLBACK(src, PROC_REF(set_ready_state), 1), equip_cooldown) /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser equip_cooldown = 8 @@ -439,7 +439,7 @@ var/turf/T = get_turf(src) message_admins("[ADMIN_LOOKUPFLW(chassis.occupant)] fired a [src] in [ADMIN_VERBOSEJMP(T)]") log_game("[key_name(chassis.occupant)] fired a [src] in [AREACOORD(T)]") - addtimer(CALLBACK(F, /obj/item/grenade/flashbang.proc/prime), det_time) + addtimer(CALLBACK(F, TYPE_PROC_REF(/obj/item/grenade/flashbang, prime)), det_time) /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/clusterbang //Because I am a heartless bastard -Sieve //Heartless? for making the poor man's honkblast? - Kaze name = "\improper SOB-3 grenade launcher" diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 160b6a27ab3d..6814f0cc2e7f 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -386,7 +386,7 @@ add_part_set_to_queue(href_list["partset_to_queue"]) return update_queue_on_page() if(href_list["process_queue"]) - INVOKE_ASYNC(src, .proc/do_process_queue) + INVOKE_ASYNC(src, PROC_REF(do_process_queue)) if(href_list["clear_temp"]) temp = null if(href_list["screen"]) @@ -448,7 +448,7 @@ /obj/machinery/mecha_part_fabricator/proc/AfterMaterialInsert(item_inserted, id_inserted, amount_inserted) var/datum/material/M = id_inserted add_overlay("fab-load-[M.name]") - addtimer(CALLBACK(src, /atom/proc/cut_overlay, "fab-load-[M.name]"), 10) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, cut_overlay), "fab-load-[M.name]"), 10) updateUsrDialog() /obj/machinery/mecha_part_fabricator/attackby(obj/item/W, mob/user, params) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index fe1ca47ad4b3..d2c712d32ea8 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -458,7 +458,7 @@ for(var/mob/M in get_hearers_in_view(7,src)) if(M.client) speech_bubble_recipients.Add(M.client) - INVOKE_ASYNC(GLOBAL_PROC, /proc/flick_overlay, image('icons/mob/talk.dmi', src, "machine[say_test(raw_message)]",MOB_LAYER+1), speech_bubble_recipients, 30) + INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay), image('icons/mob/talk.dmi', src, "machine[say_test(raw_message)]",MOB_LAYER+1), speech_bubble_recipients, 30) //////////////////////////// ///// Action processing //// diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 83f44f536b56..5172619ba022 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -421,7 +421,7 @@ outer_plating_amount=1 /datum/component/construction/mecha/gygax/action(datum/source, atom/used_atom, mob/user) - return INVOKE_ASYNC(src, .proc/check_step, used_atom, user) + return INVOKE_ASYNC(src, PROC_REF(check_step), used_atom, user) /datum/component/construction/mecha/gygax/custom_action(obj/item/I, mob/living/user, diff) if(!..()) diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index 3aac1d0468ae..de051d5b355e 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -133,7 +133,7 @@ return if(chassis) chassis.emp_act(EMP_HEAVY) - addtimer(CALLBACK(src, /obj/item/mecha_parts/mecha_tracking/proc/recharge), 5 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/mecha_parts/mecha_tracking, recharge)), 5 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) recharging = TRUE /** diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm index d10b2e878a61..50652434c6f6 100644 --- a/code/game/mecha/mecha_defense.dm +++ b/code/game/mecha/mecha_defense.dm @@ -167,7 +167,7 @@ occupant?.update_mouse_pointer() if(!equipment_disabled && occupant) //prevent spamming this message with back-to-back EMPs to_chat(occupant, "Error -- Connection to equipment control unit has been lost.
") - addtimer(CALLBACK(src, /obj/mecha/proc/restore_equipment), 3 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/mecha, restore_equipment)), 3 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) equipment_disabled = 1 /obj/mecha/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm index 9b7a5e65c9e5..f2028def7b45 100644 --- a/code/game/mecha/mecha_topic.dm +++ b/code/game/mecha/mecha_topic.dm @@ -408,7 +408,7 @@ if(href_list["repair_int_control_lost"]) occupant_message("Recalibrating coordination system...") log_message("Recalibration of coordination system started.", LOG_MECHA) - addtimer(CALLBACK(src, .proc/stationary_repair, loc), 100, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(stationary_repair), loc), 100, TIMER_UNIQUE) ///Repairs internal damage if the mech hasn't moved. /obj/mecha/proc/stationary_repair(location) diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm index ef47a3fa0fed..bf11c24b0d88 100644 --- a/code/game/mecha/mecha_wreckage.dm +++ b/code/game/mecha/mecha_wreckage.dm @@ -32,7 +32,7 @@ return AI = AI_pilot AI.apply_damage(150, BURN) //Give the AI a bit of damage from the "shock" of being suddenly shut down - INVOKE_ASYNC(AI, /mob/living/silicon.proc/death) //The damage is not enough to kill the AI, but to be 'corrupted files' in need of repair. + INVOKE_ASYNC(AI, TYPE_PROC_REF(/mob/living/silicon, death)) //The damage is not enough to kill the AI, but to be 'corrupted files' in need of repair. AI.forceMove(src) //Put the dead AI inside the wreckage for recovery add_overlay(mutable_appearance('icons/obj/projectiles.dmi', "green_laser")) //Overlay for the recovery beacon AI.controlled_mech = null diff --git a/code/game/objects/effects/alien_acid.dm b/code/game/objects/effects/alien_acid.dm index e9b6487d9480..52a69d47cb5e 100644 --- a/code/game/objects/effects/alien_acid.dm +++ b/code/game/objects/effects/alien_acid.dm @@ -26,7 +26,7 @@ START_PROCESSING(SSobj, src) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/game/objects/effects/anomalies/anomalies_gravity.dm b/code/game/objects/effects/anomalies/anomalies_gravity.dm index e8bdd61dd3fc..1dea7049fc97 100644 --- a/code/game/objects/effects/anomalies/anomalies_gravity.dm +++ b/code/game/objects/effects/anomalies/anomalies_gravity.dm @@ -21,7 +21,7 @@ /obj/effect/anomaly/grav/Initialize(mapload, new_lifespan, drops_core) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -88,7 +88,7 @@ /obj/effect/anomaly/grav/high/Initialize(mapload, new_lifespan) . = ..() - INVOKE_ASYNC(src, .proc/setup_grav_field) + INVOKE_ASYNC(src, PROC_REF(setup_grav_field)) /obj/effect/anomaly/grav/high/proc/setup_grav_field() grav_field = new(src, effectrange, TRUE, 2) diff --git a/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm b/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm index 1a81cecabc79..aead14f26e25 100644 --- a/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm +++ b/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm @@ -22,15 +22,6 @@ to_chat(mob, span_warning("Your blood feels thick..")) playsound(mob, 'sound/effects/bubbles.ogg', 50) - - if(!COOLDOWN_FINISHED(src, pulse_secondary_cooldown)) - return - - COOLDOWN_START(src, pulse_secondary_cooldown, pulse_delay*5) - var/turf/open/tile = get_turf(src) - if(istype(tile)) - tile.atmos_spawn_air("plasma=750;TEMP=200") //free lag! - /obj/effect/anomaly/plasmasoul/Bumped(atom/movable/AM) var/turf/open/spot = locate(rand(src.x-effectrange, src.x+effectrange), rand(src.y-effectrange, src.y+effectrange), src.z) for(var/mob/living/mob in range(effectrange,src)) diff --git a/code/game/objects/effects/anomalies/anomalies_static.dm b/code/game/objects/effects/anomalies/anomalies_static.dm index 07107cd5a332..205a8778d394 100644 --- a/code/game/objects/effects/anomalies/anomalies_static.dm +++ b/code/game/objects/effects/anomalies/anomalies_static.dm @@ -6,6 +6,12 @@ aSignal = /obj/item/assembly/signaler/anomaly/tvstatic effectrange = 4 pulse_delay = 4 SECONDS + verb_say = "pleads" + verb_ask = "begs" + verb_exclaim = "screams" + verb_whisper = "whimpers" + verb_yell = "screams" + speech_span = SPAN_ITALICS var/mob/living/carbon/stored_mob = null /obj/effect/anomaly/tvstatic/examine(mob/user) @@ -13,9 +19,9 @@ if(!iscarbon(user)) return if(iscarbon(user) && !user.research_scanner) //this'll probably cause some weirdness when I start using research scanner in more places / on more items. Oh well. - var/mob/living/carbon/bah = user - to_chat(bah, span_userdanger("Your head aches as you stare into the [src]!")) - bah.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5, 100) + var/mob/living/carbon/victim = user + to_chat(victim, span_userdanger("Your head aches as you stare into [src]!")) + victim.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5, 100) /obj/effect/anomaly/tvstatic/anomalyEffect() ..() @@ -29,11 +35,13 @@ COOLDOWN_START(src, pulse_cooldown, pulse_delay) - for(var/mob/living/carbon/looking in range(effectrange, src)) - playsound(src, 'sound/effects/walkietalkie.ogg', 100) - if (!HAS_TRAIT(looking, TRAIT_MINDSHIELD) && looking.stat != DEAD || !looking.research_scanner && looking.stat != DEAD) + for(var/mob/living/carbon/human/looking in range(effectrange, src)) + playsound(src, 'sound/effects/walkietalkie.ogg', 75) + if(stored_mob && looking.stat != DEAD && prob(25)) + say_fucky_things() + if (!HAS_TRAIT(looking, TRAIT_MINDSHIELD) && looking.stat != DEAD || !looking.research_scanner && looking.stat != DEAD || !HAS_TRAIT(looking, TRAIT_DEAF)) looking.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 200) - playsound(src, 'sound/effects/stall.ogg', 100) + playsound(src, 'sound/effects/stall.ogg', 50) if(looking.getOrganLoss(ORGAN_SLOT_BRAIN) >= 150 && looking.stat != DEAD) if(prob(20)) var/mob/living/carbon/victim = looking @@ -49,15 +57,55 @@ /obj/effect/anomaly/tvstatic/Bumped(atom/movable/AM) anomalyEffect() +/obj/effect/anomaly/tvstatic/proc/say_fucky_things() + switch(rand(1, 13)) + if(1) + say("... Help me...") + if(2) + say("... I need to get out ...") + if(3) + say("...No hope....") + if(4) + say("....Let me loose...") + if(5) + say("...stay with me...") + if(6) + say("...I hope I live...") + if(7) + say("...please don't go...") + if(8) + say("...don't forget me...") + if(9) + say("...Are you there...?") + if(10) + say("...it hurts...") + if(11) + say("...the eyes...") + if(12) + say("...need to run...") + if(13) + say("...don't become like me...") + return + /obj/effect/anomaly/tvstatic/detonate() - for(var/mob/living/carbon/looking in range(effectrange, src)) + for(var/mob/living/carbon/human/looking in range(effectrange, src)) visible_message(" The static lashes out, agony filling your mind as its tendrils scrape your thoughts!") if (!HAS_TRAIT(looking, TRAIT_MINDSHIELD) && looking.stat != DEAD) looking.adjustOrganLoss(ORGAN_SLOT_BRAIN, 100, 200) playsound(src, 'sound/effects/stall.ogg', 100) + if(stored_mob) + mangle_corpse() + visible_message("The static sputters out [stored_mob], their body coming out in a burst of blood and gore!") + new /obj/effect/gibspawner/human(loc) + stored_mob.forceMove(get_turf(src)) + stored_mob = null anomalyEffect() . = ..() +/obj/effect/anomaly/tvstatic/proc/mangle_corpse() + if(!stored_mob) + return + stored_mob.adjustBruteLoss(400) /obj/effect/anomaly/tvstatic/anomalyNeutralize() var/turf/T = get_turf(src) @@ -73,6 +121,11 @@ immortal = TRUE immobile = TRUE +/obj/effect/anomaly/tvstatic/planetary/Initialize(mapload) + if(prob(25)) + stored_mob = /obj/effect/mob_spawn/human/corpse/damaged + . = ..() + /obj/effect/particle_effect/staticball name = "static blob" desc = "An unsettling mass of free floating static" diff --git a/code/game/objects/effects/blessing.dm b/code/game/objects/effects/blessing.dm index 2bb45924dfdd..be2d89707882 100644 --- a/code/game/objects/effects/blessing.dm +++ b/code/game/objects/effects/blessing.dm @@ -16,7 +16,7 @@ I.alpha = 64 I.appearance_flags = RESET_ALPHA add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/blessedAware, "blessing", I) - RegisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT, .proc/block_cult_teleport) + RegisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT, PROC_REF(block_cult_teleport)) /obj/effect/blessing/Destroy() UnregisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT) diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm index 60bdcb7c1546..4c5553c4bfbc 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -92,7 +92,7 @@ name = "poster - [name]" desc = "A large piece of space-resistant printed paper. [desc]" - addtimer(CALLBACK(src, /datum.proc/_AddComponent, list(/datum/component/beauty, 300)), 0) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum, _AddComponent), list(/datum/component/beauty, 300)), 0) /obj/structure/sign/poster/proc/randomise() var/obj/structure/sign/poster/selected diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index d00f3eb256a6..a0909bb0b994 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -27,11 +27,11 @@ AddComponent(/datum/component/infective, diseases_to_add) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) - addtimer(CALLBACK(src, /datum.proc/_AddComponent, list(/datum/component/beauty, beauty)), 0) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum, _AddComponent), list(/datum/component/beauty, beauty)), 0) SSblackbox.record_feedback("tally", "station_mess_created", 1, name) diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index d1f65a592091..5610e6a19efa 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -268,7 +268,7 @@ /obj/effect/decal/cleanable/squid_ink/ComponentInitialize() . = ..() - AddComponent(/datum/component/slippery, 5SECONDS, NO_SLIP_WHEN_WALKING, CALLBACK(src, .proc/AfterSlip), 3SECONDS) + AddComponent(/datum/component/slippery, 5SECONDS, NO_SLIP_WHEN_WALKING, CALLBACK(src, PROC_REF(AfterSlip)), 3SECONDS) /obj/effect/decal/cleanable/squid_ink/proc/AfterSlip(mob/living/M) M.AddComponent(/datum/component/outline) diff --git a/code/game/objects/effects/decals/turfdecal/flooring_decals.dm b/code/game/objects/effects/decals/turfdecal/flooring_decals.dm index cfbc81a631a1..b5c6f9fe0eec 100644 --- a/code/game/objects/effects/decals/turfdecal/flooring_decals.dm +++ b/code/game/objects/effects/decals/turfdecal/flooring_decals.dm @@ -1092,3 +1092,17 @@ TURF_DECAL_COLOR_HELPER(transparent/inteqbrown, "#4b2a18", 140) /obj/effect/turf_decal/hardline_big/seven icon_state = "hardline_big-7" + +//ARROW & AXE DOCKYARDS + +/obj/effect/turf_decal/arrowaxe_small + name = "small arrow & axe logo" + +/obj/effect/turf_decal/arrowaxe_small/left + icon_state = "arrowaxe-left" + +/obj/effect/turf_decal/arrowaxe_small/center + icon_state = "arrowaxe-center" + +/obj/effect/turf_decal/arrowaxe_small/right + icon_state = "arrowaxe-right" diff --git a/code/game/objects/effects/decals/turfdecal/weather.dm b/code/game/objects/effects/decals/turfdecal/weather.dm index d73af55ef7e9..04dcf807314a 100644 --- a/code/game/objects/effects/decals/turfdecal/weather.dm +++ b/code/game/objects/effects/decals/turfdecal/weather.dm @@ -2,14 +2,14 @@ name = "sandy floor" icon_state = "sandyfloor" -/obj/effect/turf_decal/weather/snow - name = "snowy floor" - icon_state = "snowyfloor" - -/obj/effect/turf_decal/weather/snow/corner - name = "snow corner piece" +/obj/effect/turf_decal/weather/snow //add a corner decal if you resprite this to look like the other sidings + name = "snow siding" icon = 'icons/turf/snow.dmi' - icon_state = "snow_corner" + icon_state = "snow_side" + +/obj/effect/turf_decal/weather/snow/surround + name = "surround" + icon_state = "snow_surround" /obj/effect/turf_decal/weather/dirt name = "dirt siding" diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm index 1093f078966d..8e2db3706ca3 100644 --- a/code/game/objects/effects/effect_system/effect_system.dm +++ b/code/game/objects/effects/effect_system/effect_system.dm @@ -56,7 +56,7 @@ would spawn and follow the beaker, even if it is carried or thrown. for(var/i in 1 to number) if(total_effects > 20) return - INVOKE_ASYNC(src, .proc/generate_effect) + INVOKE_ASYNC(src, PROC_REF(generate_effect)) /datum/effect_system/proc/generate_effect() if(holder) @@ -73,7 +73,7 @@ would spawn and follow the beaker, even if it is carried or thrown. sleep(5) step(E,direction) if(!QDELETED(src)) - addtimer(CALLBACK(src, .proc/decrement_total_effect), 20) + addtimer(CALLBACK(src, PROC_REF(decrement_total_effect)), 20) /datum/effect_system/proc/decrement_total_effect() total_effects-- diff --git a/code/game/objects/effects/effect_system/effects_explosion.dm b/code/game/objects/effects/effect_system/effects_explosion.dm index f12ee1e2df72..f8ed47a9b273 100644 --- a/code/game/objects/effects/effect_system/effects_explosion.dm +++ b/code/game/objects/effects/effect_system/effects_explosion.dm @@ -61,4 +61,4 @@ S.start() /datum/effect_system/explosion/smoke/start() ..() - addtimer(CALLBACK(src, .proc/create_smoke), 5) + addtimer(CALLBACK(src, PROC_REF(create_smoke)), 5) diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index a19ab7781269..7fc59d075356 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -42,7 +42,7 @@ /obj/effect/particle_effect/smoke/proc/kill_smoke() STOP_PROCESSING(SSobj, src) - INVOKE_ASYNC(src, .proc/fade_out) + INVOKE_ASYNC(src, PROC_REF(fade_out)) QDEL_IN(src, 10) /obj/effect/particle_effect/smoke/process() @@ -64,7 +64,7 @@ if(C.smoke_delay) return 0 C.smoke_delay++ - addtimer(CALLBACK(src, .proc/remove_smoke_delay, C), 10) + addtimer(CALLBACK(src, PROC_REF(remove_smoke_delay), C), 10) return 1 /obj/effect/particle_effect/smoke/proc/remove_smoke_delay(mob/living/carbon/C) @@ -95,7 +95,7 @@ //the smoke spreads rapidly but not instantly for(var/obj/effect/particle_effect/smoke/SM in newsmokes) - addtimer(CALLBACK(SM, /obj/effect/particle_effect/smoke.proc/spread_smoke), 1) + addtimer(CALLBACK(SM, TYPE_PROC_REF(/obj/effect/particle_effect/smoke, spread_smoke)), 1) /datum/effect_system/smoke_spread @@ -223,9 +223,9 @@ for(var/atom/movable/AM in T) if(AM.type == src.type) continue - reagents.expose(AM, TOUCH, fraction) + reagents.expose(AM, SMOKE, fraction) - reagents.expose(T, TOUCH, fraction) + reagents.expose(T, SMOKE, fraction) return 1 /obj/effect/particle_effect/smoke/chem/smoke_mob(mob/living/carbon/M) diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index 751025e7b49c..e46d8d92e82a 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -8,8 +8,11 @@ CanAtmosPass = ATMOS_PASS_DENSITY var/timeleft = 300 //Set to 0 for permanent forcefields (ugh) -/obj/effect/forcefield/Initialize() +/obj/effect/forcefield/Initialize(mapload, new_timeleft) . = ..() + //used to change the time for forcewine + if(new_timeleft) + timeleft = new_timeleft if(timeleft) QDEL_IN(src, timeleft) @@ -36,3 +39,10 @@ name = "invisible blockade" desc = "You're gonna be here awhile." timeleft = 600 + +/obj/effect/forcefield/resin + desc = "It's rapidly decaying!" + name = "resin" + icon_state = "atmos_resin" + CanAtmosPass = ATMOS_PASS_NO + timeleft = 1 diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index 327f77545d8b..f880b95497c4 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -80,7 +80,7 @@ else //if on the floor, glowshroom on-floor sprite icon_state = base_icon_state - addtimer(CALLBACK(src, .proc/Spread), delay) + addtimer(CALLBACK(src, PROC_REF(Spread)), delay) /obj/structure/glowshroom/proc/Spread() var/turf/ownturf = get_turf(src) @@ -127,7 +127,7 @@ shrooms_planted++ //if we failed due to generation, don't try to plant one later if(shrooms_planted < myseed.yield) //if we didn't get all possible shrooms planted, try again later myseed.yield -= shrooms_planted - addtimer(CALLBACK(src, .proc/Spread), delay) + addtimer(CALLBACK(src, PROC_REF(Spread)), delay) /obj/structure/glowshroom/proc/CalcDir(turf/location = loc) var/direction = 16 diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 4af986b79cbe..0ca73652857c 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -11,7 +11,7 @@ /obj/effect/mine/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -24,9 +24,9 @@ if(ismob(AM)) var/mob/MM = AM if(!(MM.movement_type & FLYING)) - INVOKE_ASYNC(src, .proc/triggermine, AM) + INVOKE_ASYNC(src, PROC_REF(triggermine), AM) else - INVOKE_ASYNC(src, .proc/triggermine, AM) + INVOKE_ASYNC(src, PROC_REF(triggermine), AM) /obj/effect/mine/proc/triggermine(mob/victim) if(triggered) @@ -161,7 +161,7 @@ return to_chat(victim, "RIP AND TEAR") - INVOKE_ASYNC(src, .proc/blood_delusion, victim) + INVOKE_ASYNC(src, PROC_REF(blood_delusion), victim) chainsaw = new(victim.loc) victim.log_message("entered a marg frenzy", LOG_ATTACK) @@ -176,7 +176,7 @@ var/datum/client_colour/colour = victim.add_client_colour(/datum/client_colour/bloodlust) QDEL_IN(colour, 11) doomslayer = victim - RegisterSignal(src, COMSIG_PARENT_QDELETING, .proc/end_blood_frenzy) + RegisterSignal(src, COMSIG_PARENT_QDELETING, PROC_REF(end_blood_frenzy)) QDEL_IN(WEAKREF(src), duration) /obj/effect/mine/pickup/bloodbath/proc/end_blood_frenzy() @@ -210,7 +210,7 @@ return to_chat(victim, "You feel fast!") victim.add_movespeed_modifier(/datum/movespeed_modifier/yellow_orb) - addtimer(CALLBACK(src, .proc/finish_effect, victim), duration) + addtimer(CALLBACK(src, PROC_REF(finish_effect), victim), duration) /obj/effect/mine/pickup/speed/proc/finish_effect(mob/living/carbon/victim) victim.remove_movespeed_modifier(/datum/movespeed_modifier/yellow_orb) diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 1e349fd17abb..8d46f5bfa7d8 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -1250,6 +1250,42 @@ )) return ..() + +//random RND imprinter/protolathe board spawners. Do not use on maps without a good reason +/obj/effect/spawner/lootdrop/randomprotolathe + name = "random departmental protolathe" + loot = list( + /obj/item/circuitboard/machine/protolathe/department/cargo, + /obj/item/circuitboard/machine/protolathe/department/engineering, + /obj/item/circuitboard/machine/protolathe/department/service, + /obj/item/circuitboard/machine/protolathe/department/medical, + /obj/item/circuitboard/machine/protolathe/department/science, + /obj/item/circuitboard/machine/protolathe/department/security + ) + +/obj/effect/spawner/lootdrop/randomimprinter + name = "random departmental circuit imprinter" + loot = list( + /obj/item/circuitboard/machine/circuit_imprinter/department/cargo, + /obj/item/circuitboard/machine/circuit_imprinter/department/engi, + /obj/item/circuitboard/machine/circuit_imprinter/department/civ, + /obj/item/circuitboard/machine/circuit_imprinter/department/med, + /obj/item/circuitboard/machine/circuit_imprinter/department/science, + /obj/item/circuitboard/machine/circuit_imprinter/department/sec + ) + +/obj/effect/spawner/lootdrop/randomtechfab + name = "random departmental techfab" + loot = list( + /obj/item/circuitboard/machine/techfab/department/service, + /obj/item/circuitboard/machine/techfab/department/cargo, + /obj/item/circuitboard/machine/techfab/department/engineering, + /obj/item/circuitboard/machine/techfab/department/service, + /obj/item/circuitboard/machine/techfab/department/medical, + /obj/item/circuitboard/machine/techfab/department/science, + /obj/item/circuitboard/machine/techfab/department/security + ) + /obj/effect/spawner/lootdrop/ration loot = list ( /obj/item/storage/ration/vegan_chili = 5, diff --git a/code/game/objects/effects/spawners/xeno_egg_delivery.dm b/code/game/objects/effects/spawners/xeno_egg_delivery.dm index 99eac4828932..1eb4fd0dda94 100644 --- a/code/game/objects/effects/spawners/xeno_egg_delivery.dm +++ b/code/game/objects/effects/spawners/xeno_egg_delivery.dm @@ -15,4 +15,4 @@ message_admins("An alien egg has been delivered to [ADMIN_VERBOSEJMP(T)].") log_game("An alien egg has been delivered to [AREACOORD(T)]") var/message = "Attention [station_name()], we have entrusted you with a research specimen in [get_area_name(T, TRUE)]. Remember to follow all safety precautions when dealing with the specimen." - SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, /proc/_addtimer, CALLBACK(GLOBAL_PROC, /proc/print_command_report, message), announcement_time)) + SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_addtimer), CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(print_command_report), message), announcement_time)) diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index b1134e471d03..b986ae41808b 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -161,7 +161,7 @@ forceMove(exit_vent) var/travel_time = round(get_dist(loc, exit_vent.loc) / 2) - addtimer(CALLBACK(src, .proc/do_vent_move, exit_vent, travel_time), travel_time) + addtimer(CALLBACK(src, PROC_REF(do_vent_move), exit_vent, travel_time), travel_time) /obj/structure/spider/spiderling/proc/do_vent_move(obj/machinery/atmospherics/components/unary/vent_pump/exit_vent, travel_time) if(QDELETED(exit_vent) || exit_vent.welded) @@ -171,7 +171,7 @@ if(prob(50)) audible_message("You hear something scampering through the ventilation ducts.") - addtimer(CALLBACK(src, .proc/finish_vent_move, exit_vent), travel_time) + addtimer(CALLBACK(src, PROC_REF(finish_vent_move), exit_vent), travel_time) /obj/structure/spider/spiderling/proc/finish_vent_move(obj/machinery/atmospherics/components/unary/vent_pump/exit_vent) if(QDELETED(exit_vent) || exit_vent.welded) @@ -199,7 +199,7 @@ visible_message("[src] scrambles into the ventilation ducts!", \ "You hear something scampering through the ventilation ducts.") - addtimer(CALLBACK(src, .proc/vent_move, exit_vent), rand(20,60)) + addtimer(CALLBACK(src, PROC_REF(vent_move), exit_vent), rand(20,60)) //================= diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm index 7d0612a8da65..76412acf2a5b 100644 --- a/code/game/objects/effects/step_triggers.dm +++ b/code/game/objects/effects/step_triggers.dm @@ -10,7 +10,7 @@ /obj/effect/step_trigger/Initialize(mapload) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -26,7 +26,7 @@ return if(!ismob(H) && mobs_only) return - INVOKE_ASYNC(src, .proc/Trigger, H) + INVOKE_ASYNC(src, PROC_REF(Trigger), H) /obj/effect/step_trigger/singularity_act() diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index d825f49c811d..8c8c8f900aab 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -514,7 +514,7 @@ status = rcd_status delay = rcd_delay if (status == RCD_DECONSTRUCT) - addtimer(CALLBACK(src, /atom/.proc/update_appearance), 1.1 SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), 1.1 SECONDS) delay -= 11 icon_state = "rcd_end_reverse" else @@ -540,7 +540,20 @@ qdel(src) else icon_state = "rcd_end" - addtimer(CALLBACK(src, .proc/end), 15) + addtimer(CALLBACK(src, PROC_REF(end)), 15) /obj/effect/constructing_effect/proc/end() qdel(src) + +/obj/effect/muzzle_flash + icon = 'icons/obj/projectiles.dmi' + icon_state = "muzzle_flash" + layer = ABOVE_MOB_LAYER + plane = GAME_PLANE + appearance_flags = KEEP_APART|TILE_BOUND + var/applied = FALSE + +/obj/effect/muzzle_flash/Initialize(mapload, new_icon_state) + . = ..() + if(new_icon_state) + icon_state = new_icon_state diff --git a/code/game/objects/effects/temporary_visuals/projectiles/impact.dm b/code/game/objects/effects/temporary_visuals/projectiles/impact.dm index 6460937bfe57..a89e65715d6a 100644 --- a/code/game/objects/effects/temporary_visuals/projectiles/impact.dm +++ b/code/game/objects/effects/temporary_visuals/projectiles/impact.dm @@ -40,3 +40,11 @@ /obj/effect/projectile/impact/laser/emitter name = "emitter impact" icon_state = "impact_emitter" + +/obj/effect/projectile/impact/kalix + name = "beam impact" + icon_state = "impact_pgf" + +/obj/effect/projectile/impact/pgf + name = "beam impact" + icon_state = "impact_pgf" diff --git a/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm b/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm index 697a3f633d81..e684c2826bca 100644 --- a/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm +++ b/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm @@ -32,3 +32,9 @@ /obj/effect/projectile/muzzle/wormhole icon_state = "wormhole_g" + +/obj/effect/projectile/muzzle/pgf + icon_state = "muzzle_pgf" + +/obj/effect/projectile/muzzle/kalix + icon_state = "muzzle_kalix" diff --git a/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm b/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm index be7962324f6d..776e6841d29c 100644 --- a/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm +++ b/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm @@ -70,3 +70,9 @@ /obj/effect/projectile/tracer/wormhole icon_state = "wormhole_g" + +/obj/effect/projectile/tracer/pgf + icon_state = "beam_pgf" + +/obj/effect/projectile/tracer/kalix + icon_state = "beam_kalix" diff --git a/code/game/objects/effects/turf_fire.dm b/code/game/objects/effects/turf_fire.dm index 01973670d608..a0c9e0f95a9b 100644 --- a/code/game/objects/effects/turf_fire.dm +++ b/code/game/objects/effects/turf_fire.dm @@ -71,7 +71,7 @@ return INITIALIZE_HINT_QDEL var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index e13cca64caf9..df7c5ae431c5 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -32,7 +32,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb ///Icon file for mob worn overlays. var/icon/mob_overlay_icon ///icon state for mob worn overlays, if null the normal icon_state will be used. - var/mob_overlay_state //WS EDIT - Mob Overlay State + var/mob_overlay_state ///Forced mob worn layer instead of the standard preferred ssize. var/alternate_worn_layer @@ -453,14 +453,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb SEND_SIGNAL(src, COMSIG_ITEM_HIT_REACT, args) if((prob(final_block_chance) && COOLDOWN_FINISHED(src, block_cooldown)) || (prob(final_block_chance) && istype(src, /obj/item/shield))) owner.visible_message("[owner] blocks [attack_text] with [src]!") - var/rand_ricochet = pick(list( - 'sound/weapons/effects/ric1.ogg', - 'sound/weapons/effects/ric2.ogg', - 'sound/weapons/effects/ric3.ogg', - 'sound/weapons/effects/ric4.ogg', - 'sound/weapons/effects/ric5.ogg' - )) - playsound(src, rand_ricochet, 100) + playsound(src, 'sound/weapons/effects/deflect.ogg', 100) if(!istype(src, /obj/item/shield)) COOLDOWN_START(src, block_cooldown, block_cooldown_time) return 1 @@ -684,7 +677,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb if(HAS_TRAIT(src, TRAIT_NODROP)) return thrownby = WEAKREF(thrower) - callback = CALLBACK(src, .proc/after_throw, callback) //replace their callback with our own + callback = CALLBACK(src, PROC_REF(after_throw), callback) //replace their callback with our own . = ..(target, range, speed, thrower, spin, diagonals_first, callback, force, gentle, quickstart = quickstart) /obj/item/proc/after_throw(datum/callback/callback) @@ -852,7 +845,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb if((item_flags & IN_INVENTORY || item_flags & IN_STORAGE) && usr.client.prefs.enable_tips && !QDELETED(src)) var/timedelay = usr.client.prefs.tip_delay/100 var/user = usr - tip_timer = addtimer(CALLBACK(src, .proc/openTip, location, control, params, user), timedelay, TIMER_STOPPABLE)//timer takes delay in deciseconds, but the pref is in milliseconds. dividing by 100 converts it. + tip_timer = addtimer(CALLBACK(src, PROC_REF(openTip), location, control, params, user), timedelay, TIMER_STOPPABLE)//timer takes delay in deciseconds, but the pref is in milliseconds. dividing by 100 converts it. var/mob/living/L = usr if(istype(L) && L.incapacitated()) apply_outline(COLOR_RED_GRAY) @@ -911,7 +904,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb if(delay) // Create a callback with checks that would be called every tick by do_after. - var/datum/callback/tool_check = CALLBACK(src, .proc/tool_check_callback, user, amount, extra_checks) + var/datum/callback/tool_check = CALLBACK(src, PROC_REF(tool_check_callback), user, amount, extra_checks) if(ismob(target)) if(!do_mob(user, target, delay, extra_checks=tool_check)) @@ -1099,6 +1092,10 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb if(SEND_SIGNAL(src, COMSIG_ITEM_OFFER_TAKEN, offerer, taker) & COMPONENT_OFFER_INTERRUPT) return TRUE +///Intended for interactions with guns, like racking +/obj/item/proc/unique_action(mob/living/user) + return + /** * Returns null if this object cannot be used to interact with physical writing mediums such as paper. * Returns a list of key attributes for this object interacting with paper otherwise. diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index b84ccff2b8c9..7548625b31f6 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -256,7 +256,7 @@ RLD "SOUTH" = image(icon = 'icons/mob/radial.dmi', icon_state = "csouth"), "WEST" = image(icon = 'icons/mob/radial.dmi', icon_state = "cwest") ) - var/computerdirs = show_radial_menu(user, src, computer_dirs, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/computerdirs = show_radial_menu(user, src, computer_dirs, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user)) return switch(computerdirs) @@ -313,13 +313,13 @@ RLD "External Maintenance" = get_airlock_image(/obj/machinery/door/airlock/maintenance/external/glass) ) - var/airlockcat = show_radial_menu(user, src, solid_or_glass_choices, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/airlockcat = show_radial_menu(user, src, solid_or_glass_choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user)) return switch(airlockcat) if("Solid") if(advanced_airlock_setting == 1) - var/airlockpaint = show_radial_menu(user, src, solid_choices, radius = 42, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/airlockpaint = show_radial_menu(user, src, solid_choices, radius = 42, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user)) return switch(airlockpaint) @@ -362,7 +362,7 @@ RLD if("Glass") if(advanced_airlock_setting == 1) - var/airlockpaint = show_radial_menu(user, src , glass_choices, radius = 42, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/airlockpaint = show_radial_menu(user, src , glass_choices, radius = 42, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user)) return switch(airlockpaint) @@ -455,7 +455,7 @@ RLD choices += list( "Change Window Type" = image(icon = 'icons/mob/radial.dmi', icon_state = "windowtype") ) - var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user)) return switch(choice) @@ -507,7 +507,7 @@ RLD buzz loudly!","[src] begins \ vibrating violently!") // 5 seconds to get rid of it - addtimer(CALLBACK(src, .proc/detonate_pulse_explode), 50) + addtimer(CALLBACK(src, PROC_REF(detonate_pulse_explode)), 50) /obj/item/construction/rcd/proc/detonate_pulse_explode() explosion(src, 0, 0, 3, 1, flame_range = 1) @@ -822,7 +822,7 @@ RLD machinery_data["cost"][A] = initial(M.rcd_cost) machinery_data["delay"][A] = initial(M.rcd_delay) - var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user)) return diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index 18661712b6e4..be7cafe22df9 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -25,8 +25,8 @@ /obj/item/rcl/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /obj/item/rcl/ComponentInitialize() . = ..() @@ -171,7 +171,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) - RegisterSignal(to_hook, COMSIG_MOVABLE_MOVED, .proc/trigger) + RegisterSignal(to_hook, COMSIG_MOVABLE_MOVED, PROC_REF(trigger)) listeningTo = to_hook /obj/item/rcl/proc/trigger(mob/user) @@ -255,7 +255,7 @@ /obj/item/rcl/proc/showWiringGui(mob/user) var/list/choices = wiringGuiGenerateChoices(user) - wiring_gui_menu = show_radial_menu_persistent(user, src , choices, select_proc = CALLBACK(src, .proc/wiringGuiReact, user), radius = 42) + wiring_gui_menu = show_radial_menu_persistent(user, src , choices, select_proc = CALLBACK(src, PROC_REF(wiringGuiReact), user), radius = 42) /obj/item/rcl/proc/wiringGuiUpdate(mob/user) if(!wiring_gui_menu) diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm index a6bdb4534b9b..d82a37d5ee6d 100644 --- a/code/game/objects/items/RSF.dm +++ b/code/game/objects/items/RSF.dm @@ -75,7 +75,7 @@ RSF var/cost = 0 //Warning, prepare for bodgecode while(islist(target))//While target is a list we continue the loop - var/picked = show_radial_menu(user, src, formRadial(target), custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE) + var/picked = show_radial_menu(user, src, formRadial(target), custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE) if(!check_menu(user) || picked == null) return for(var/emem in target)//Back through target agian diff --git a/code/game/objects/items/binoculars.dm b/code/game/objects/items/binoculars.dm index 97c3419f6fac..6d04e2e505ff 100644 --- a/code/game/objects/items/binoculars.dm +++ b/code/game/objects/items/binoculars.dm @@ -13,8 +13,8 @@ /obj/item/binoculars/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /obj/item/binoculars/ComponentInitialize() . = ..() @@ -27,8 +27,8 @@ /obj/item/binoculars/proc/on_wield(obj/item/source, mob/user) SIGNAL_HANDLER - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/on_walk) - RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, .proc/rotate) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_walk)) + RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, PROC_REF(rotate)) listeningTo = user user.visible_message("[user] holds [src] up to [user.p_their()] eyes.", "You hold [src] up to your eyes.") item_state = "binoculars_wielded" diff --git a/code/game/objects/items/body_egg.dm b/code/game/objects/items/body_egg.dm index cc4fd287c8b7..59fef712b505 100644 --- a/code/game/objects/items/body_egg.dm +++ b/code/game/objects/items/body_egg.dm @@ -19,14 +19,14 @@ ADD_TRAIT(owner, TRAIT_XENO_HOST, TRAIT_GENERIC) ADD_TRAIT(owner, TRAIT_XENO_IMMUNE, "xeno immune") owner.med_hud_set_status() - INVOKE_ASYNC(src, .proc/AddInfectionImages, owner) + INVOKE_ASYNC(src, PROC_REF(AddInfectionImages), owner) /obj/item/organ/body_egg/Remove(mob/living/carbon/M, special = 0) if(owner) REMOVE_TRAIT(owner, TRAIT_XENO_HOST, TRAIT_GENERIC) REMOVE_TRAIT(owner, TRAIT_XENO_IMMUNE, "xeno immune") owner.med_hud_set_status() - INVOKE_ASYNC(src, .proc/RemoveInfectionImages, owner) + INVOKE_ASYNC(src, PROC_REF(RemoveInfectionImages), owner) ..() /obj/item/organ/body_egg/on_death() diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index faf1f22a651a..52af9852be5c 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -45,7 +45,7 @@ /obj/item/bodybag/bluespace/Initialize() . = ..() - RegisterSignal(src, COMSIG_ATOM_CANREACH, .proc/CanReachReact) + RegisterSignal(src, COMSIG_ATOM_CANREACH, PROC_REF(CanReachReact)) /obj/item/bodybag/bluespace/examine(mob/user) . = ..() diff --git a/code/game/objects/items/broom.dm b/code/game/objects/items/broom.dm index 78ee6cc25d3c..b370c5ebc6c3 100644 --- a/code/game/objects/items/broom.dm +++ b/code/game/objects/items/broom.dm @@ -17,8 +17,8 @@ /obj/item/pushbroom/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /obj/item/pushbroom/ComponentInitialize() . = ..() @@ -33,7 +33,7 @@ SIGNAL_HANDLER to_chat(user, "You brace the [src] against the ground in a firm sweeping stance.") - RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, .proc/sweep) + RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(sweep)) /// triggered on unwield of two handed item /obj/item/pushbroom/proc/on_unwield(obj/item/source, mob/user) diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index 8a84ae2b3a35..f44359ca656c 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -101,7 +101,7 @@ * * user The mob choosing a skin of the cardboard cutout */ /obj/item/cardboard_cutout/proc/change_appearance(obj/item/toy/crayon/crayon, mob/living/user) - var/new_appearance = show_radial_menu(user, src, possible_appearances, custom_check = CALLBACK(src, .proc/check_menu, user, crayon), radius = 36, require_near = TRUE) + var/new_appearance = show_radial_menu(user, src, possible_appearances, custom_check = CALLBACK(src, PROC_REF(check_menu), user, crayon), radius = 36, require_near = TRUE) if(!new_appearance) return FALSE if(!do_after(user, 10, FALSE, src, TRUE)) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 58eba6e70e88..c4e48f1a629a 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -167,7 +167,7 @@ if(mapload && access_txt) access = text2access(access_txt) update_label() - RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, .proc/update_in_wallet) + RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, PROC_REF(update_in_wallet)) /obj/item/card/id/Destroy() if (registered_account) diff --git a/code/game/objects/items/chainsaw.dm b/code/game/objects/items/chainsaw.dm index 8d0d89a88638..f9181ef3ac6a 100644 --- a/code/game/objects/items/chainsaw.dm +++ b/code/game/objects/items/chainsaw.dm @@ -25,8 +25,8 @@ /obj/item/chainsaw/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /obj/item/chainsaw/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm index 772a80d6c0e4..29a8ff25c38a 100644 --- a/code/game/objects/items/charter.dm +++ b/code/game/objects/items/charter.dm @@ -57,7 +57,7 @@ to_chat(user, "Your name has been sent to your employers for approval.") // Autoapproves after a certain time - response_timer_id = addtimer(CALLBACK(src, .proc/rename_station, new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE) + response_timer_id = addtimer(CALLBACK(src, PROC_REF(rename_station), new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE) to_chat(GLOB.admins, "CUSTOM STATION RENAME:[ADMIN_LOOKUPFLW(user)] proposes to rename the [name_type] to [new_name] (will autoapprove in [DisplayTimeText(approval_time)]). [ADMIN_SMITE(user)] (REJECT) [ADMIN_CENTCOM_REPLY(user)]") /obj/item/sector_charter/proc/reject_proposed(user) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 44857142e4db..8800dee20016 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -342,10 +342,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM smoke_all = TRUE list_reagents = list(/datum/reagent/drug/nicotine = 10, /datum/reagent/medicine/omnizine = 15) -/obj/item/clothing/mask/cigarette/shadyjims - desc = "A Shady Jim's Super Slims cigarette." - list_reagents = list(/datum/reagent/drug/nicotine = 15, /datum/reagent/toxin/lipolicide = 4, /datum/reagent/ammonia = 2, /datum/reagent/toxin/plantbgone = 1, /datum/reagent/toxin = 1.5) - /obj/item/clothing/mask/cigarette/xeno desc = "A Xeno Filtered brand cigarette." list_reagents = list (/datum/reagent/drug/nicotine = 20, /datum/reagent/medicine/regen_jelly = 15, /datum/reagent/drug/krokodil = 4) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 7e7bd499a19b..e15f95a40709 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -802,13 +802,6 @@ /obj/item/stack/cable_coil = 1, /obj/item/stack/sheet/glass = 4) -/obj/item/circuitboard/machine/fat_sucker - name = "Lipid Extractor (Machine Board)" - icon_state = "medical" - build_path = /obj/machinery/fat_sucker - req_components = list(/obj/item/stock_parts/micro_laser = 1, - /obj/item/kitchen/fork = 1) - /obj/item/circuitboard/machine/harvester name = "Harvester (Machine Board)" icon_state = "medical" diff --git a/code/game/objects/items/debug_items.dm b/code/game/objects/items/debug_items.dm index e800eaed6846..14edc15f7d18 100644 --- a/code/game/objects/items/debug_items.dm +++ b/code/game/objects/items/debug_items.dm @@ -64,7 +64,7 @@ "Scalpel" = image(icon = 'icons/obj/surgery.dmi', icon_state = "scalpel"), "Saw" = image(icon = 'icons/obj/surgery.dmi', icon_state = "saw") ) - var/tool_result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/tool_result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user)) return switch(tool_result) diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index bf61f194b9b7..32a62880d69c 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -221,7 +221,7 @@ return FALSE /obj/item/defibrillator/proc/cooldowncheck(mob/user) - addtimer(CALLBACK(src, .proc/finish_charging), cooldown_duration) + addtimer(CALLBACK(src, PROC_REF(finish_charging)), cooldown_duration) /obj/item/defibrillator/proc/finish_charging() if(cell) @@ -329,7 +329,7 @@ . = ..() if(!req_defib) return - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/check_range) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(check_range)) /obj/item/shockpaddles/Moved() . = ..() @@ -369,8 +369,8 @@ /obj/item/shockpaddles/Initialize() . = ..() ADD_TRAIT(src, TRAIT_NO_STORAGE_INSERT, GENERIC_ITEM_TRAIT) //stops shockpaddles from being inserted in BoH - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) if(!req_defib) return //If it doesn't need a defib, just say it exists if (!loc || !istype(loc, /obj/item/defibrillator)) //To avoid weird issues from admin spawns diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 9dd00660d362..dff96fd8076d 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -1097,7 +1097,7 @@ GLOBAL_LIST_EMPTY(PDAs) AM.emp_act(severity) if (!(. & EMP_PROTECT_SELF)) emped++ - addtimer(CALLBACK(src, .proc/emp_end), 200 * severity) + addtimer(CALLBACK(src, PROC_REF(emp_end)), 200 * severity) /obj/item/pda/proc/emp_end() emped-- diff --git a/code/game/objects/items/devices/PDA/PDA_types.dm b/code/game/objects/items/devices/PDA/PDA_types.dm index 39b3545c1400..3b2d44d9d838 100644 --- a/code/game/objects/items/devices/PDA/PDA_types.dm +++ b/code/game/objects/items/devices/PDA/PDA_types.dm @@ -10,8 +10,8 @@ /obj/item/pda/clown/ComponentInitialize() . = ..() - AddComponent(/datum/component/slippery/clowning, 120, NO_SLIP_WHEN_WALKING, CALLBACK(src, .proc/AfterSlip)) - AddComponent(/datum/component/wearertargeting/sitcomlaughter, CALLBACK(src, .proc/after_sitcom_laugh)) + AddComponent(/datum/component/slippery/clowning, 120, NO_SLIP_WHEN_WALKING, CALLBACK(src, PROC_REF(AfterSlip))) + AddComponent(/datum/component/wearertargeting/sitcomlaughter, CALLBACK(src, PROC_REF(after_sitcom_laugh))) /obj/item/pda/clown/proc/AfterSlip(mob/living/carbon/human/M) if (istype(M) && (M.real_name != owner)) @@ -61,7 +61,7 @@ /obj/item/pda/ai/Initialize() . = ..() - RegisterSignal(src, COMSIG_PDA_CHECK_DETONATE, .proc/pda_no_detonate) + RegisterSignal(src, COMSIG_PDA_CHECK_DETONATE, PROC_REF(pda_no_detonate)) /obj/item/pda/medical name = "medical PDA" @@ -144,7 +144,7 @@ /obj/item/pda/captain/Initialize() . = ..() - RegisterSignal(src, COMSIG_PDA_CHECK_DETONATE, .proc/pda_no_detonate) + RegisterSignal(src, COMSIG_PDA_CHECK_DETONATE, PROC_REF(pda_no_detonate)) /obj/item/pda/cargo name = "cargo technician PDA" diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 1e96a5b3ce01..65bda2aa1f54 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -486,7 +486,7 @@ Code: active1 = null if("Send Signal") - INVOKE_ASYNC(radio, /obj/item/integrated_signaler.proc/send_activation) + INVOKE_ASYNC(radio, TYPE_PROC_REF(/obj/item/integrated_signaler, send_activation)) if("Signal Frequency") var/new_frequency = sanitize_frequency(radio.frequency + text2num(href_list["sfreq"])) diff --git a/code/game/objects/items/devices/desynchronizer.dm b/code/game/objects/items/devices/desynchronizer.dm index f5b7cd58fddb..ae57fe3d61eb 100644 --- a/code/game/objects/items/devices/desynchronizer.dm +++ b/code/game/objects/items/devices/desynchronizer.dm @@ -55,7 +55,7 @@ SEND_SIGNAL(AM, COMSIG_MOVABLE_SECLUDED_LOCATION) last_use = world.time icon_state = "desynchronizer-on" - resync_timer = addtimer(CALLBACK(src, .proc/resync), duration , TIMER_STOPPABLE) + resync_timer = addtimer(CALLBACK(src, PROC_REF(resync)), duration , TIMER_STOPPABLE) /obj/item/desynchronizer/proc/resync() new /obj/effect/temp_visual/desynchronizer(sync_holder.drop_location()) diff --git a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm index 3833b63d7ac7..8986f8443698 100644 --- a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm +++ b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm @@ -43,7 +43,7 @@ maptext = "[circuits]" icon_state = "[initial(icon_state)]_recharging" var/recharge_time = min(600, circuit_cost * 5) //40W of cost for one fabrication = 20 seconds of recharge time; this is to prevent spamming - addtimer(CALLBACK(src, .proc/recharge), recharge_time) + addtimer(CALLBACK(src, PROC_REF(recharge)), recharge_time) return TRUE //The actual circuit magic itself is done on a per-object basis /obj/item/electroadaptive_pseudocircuit/afterattack(atom/target, mob/living/user, proximity) diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index e9da1f126aab..4abc1a3786bb 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -138,7 +138,7 @@ if(user.a_intent == INTENT_HELP) if(!(obj_flags & EMAGGED)) user.visible_message("[user] scans [target] with [src].", "You scan [target]'s radiation levels with [src]...") - addtimer(CALLBACK(src, .proc/scan, target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents + addtimer(CALLBACK(src, PROC_REF(scan), target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents else user.visible_message("[user] scans [target] with [src].", "You project [src]'s stored radiation into [target]!") target.rad_act(radiation_count) @@ -212,7 +212,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, COMSIG_ATOM_RAD_ACT) - RegisterSignal(user, COMSIG_ATOM_RAD_ACT, .proc/redirect_rad_act) + RegisterSignal(user, COMSIG_ATOM_RAD_ACT, PROC_REF(redirect_rad_act)) listeningTo = user /obj/item/geiger_counter/cyborg/proc/redirect_rad_act(datum/source, amount) diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm index 2f3429995845..fa95991750ec 100644 --- a/code/game/objects/items/devices/megaphone.dm +++ b/code/game/objects/items/devices/megaphone.dm @@ -14,7 +14,7 @@ /obj/item/megaphone/equipped(mob/M, slot) . = ..() if (slot == ITEM_SLOT_HANDS) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) else UnregisterSignal(M, COMSIG_MOB_SAY) diff --git a/code/game/objects/items/devices/pressureplates.dm b/code/game/objects/items/devices/pressureplates.dm index 6368a4b3d17f..60cfe4eb89b3 100644 --- a/code/game/objects/items/devices/pressureplates.dm +++ b/code/game/objects/items/devices/pressureplates.dm @@ -31,10 +31,10 @@ sigdev.frequency = roundstart_signaller_freq AddElement(/datum/element/undertile, tile_overlay = tile_overlay, use_anchor = TRUE) - RegisterSignal(src, COMSIG_OBJ_HIDE, .proc/ToggleActive) + RegisterSignal(src, COMSIG_OBJ_HIDE, PROC_REF(ToggleActive)) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -50,7 +50,7 @@ else if(!trigger_item) return can_trigger = FALSE - addtimer(CALLBACK(src, .proc/trigger), trigger_delay) + addtimer(CALLBACK(src, PROC_REF(trigger)), trigger_delay) /obj/item/pressure_plate/proc/trigger() can_trigger = TRUE diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 3c35294f8e3f..a91789c542cd 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -22,7 +22,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31) var/area/current_area = get_area(src) if(!current_area) return - RegisterSignal(current_area, COMSIG_AREA_POWER_CHANGE, .proc/AreaPowerCheck) + RegisterSignal(current_area, COMSIG_AREA_POWER_CHANGE, PROC_REF(AreaPowerCheck)) /obj/item/radio/intercom/examine(mob/user) . = ..() diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 2a5a043656c2..e95ab85cda9d 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -200,7 +200,7 @@ spans = list(M.speech_span) if(!language) language = M.get_selected_language() - INVOKE_ASYNC(src, .proc/talk_into_impl, M, message, channel, spans.Copy(), language, message_mods) + INVOKE_ASYNC(src, PROC_REF(talk_into_impl), M, message, channel, spans.Copy(), language, message_mods) return ITALICS | REDUCE_RANGE /obj/item/radio/proc/talk_into_impl(atom/movable/M, message, channel, list/spans, datum/language/language, list/message_mods) @@ -272,7 +272,7 @@ // Non-subspace radios will check in a couple of seconds, and if the signal // was never received, send a mundane broadcast (no headsets). - addtimer(CALLBACK(src, .proc/backup_transmission, signal), 20) + addtimer(CALLBACK(src, PROC_REF(backup_transmission), signal), 20) /obj/item/radio/proc/backup_transmission(datum/signal/subspace/vocal/signal) var/turf/T = get_turf(src) @@ -367,7 +367,7 @@ for (var/ch_name in channels) channels[ch_name] = 0 on = FALSE - addtimer(CALLBACK(src, .proc/end_emp_effect, curremp), 200) + addtimer(CALLBACK(src, PROC_REF(end_emp_effect), curremp), 200) /obj/item/radio/proc/end_emp_effect(curremp) if(emped != curremp) //Don't fix it if it's been EMP'd again diff --git a/code/game/objects/items/devices/reverse_bear_trap.dm b/code/game/objects/items/devices/reverse_bear_trap.dm index e04e2bdc422b..5d90c839bebf 100644 --- a/code/game/objects/items/devices/reverse_bear_trap.dm +++ b/code/game/objects/items/devices/reverse_bear_trap.dm @@ -43,7 +43,7 @@ soundloop.stop() soundloop2.stop() to_chat(loc, "*ding*") - addtimer(CALLBACK(src, .proc/snap), 2) + addtimer(CALLBACK(src, PROC_REF(snap)), 2) /obj/item/reverse_bear_trap/attack_hand(mob/user) if(iscarbon(user)) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 1e36f8bd328f..6f11fe4ebac1 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -550,7 +550,7 @@ GENE SCANNER else to_chat(user, "[src]'s barometer function says a storm will land in approximately [butchertime(fixed)].") cooldown = TRUE - addtimer(CALLBACK(src,/obj/item/analyzer/proc/ping), cooldown_time) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/analyzer, ping)), cooldown_time) /obj/item/analyzer/proc/ping() if(isliving(loc)) @@ -793,7 +793,7 @@ GENE SCANNER ready = FALSE icon_state = "[icon_state]_recharging" - addtimer(CALLBACK(src, .proc/recharge), cooldown, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(recharge)), cooldown, TIMER_UNIQUE) /obj/item/sequence_scanner/proc/recharge() icon_state = initial(icon_state) diff --git a/code/game/objects/items/devices/spyglasses.dm b/code/game/objects/items/devices/spyglasses.dm index 1c103b1dd950..1edec8edb7db 100644 --- a/code/game/objects/items/devices/spyglasses.dm +++ b/code/game/objects/items/devices/spyglasses.dm @@ -54,7 +54,7 @@ /obj/item/spy_bug/Initialize() . = ..() - tracker = new /datum/movement_detector(src, CALLBACK(src, .proc/update_view)) + tracker = new /datum/movement_detector(src, CALLBACK(src, PROC_REF(update_view))) cam_screen = new cam_screen.name = "screen" diff --git a/code/game/objects/items/devices/swapper.dm b/code/game/objects/items/devices/swapper.dm index b152504a3431..e1a5cbaf02e9 100644 --- a/code/game/objects/items/devices/swapper.dm +++ b/code/game/objects/items/devices/swapper.dm @@ -55,7 +55,7 @@ var/mob/holder = linked_swapper.loc to_chat(holder, "[linked_swapper] starts buzzing.") next_use = world.time + cooldown //only the one used goes on cooldown - addtimer(CALLBACK(src, .proc/swap, user), 25) + addtimer(CALLBACK(src, PROC_REF(swap), user), 25) /obj/item/swapper/examine(mob/user) . = ..() diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 3d054927d2c8..4f034824e2f4 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -89,7 +89,7 @@ effective or pretty fucking useless. addtimer(VARSET_CALLBACK(src, used, FALSE), cooldown) addtimer(VARSET_CALLBACK(src, icon_state, "health"), cooldown) to_chat(user, "Successfully irradiated [M].") - addtimer(CALLBACK(src, .proc/radiation_aftereffect, M), (wavelength+(intensity*4))*5) + addtimer(CALLBACK(src, PROC_REF(radiation_aftereffect), M), (wavelength+(intensity*4))*5) else to_chat(user, "The radioactive microlaser is still recharging.") diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index b26ec181525b..f6687ffec110 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -90,7 +90,7 @@ if(toggle) toggle = FALSE toggle_valve() - addtimer(CALLBACK(src, .proc/toggle_off), 5) //To stop a signal being spammed from a proxy sensor constantly going off or whatever + addtimer(CALLBACK(src, PROC_REF(toggle_off)), 5) //To stop a signal being spammed from a proxy sensor constantly going off or whatever /obj/item/transfer_valve/proc/toggle_off() toggle = TRUE @@ -181,7 +181,7 @@ merge_gases() for(var/i in 1 to 6) - addtimer(CALLBACK(src, /atom/.proc/update_appearance), 20 + (i - 1) * 10) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), 20 + (i - 1) * 10) else if(valve_open && tank_one && tank_two) split_gases() diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index 39fe7d490320..dc49ee2dc6ae 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -70,8 +70,8 @@ /obj/item/dualsaber/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) if(LAZYLEN(possible_colors)) saber_color = pick(possible_colors) switch(saber_color) @@ -102,10 +102,10 @@ impale(user) return if(wielded && prob(50)) - INVOKE_ASYNC(src, .proc/jedi_spin, user) + INVOKE_ASYNC(src, PROC_REF(jedi_spin), user) /obj/item/dualsaber/proc/jedi_spin(mob/living/user) - dance_rotate(user, CALLBACK(user, /mob.proc/dance_flip)) + dance_rotate(user, CALLBACK(user, TYPE_PROC_REF(/mob, dance_flip))) /obj/item/dualsaber/proc/impale(mob/living/user) to_chat(user, "You twirl around a bit before losing your balance and impaling yourself on [src].") @@ -144,7 +144,7 @@ playsound(loc, hitsound, get_clamped_volume(), TRUE, -1) add_fingerprint(user) // Light your candles while spinning around the room - INVOKE_ASYNC(src, .proc/jedi_spin, user) + INVOKE_ASYNC(src, PROC_REF(jedi_spin), user) /obj/item/dualsaber/green possible_colors = list("green") diff --git a/code/game/objects/items/eightball.dm b/code/game/objects/items/eightball.dm index 7554614495ae..111dd3aa96bc 100644 --- a/code/game/objects/items/eightball.dm +++ b/code/game/objects/items/eightball.dm @@ -64,7 +64,7 @@ say(answer) on_cooldown = TRUE - addtimer(CALLBACK(src, .proc/clear_cooldown), cooldown_time) + addtimer(CALLBACK(src, PROC_REF(clear_cooldown)), cooldown_time) shaking = FALSE diff --git a/code/game/objects/items/energyhalberd.dm b/code/game/objects/items/energyhalberd.dm index fb03f24fbeb6..416964bbfded 100644 --- a/code/game/objects/items/energyhalberd.dm +++ b/code/game/objects/items/energyhalberd.dm @@ -76,8 +76,8 @@ /obj/item/energyhalberd/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_halberdwield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_halberdunwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_halberdwield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_halberdunwield)) if(LAZYLEN(possible_colors)) halberd_color = pick(possible_colors) switch(halberd_color) diff --git a/code/game/objects/items/etherealdiscoball.dm b/code/game/objects/items/etherealdiscoball.dm index a695bd70e410..94f1ae2a6062 100644 --- a/code/game/objects/items/etherealdiscoball.dm +++ b/code/game/objects/items/etherealdiscoball.dm @@ -59,7 +59,7 @@ set_light(range, power, current_color) add_atom_colour("#[current_color]", FIXED_COLOUR_PRIORITY) update_appearance() - TimerID = addtimer(CALLBACK(src, .proc/DiscoFever), 5, TIMER_STOPPABLE) //Call ourselves every 0.5 seconds to change colors + TimerID = addtimer(CALLBACK(src, PROC_REF(DiscoFever)), 5, TIMER_STOPPABLE) //Call ourselves every 0.5 seconds to change colors /obj/structure/etherealball/update_icon_state() icon_state = "ethdisco_head_[TurnedOn]" diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index 75f96e4786ad..106ee2a50525 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -148,7 +148,7 @@ if(user.buckled && isobj(user.buckled) && !user.buckled.anchored) var/obj/B = user.buckled var/movementdirection = turn(direction,180) - addtimer(CALLBACK(src, /obj/item/extinguisher/proc/move_chair, B, movementdirection), 1) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/extinguisher, move_chair), B, movementdirection), 1) else user.newtonian_move(turn(direction, 180)) @@ -176,7 +176,7 @@ reagents.trans_to(W,1, transfered_by = user) //Make em move dat ass, hun - addtimer(CALLBACK(src, /obj/item/extinguisher/proc/move_particles, water_particles), 2) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/extinguisher, move_particles), water_particles), 2) //Particle movement loop /obj/item/extinguisher/proc/move_particles(list/particles, repetition=0) @@ -198,7 +198,7 @@ particles -= W if(repetition < power) repetition++ - addtimer(CALLBACK(src, /obj/item/extinguisher/proc/move_particles, particles, repetition), 2) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/extinguisher, move_particles), particles, repetition), 2) //Chair movement loop /obj/item/extinguisher/proc/move_chair(obj/B, movementdirection, repetition=0) @@ -216,7 +216,7 @@ return repetition++ - addtimer(CALLBACK(src, /obj/item/extinguisher/proc/move_chair, B, movementdirection, repetition), timer_seconds) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/extinguisher, move_chair), B, movementdirection, repetition), timer_seconds) /obj/item/extinguisher/AltClick(mob/user) if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user))) diff --git a/code/game/objects/items/fireaxe.dm b/code/game/objects/items/fireaxe.dm index 8203880b2b27..b2e5534a92b0 100644 --- a/code/game/objects/items/fireaxe.dm +++ b/code/game/objects/items/fireaxe.dm @@ -23,8 +23,8 @@ /obj/item/fireaxe/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /obj/item/fireaxe/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/flamethrower.dm b/code/game/objects/items/flamethrower.dm index 7412c1892676..6a1e439422a4 100644 --- a/code/game/objects/items/flamethrower.dm +++ b/code/game/objects/items/flamethrower.dm @@ -213,8 +213,8 @@ if(get_dist(src, turf_target) > FLAMETHROWER_RANGE) //thiss shit doesnt work aaaaa flamer_proj.range = FLAMETHROWER_RANGE - RegisterSignal(flamer_proj, COMSIG_MOVABLE_MOVED, .proc/handle_flaming) - RegisterSignal(flamer_proj, COMSIG_PARENT_QDELETING, .proc/stop_operating) + RegisterSignal(flamer_proj, COMSIG_MOVABLE_MOVED, PROC_REF(handle_flaming)) + RegisterSignal(flamer_proj, COMSIG_PARENT_QDELETING, PROC_REF(stop_operating)) flamer_proj.fire() //off it goes diff --git a/code/game/objects/items/grenades/antigravity.dm b/code/game/objects/items/grenades/antigravity.dm index 313b91acd71b..1c3bc9d5034c 100644 --- a/code/game/objects/items/grenades/antigravity.dm +++ b/code/game/objects/items/grenades/antigravity.dm @@ -13,6 +13,6 @@ for(var/turf/T in view(range,src)) T.AddElement(/datum/element/forced_gravity, forced_value) - addtimer(CALLBACK(T, /datum/.proc/_RemoveElement, list(forced_value)), duration) + addtimer(CALLBACK(T, TYPE_PROC_REF(/datum, _RemoveElement), list(forced_value)), duration) resolve() diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index 5d42e6b7d469..b675a0012152 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -172,7 +172,7 @@ landminemode.activate() return active = TRUE - addtimer(CALLBACK(src, .proc/prime), isnull(delayoverride)? det_time : delayoverride) + addtimer(CALLBACK(src, PROC_REF(prime)), isnull(delayoverride)? det_time : delayoverride) /obj/item/grenade/chem_grenade/prime() if(stage != GRENADE_READY) @@ -298,7 +298,7 @@ chem_splash(get_turf(src), affected_area, list(reactants), ignition_temp, threatscale) var/turf/DT = get_turf(src) - addtimer(CALLBACK(src, .proc/prime), det_time) + addtimer(CALLBACK(src, PROC_REF(prime)), det_time) log_game("A grenade detonated at [AREACOORD(DT)]") diff --git a/code/game/objects/items/grenades/clusterbuster.dm b/code/game/objects/items/grenades/clusterbuster.dm index 0c7203f0a5c0..5326b303d977 100644 --- a/code/game/objects/items/grenades/clusterbuster.dm +++ b/code/game/objects/items/grenades/clusterbuster.dm @@ -58,7 +58,7 @@ var/steps = rand(1,4) for(var/i in 1 to steps) step_away(src,loc) - addtimer(CALLBACK(src, .proc/prime), rand(15,60)) + addtimer(CALLBACK(src, PROC_REF(prime)), rand(15,60)) /obj/item/grenade/clusterbuster/segment/prime() new payload_spawner(drop_location(), payload, rand(min_spawned,max_spawned)) @@ -79,7 +79,7 @@ var/obj/item/grenade/P = new type(loc) if(istype(P)) P.active = TRUE - addtimer(CALLBACK(P, /obj/item/grenade/proc/prime), rand(15,60)) + addtimer(CALLBACK(P, TYPE_PROC_REF(/obj/item/grenade, prime)), rand(15,60)) var/steps = rand(1,4) for(var/i in 1 to steps) step_away(src,loc) @@ -108,7 +108,7 @@ var/chosen = pick(subtypesof(/obj/item/slime_extract)) var/obj/item/slime_extract/P = new chosen(loc) if(volatile) - addtimer(CALLBACK(P, /obj/item/slime_extract/proc/activate_slime), rand(15,60)) + addtimer(CALLBACK(P, TYPE_PROC_REF(/obj/item/slime_extract, activate_slime)), rand(15,60)) var/steps = rand(1,4) for(var/i in 1 to steps) step_away(src,loc) diff --git a/code/game/objects/items/grenades/discogrenade.dm b/code/game/objects/items/grenades/discogrenade.dm index 181feff62147..be2ec68f0cb1 100644 --- a/code/game/objects/items/grenades/discogrenade.dm +++ b/code/game/objects/items/grenades/discogrenade.dm @@ -55,7 +55,7 @@ var/launch_distance = rand(2, 6) for(var/i in 1 to launch_distance) step_away(src, loc) - addtimer(CALLBACK(src, .proc/prime), rand(10, 60)) + addtimer(CALLBACK(src, PROC_REF(prime)), rand(10, 60)) randomiseLightColor() /obj/item/grenade/discogrenade/subgrenade/prime(mob/living/lanced_by) @@ -84,7 +84,7 @@ set_light(range, power, lightcolor) add_atom_colour("#[lightcolor]", FIXED_COLOUR_PRIORITY) update_appearance() - timerID = addtimer(CALLBACK(src, .proc/randomiseLightColor), 2, TIMER_STOPPABLE) + timerID = addtimer(CALLBACK(src, PROC_REF(randomiseLightColor)), 2, TIMER_STOPPABLE) /obj/item/grenade/discogrenade/subgrenade/proc/forcedance(turf/target_turf , mob/living/carbon/human/target) if(!target_turf) diff --git a/code/game/objects/items/grenades/festive.dm b/code/game/objects/items/grenades/festive.dm index 7bf5fd65bf08..c6200d69ae9e 100644 --- a/code/game/objects/items/grenades/festive.dm +++ b/code/game/objects/items/grenades/festive.dm @@ -106,7 +106,7 @@ playsound(src, 'sound/effects/fuse.ogg', volume, TRUE) active = TRUE icon_state = initial(icon_state) + "_active" - addtimer(CALLBACK(src, .proc/prime), isnull(delayoverride)? det_time : delayoverride) + addtimer(CALLBACK(src, PROC_REF(prime)), isnull(delayoverride)? det_time : delayoverride) /obj/item/grenade/firecracker/prime() . = ..() diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm index cf5fab1d4a0a..f0198b7f1a0b 100644 --- a/code/game/objects/items/grenades/grenade.dm +++ b/code/game/objects/items/grenades/grenade.dm @@ -95,7 +95,7 @@ active = TRUE icon_state = initial(icon_state) + "_active" SEND_SIGNAL(src, COMSIG_GRENADE_ARMED, det_time, delayoverride) - addtimer(CALLBACK(src, .proc/prime), isnull(delayoverride)? det_time : delayoverride) + addtimer(CALLBACK(src, PROC_REF(prime)), isnull(delayoverride)? det_time : delayoverride) /obj/item/grenade/proc/prime() if(shrapnel_type && shrapnel_radius && !shrapnel_initialized) // add a second check for adding the component in case whatever triggered the grenade went straight to prime (badminnery for example) diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index 490c5c0aebaa..f3f891bad11d 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -109,7 +109,7 @@ target.add_overlay(plastic_overlay) to_chat(user, "You plant the bomb. Timer counting down from [det_time].") - addtimer(CALLBACK(src, .proc/prime), det_time*10) + addtimer(CALLBACK(src, PROC_REF(prime)), det_time*10) // X4 is an upgraded directional variant of c4 which is relatively safe to be standing next to. And much less safe to be standing on the other side of. // C4 is intended to be used for infiltration, and destroying tech. X4 is intended to be used for heavy breaching and tight spaces. diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 764bf8a61ccd..627f3298ccd4 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -240,7 +240,7 @@ update_appearance() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -309,7 +309,7 @@ /obj/item/restraints/legcuffs/beartrap/energy/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/dissipate), 100) + addtimer(CALLBACK(src, PROC_REF(dissipate)), 100) /obj/item/restraints/legcuffs/beartrap/energy/proc/dissipate() if(!ismob(loc)) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index a1612fd7c4dd..a9f9e792c962 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -230,7 +230,7 @@ nullrod_icons += list(initial(rodtype.name) = image(icon = initial(rodtype.icon), icon_state = initial(rodtype.icon_state))) nullrod_icons = sortList(nullrod_icons) - var/choice = show_radial_menu(M, src , nullrod_icons, custom_check = CALLBACK(src, .proc/check_menu, M), radius = 42, require_near = TRUE) + var/choice = show_radial_menu(M, src , nullrod_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), M), radius = 42, require_near = TRUE) if(!choice || !check_menu(M)) return diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm index 915c7e36cc90..e3f21a70463e 100644 --- a/code/game/objects/items/hot_potato.dm +++ b/code/game/objects/items/hot_potato.dm @@ -139,7 +139,7 @@ ADD_TRAIT(src, TRAIT_NODROP, HOT_POTATO_TRAIT) name = "primed [name]" activation_time = timer + world.time - detonation_timerid = addtimer(CALLBACK(src, .proc/detonate), delay, TIMER_STOPPABLE) + detonation_timerid = addtimer(CALLBACK(src, PROC_REF(detonate)), delay, TIMER_STOPPABLE) START_PROCESSING(SSfastprocess, src) if(user) log_bomber(user, "has primed a", src, "for detonation (Timer:[delay],Explosive:[detonate_explosion],Range:[detonate_dev_range]/[detonate_heavy_range]/[detonate_light_range]/[detonate_fire_range])") diff --git a/code/game/objects/items/hourglass.dm b/code/game/objects/items/hourglass.dm index acfe971b0337..8dd464481a15 100644 --- a/code/game/objects/items/hourglass.dm +++ b/code/game/objects/items/hourglass.dm @@ -35,7 +35,7 @@ /obj/item/hourglass/proc/start() finish_time = world.time + time - timing_id = addtimer(CALLBACK(src, .proc/finish), time, TIMER_STOPPABLE) + timing_id = addtimer(CALLBACK(src, PROC_REF(finish)), time, TIMER_STOPPABLE) countdown.start() timing_animation() diff --git a/code/game/objects/items/implants/implant_stealth.dm b/code/game/objects/items/implants/implant_stealth.dm index d225e7180db8..893721e7a49b 100644 --- a/code/game/objects/items/implants/implant_stealth.dm +++ b/code/game/objects/items/implants/implant_stealth.dm @@ -33,7 +33,7 @@ /obj/structure/closet/cardboard/agent/proc/reveal() alpha = 255 - addtimer(CALLBACK(src, .proc/go_invisible), 10, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(go_invisible)), 10, TIMER_OVERRIDE|TIMER_UNIQUE) /obj/structure/closet/cardboard/agent/Bump(atom/A) . = ..() diff --git a/code/game/objects/items/implants/implantchair.dm b/code/game/objects/items/implants/implantchair.dm index e8122bd34263..504c07299c45 100644 --- a/code/game/objects/items/implants/implantchair.dm +++ b/code/game/objects/items/implants/implantchair.dm @@ -77,10 +77,10 @@ ready_implants-- if(!replenishing && auto_replenish) replenishing = TRUE - addtimer(CALLBACK(src,.proc/replenish),replenish_cooldown) + addtimer(CALLBACK(src, PROC_REF(replenish)),replenish_cooldown) if(injection_cooldown > 0) ready = FALSE - addtimer(CALLBACK(src,.proc/set_ready),injection_cooldown) + addtimer(CALLBACK(src, PROC_REF(set_ready)),injection_cooldown) else playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 25, TRUE) update_appearance() diff --git a/code/game/objects/items/manuals.dm b/code/game/objects/items/manuals.dm index c0773b2032cf..da1906143abc 100644 --- a/code/game/objects/items/manuals.dm +++ b/code/game/objects/items/manuals.dm @@ -242,7 +242,7 @@ /obj/item/book/manual/trickwines_4_brewers name = "Trickwines for brewers" icon_state = "book2" - author = "Baxter Baxter" + author = "Bridget Saint-Baskett" title = "Trickwines for brewers" dat = {" @@ -262,7 +262,16 @@

Breakaway flasks

Honestly, I love these things. I'm not a scientist so I cant exactly explain how it works but somehow when you fuse plasma into glass it makes it ultra sharp and makes it really good for cracking over fauna heads.
The simplest way I have found of making them is crafting them with a chunk of glass, plasma, and a welder.
- I should note: trickwines don't seem to form without flasks. I think it's something to do with the plasma reacting with the mixture.
+ +

Bacteria

+ A speical speices of bacteria native to Illestren is what allows Trickwines form.
+ Now we use a special distiller that keeps just enough bacertia alive to ferment without turning the batch sour.
+ Now you should still have one on board but if you dont its fine.
+ It just so happens we have trees on board our ships host to the Bacteria.
+ To get enough Bacteria your going to need to feed it anything that would help a plant.
+ Water, Fertilizer, Ashwine are all good options.
+ Soon it will drops some apples and you can grind them for the bacteria.
+ Once you have enough you can fabricate it the same way you would a normal barrel.

Ashwine

It's kind of our trademark, and it's one of the simplest trickwines to make. The Montagnes love using this stuff in ceremonies as well so it should get you some good boy points.
@@ -285,11 +294,30 @@ It's a nice upper. Great if you're trying to run away.
This one's really flashy. Expect some severe burns on your target
-
Baxter Baxter, Senior Brewer
- P.S.: please stop asking how the uranium got into those flasks. +

Hearthwine

+ I once threw back a flask of this stuff in the heat of a really bad battle and it sealed my wounds within seconds its honestly increadible.
+ It also acts like the inverse of Icewine heating you up more then a fever.
+ Last time I threw it at someone though i almost burnt down the forest I was in.
+ Its made out of ground up fireblossems with some nice hard cider and a bit of welding fuel with of course a ratio of 3:1:1.
- - "} +

Forcewine

+ I once had a duel with a wizard and and I was able to completly ignore a few of his spells! Its like they just fizzled out when they hit me.
+ Would recomend for any esoteric senarios even though I have only been in a few of those.
+ You can also use it to entrap Fauna inside of a forcefield like bubble, Gives you time to breath and laugh at them.
+ 3:1:1 Tequila, Space Montain Wind, and I know its strange but hollow water, Its that stuff you can extract from geysers
+ +

Prismwine

+ Gives you a nice shiny layer of armour, fire seems to have alot harder time sticking to me when i tested it.
+ Throwing it seeems to do the reverse acting like a magnifying glass to burns and lasers
+ Made 3:1:1 with good ol Gin, then add plasma and tinea luxor which is found from mushroom stems
+ + Some of these can be a bit situatinal but its always nice to have a few in your bag for emergecys.
+ As a bonus, most of the other factions have no clue how to make these so you can sell them for a fair chunk of cash.
+ +
Bridget Saint-Baskett, Senior Brewer
+ + + "} // Wiki books that are linked to the configured wiki link. diff --git a/code/game/objects/items/pitchfork.dm b/code/game/objects/items/pitchfork.dm index 401007c824b0..05183ed479db 100644 --- a/code/game/objects/items/pitchfork.dm +++ b/code/game/objects/items/pitchfork.dm @@ -18,8 +18,8 @@ /obj/item/pitchfork/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /obj/item/pitchfork/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/puzzle_pieces.dm b/code/game/objects/items/puzzle_pieces.dm index 2582f91860b2..f88df8429912 100644 --- a/code/game/objects/items/puzzle_pieces.dm +++ b/code/game/objects/items/puzzle_pieces.dm @@ -225,7 +225,7 @@ AddElement(/datum/element/undertile, tile_overlay = tile_overlay) //we remove use_anchor here, so it ALWAYS stays anchored var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 09e676980262..f12137df7531 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -367,7 +367,7 @@ if(charging) return if(candy < candymax) - addtimer(CALLBACK(src, .proc/charge_lollipops), charge_delay) + addtimer(CALLBACK(src, PROC_REF(charge_lollipops)), charge_delay) charging = TRUE /obj/item/borg/lollipop/proc/charge_lollipops() @@ -750,7 +750,7 @@ /obj/item/borg/apparatus/Initialize() . = ..() - RegisterSignal(loc.loc, COMSIG_BORG_SAFE_DECONSTRUCT, .proc/safedecon) + RegisterSignal(loc.loc, COMSIG_BORG_SAFE_DECONSTRUCT, PROC_REF(safedecon)) /obj/item/borg/apparatus/Destroy() if(stored) @@ -799,7 +799,7 @@ var/obj/item/O = A O.forceMove(src) stored = O - RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) + RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, TYPE_PROC_REF(/atom, update_icon)) update_appearance() return else @@ -832,7 +832,7 @@ /obj/item/borg/apparatus/beaker/Initialize() . = ..() stored = new /obj/item/reagent_containers/glass/beaker/large(src) - RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) + RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, TYPE_PROC_REF(/atom, update_icon)) update_appearance() /obj/item/borg/apparatus/beaker/Destroy() @@ -892,7 +892,7 @@ /obj/item/borg/apparatus/beaker/service/Initialize() . = ..() stored = new /obj/item/reagent_containers/food/drinks/drinkingglass(src) - RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) + RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, TYPE_PROC_REF(/atom, update_icon)) update_appearance() //////////////////// diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index e2803060e4eb..04d7629623b5 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -19,8 +19,8 @@ /obj/item/singularityhammer/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) START_PROCESSING(SSobj, src) /obj/item/singularityhammer/ComponentInitialize() @@ -103,8 +103,8 @@ /obj/item/mjollnir/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /obj/item/mjollnir/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm index e5ea0b1b8229..be6b9d3a5a14 100644 --- a/code/game/objects/items/spear.dm +++ b/code/game/objects/items/spear.dm @@ -52,8 +52,8 @@ /obj/item/spear/explosive/Initialize(mapload) . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) set_explosive(new /obj/item/grenade/iedcasing/spawned()) //For admin-spawned explosive lances /obj/item/spear/explosive/ComponentInitialize() diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 5ed78815b3f4..f4aff30791f8 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -303,7 +303,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( SSblackbox.record_feedback("tally", "station_mess_created", 1, name) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 2a9e5c38a9d5..00d793b6e1fb 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -41,6 +41,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ )), null, \ new/datum/stack_recipe("rack parts", /obj/item/rack_parts), \ + new/datum/stack_recipe("crate shelf parts", /obj/item/rack_parts/shelf), \ new/datum/stack_recipe_list("closets", list( new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = TRUE, on_floor = TRUE), new/datum/stack_recipe("emergency closet", /obj/structure/closet/emcloset/empty, 2, time = 15, one_per_turf = TRUE, on_floor = TRUE), @@ -227,6 +228,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("coffin", /obj/structure/closet/crate/coffin, 5, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("book case", /obj/structure/bookcase, 4, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying_rack, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("sauna oven", /obj/structure/sauna_oven, 15, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("wooden barrel", /obj/structure/fermenting_barrel, 8, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("dog bed", /obj/structure/bed/dogbed, 10, time = 10, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("dresser", /obj/structure/dresser, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ @@ -277,6 +279,9 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ . = ..() . += GLOB.wood_recipes +/obj/item/stack/sheet/mineral/wood/twentyfive + amount = 25 + /obj/item/stack/sheet/mineral/wood/fifty amount = 50 diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 0811e39fbe67..5653b641c99d 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -59,7 +59,7 @@ if(item_stack == src) continue if(can_merge(item_stack)) - INVOKE_ASYNC(src, .proc/merge_without_del, item_stack) + INVOKE_ASYNC(src, PROC_REF(merge_without_del), item_stack) if(is_zero_amount(delete_if_zero = FALSE)) return INITIALIZE_HINT_QDEL var/list/temp_recipes = get_main_recipes() @@ -75,7 +75,7 @@ update_appearance() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_movable_entered_occupied_turf, + COMSIG_ATOM_ENTERED = PROC_REF(on_movable_entered_occupied_turf), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -443,7 +443,7 @@ return if(!arrived.throwing && can_merge(arrived)) - INVOKE_ASYNC(src, .proc/merge, arrived) + INVOKE_ASYNC(src, PROC_REF(merge), arrived) /obj/item/stack/hitby(atom/movable/hitting, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) if(can_merge(hitting, TRUE)) diff --git a/code/game/objects/items/stacks/tape.dm b/code/game/objects/items/stacks/tape.dm index 5aa42bb0b4c6..92fe31d32a98 100644 --- a/code/game/objects/items/stacks/tape.dm +++ b/code/game/objects/items/stacks/tape.dm @@ -152,11 +152,11 @@ if(C == user) playsound(loc, usesound, 30, TRUE, -2) user.visible_message("[user] starts to apply \the [src] on [user.p_them()]self...", "You begin applying \the [src] on yourself...") - if(!do_mob(user, C, self_delay, extra_checks=CALLBACK(C, /mob/living/proc/can_inject, user, TRUE))) + if(!do_mob(user, C, self_delay, extra_checks=CALLBACK(C, TYPE_PROC_REF(/mob/living, can_inject), user, TRUE))) return else if(other_delay) user.visible_message("[user] starts to apply \the [src] on [C].", "You begin applying \the [src] on [C]...") - if(!do_mob(user, C, other_delay, extra_checks=CALLBACK(C, /mob/living/proc/can_inject, user, TRUE))) + if(!do_mob(user, C, other_delay, extra_checks=CALLBACK(C, TYPE_PROC_REF(/mob/living, can_inject), user, TRUE))) return if(heal(C, user)) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 4d44a749146c..b4ec267bd770 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -80,7 +80,7 @@ STR.max_combined_w_class = 60 /obj/item/storage/backpack/santabag/proc/regenerate_presents() - addtimer(CALLBACK(src, .proc/regenerate_presents), 30 SECONDS) + addtimer(CALLBACK(src, PROC_REF(regenerate_presents)), 30 SECONDS) var/mob/M = get(loc, /mob) if(!istype(M)) @@ -336,7 +336,6 @@ /obj/item/reagent_containers/food/drinks/bottle/absinthe, /obj/item/clothing/under/syndicate/tacticool, /obj/item/storage/fancy/cigarettes/cigpack_syndicate, - /obj/item/storage/fancy/cigarettes/cigpack_shadyjims, /obj/item/clothing/mask/gas/syndicate, /obj/item/clothing/neck/necklace/dope, /obj/item/vending_refill/donksoft) diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 910ea174c3a6..dc3d2deff0ba 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -119,7 +119,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/Pickup_ores) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(Pickup_ores)) listeningTo = user /obj/item/storage/bag/ore/dropped() @@ -335,7 +335,7 @@ SEND_SIGNAL(src, COMSIG_TRY_STORAGE_QUICK_EMPTY) // Make each item scatter a bit for(var/obj/item/I in oldContents) - INVOKE_ASYNC(src, .proc/do_scatter, I) + INVOKE_ASYNC(src, PROC_REF(do_scatter), I) if(prob(50)) playsound(M, 'sound/items/trayhit1.ogg', 50, TRUE) diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 98fa24e97379..9e8d4e94745c 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -934,7 +934,7 @@ /obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen)) - var/choice = show_radial_menu(user, src , papersack_designs, custom_check = CALLBACK(src, .proc/check_menu, user, W), radius = 36, require_near = TRUE) + var/choice = show_radial_menu(user, src , papersack_designs, custom_check = CALLBACK(src, PROC_REF(check_menu), user, W), radius = 36, require_near = TRUE) if(!choice) return FALSE if(icon_state == "paperbag_[choice]") diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 58f10b2ccd8d..41f214998ffd 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -306,13 +306,6 @@ if(prob(7)) spawn_type = /obj/item/clothing/mask/cigarette/candy/nicotine //uh oh! -/obj/item/storage/fancy/cigarettes/cigpack_shadyjims - name = "\improper Shady Jim's Super Slims packet" - desc = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!" - icon_state = "shadyjim" - base_icon_state = "shadyjim" - spawn_type = /obj/item/clothing/mask/cigarette/shadyjims - /obj/item/storage/fancy/cigarettes/cigpack_xeno name = "\improper Xeno Filtered packet" desc = "Loaded with 100% pure slime. And also nicotine." diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index e494392ee911..4b91fc6caae3 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -47,7 +47,7 @@ else cell = new preload_cell_type(src) update_appearance() - RegisterSignal(src, COMSIG_PARENT_ATTACKBY, .proc/convert) + RegisterSignal(src, COMSIG_PARENT_ATTACKBY, PROC_REF(convert)) /obj/item/melee/baton/Destroy() @@ -223,7 +223,7 @@ L.apply_damage(stamina_loss_amt, STAMINA, BODY_ZONE_CHEST) SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK) - addtimer(CALLBACK(src, .proc/apply_stun_effect_end, L), apply_stun_delay) + addtimer(CALLBACK(src, PROC_REF(apply_stun_effect_end), L), apply_stun_delay) if(user) L.lastattacker = user.real_name @@ -324,7 +324,7 @@ baton_effect(hit_atom) var/mob/thrown_by = thrownby?.resolve() if(thrown_by && !caught) - addtimer(CALLBACK(src, /atom/movable.proc/throw_at, thrown_by, throw_range+2, throw_speed, null, TRUE), 1) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable, throw_at), thrown_by, throw_range+2, throw_speed, null, TRUE), 1) else return ..() diff --git a/code/game/objects/items/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm index 046439551291..b8f4451a9660 100644 --- a/code/game/objects/items/tanks/jetpack.dm +++ b/code/game/objects/items/tanks/jetpack.dm @@ -60,8 +60,8 @@ on = TRUE icon_state = "[initial(icon_state)]-on" ion_trail.start() - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/move_react) - RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, .proc/pre_move_react) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(move_react)) + RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(pre_move_react)) if(full_speed) user.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/fullspeed) diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 1708b0265793..4095d159ea82 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -305,7 +305,7 @@ var/obj/effect/particle_effect/foam/metal/resin/F = new (get_turf(target)) F.amount = 0 metal_synthesis_cooldown++ - addtimer(CALLBACK(src, .proc/reduce_metal_synth_cooldown), 10 SECONDS) + addtimer(CALLBACK(src, PROC_REF(reduce_metal_synth_cooldown)), 10 SECONDS) else to_chat(user, "Resin foam mix is still being synthesized...") return diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index 5b07c40f6f21..efdeafd99cfb 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -184,8 +184,8 @@ var/list/obj/effect/portal/created = create_portal_pair(current_location, get_teleport_turf(current_location, get_turf(T), 0, FALSE), 300, 1, null, atmos_link_override) if(!(LAZYLEN(created) == 2)) return - RegisterSignal(created[1], COMSIG_PARENT_QDELETING, .proc/on_portal_destroy) //Gosh darn it kevinz. - RegisterSignal(created[2], COMSIG_PARENT_QDELETING, .proc/on_portal_destroy) + RegisterSignal(created[1], COMSIG_PARENT_QDELETING, PROC_REF(on_portal_destroy)) //Gosh darn it kevinz. + RegisterSignal(created[2], COMSIG_PARENT_QDELETING, PROC_REF(on_portal_destroy)) var/obj/effect/portal/c1 = created[1] var/obj/effect/portal/c2 = created[2] var/turf/check_turf = get_turf(get_step(user, user.dir)) diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index cb6b8d3abe9f..fd9b3859cd3b 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -57,7 +57,7 @@ core = ncore icon_state = "core_container_loaded" to_chat(user, "Container is sealing...") - addtimer(CALLBACK(src, .proc/seal), 50) + addtimer(CALLBACK(src, PROC_REF(seal)), 50) return TRUE /obj/item/nuke_core_container/proc/seal() @@ -175,7 +175,7 @@ T.icon_state = "supermatter_tongs" icon_state = "core_container_loaded" to_chat(user, "Container is sealing...") - addtimer(CALLBACK(src, .proc/seal), 50) + addtimer(CALLBACK(src, PROC_REF(seal)), 50) return TRUE /obj/item/nuke_core_container/supermatter/seal() diff --git a/code/game/objects/items/toy_mechs.dm b/code/game/objects/items/toy_mechs.dm index 2cbe3e81b1ef..2a821c7a8317 100644 --- a/code/game/objects/items/toy_mechs.dm +++ b/code/game/objects/items/toy_mechs.dm @@ -179,7 +179,7 @@ to_chat(user, "You offer battle to [target.name]!") to_chat(target, "[user.name] wants to battle with [user.p_their()] [name]! Attack them with a toy mech to initiate combat.") wants_to_battle = TRUE - addtimer(CALLBACK(src, .proc/withdraw_offer, user), 6 SECONDS) + addtimer(CALLBACK(src, PROC_REF(withdraw_offer), user), 6 SECONDS) return ..() diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 0046ece63058..a4ec930ec0e2 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -359,7 +359,7 @@ active = TRUE playsound(src, 'sound/effects/pope_entry.ogg', 100) Rumble() - addtimer(CALLBACK(src, .proc/stopRumble), 600) + addtimer(CALLBACK(src, PROC_REF(stopRumble)), 600) else to_chat(user, "[src] is already active!") @@ -436,7 +436,7 @@ /obj/item/toy/snappop/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -475,7 +475,7 @@ /obj/effect/decal/cleanable/ash/snappop_phoenix/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/respawn), respawn_time) + addtimer(CALLBACK(src, PROC_REF(respawn)), respawn_time) /obj/effect/decal/cleanable/ash/snappop_phoenix/proc/respawn() new /obj/item/toy/snappop/phoenix(get_turf(src)) @@ -504,7 +504,7 @@ activation_message(user) playsound(loc, 'sound/machines/click.ogg', 20, TRUE) - INVOKE_ASYNC(src, .proc/do_toy_talk, user) + INVOKE_ASYNC(src, PROC_REF(do_toy_talk), user) cooldown = TRUE addtimer(VARSET_CALLBACK(src, cooldown, FALSE), recharge_time) @@ -1031,7 +1031,7 @@ if(!M.stat && !isAI(M)) // Checks to make sure whoever's getting shaken is alive/not the AI // Short delay to match up with the explosion sound // Shakes player camera 2 squares for 1 second. - addtimer(CALLBACK(GLOBAL_PROC, .proc/shake_camera, M, 2, 1), 0.8 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(shake_camera), M, 2, 1), 0.8 SECONDS) else to_chat(user, "Nothing happens.") @@ -1425,7 +1425,7 @@ if(cooldown <= world.time) cooldown = (world.time + 300) user.visible_message("[user] adjusts the dial on [src].") - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, 'sound/items/radiostatic.ogg', 50, FALSE), 0.5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, 'sound/items/radiostatic.ogg', 50, FALSE), 0.5 SECONDS) else to_chat(user, "The dial on [src] jams up") return @@ -1440,4 +1440,4 @@ /obj/item/toy/braintoy/attack_self(mob/user) if(cooldown <= world.time) cooldown = (world.time + 10) - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, 'sound/effects/blobattack.ogg', 50, FALSE), 0.5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, 'sound/effects/blobattack.ogg', 50, FALSE), 0.5 SECONDS) diff --git a/code/game/objects/items/wayfinding.dm b/code/game/objects/items/wayfinding.dm index 0fc80de2759d..848ade225ce2 100644 --- a/code/game/objects/items/wayfinding.dm +++ b/code/game/objects/items/wayfinding.dm @@ -113,7 +113,7 @@ deltimer(expression_timer) add_overlay(type) if(duration) - expression_timer = addtimer(CALLBACK(src, .proc/set_expression, "neutral"), duration, TIMER_STOPPABLE) + expression_timer = addtimer(CALLBACK(src, PROC_REF(set_expression), "neutral"), duration, TIMER_STOPPABLE) /obj/machinery/pinpointer_dispenser/proc/pointat(atom) visible_message("[src] points at [atom].") diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index d6955ff244ba..7749f6d50274 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -515,7 +515,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/statuebust/Initialize() . = ..() AddComponent(/datum/component/art, impressiveness) - addtimer(CALLBACK(src, /datum.proc/_AddComponent, list(/datum/component/beauty, 1000)), 0) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum, _AddComponent), list(/datum/component/beauty, 1000)), 0) /obj/item/statuebust/hippocratic name = "hippocrates bust" @@ -760,8 +760,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/vibro_weapon/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /obj/item/vibro_weapon/ComponentInitialize() . = ..() diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 61acce5c9d0a..78cfa10a2e0b 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -68,13 +68,13 @@ if(3) take_damage(rand(10, 90), BRUTE, "bomb", 0) -/obj/bullet_act(obj/projectile/P) +/obj/bullet_act(obj/projectile/hitting_projectile) . = ..() - playsound(src, P.hitsound, 50, TRUE) - if(P.suppressed != SUPPRESSED_VERY) - visible_message("[src] is hit by \a [P]!", null, null, COMBAT_MESSAGE_RANGE) + bullet_hit_sfx(hitting_projectile) + if(hitting_projectile.suppressed != SUPPRESSED_VERY) + visible_message("[src] is hit by \a [hitting_projectile]!", null, null, COMBAT_MESSAGE_RANGE) if(!QDELETED(src)) //Bullet on_hit effect might have already destroyed this object - take_damage(P.damage, P.damage_type, P.flag, 0, turn(P.dir, 180), P.armour_penetration) + take_damage(hitting_projectile.damage, hitting_projectile.damage_type, hitting_projectile.flag, 0, turn(hitting_projectile.dir, 180), hitting_projectile.armour_penetration) ///Called to get the damage that hulks will deal to the obj. /obj/proc/hulk_damage() @@ -233,7 +233,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e if(QDELETED(src)) return 0 obj_flags |= BEING_SHOCKED - addtimer(CALLBACK(src, .proc/reset_shocked), 10) + addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 10) return power / 2 //The surgeon general warns that being buckled to certain objects receiving powerful shocks is greatly hazardous to your health diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index d2d1325e435b..46090aa86658 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -219,7 +219,7 @@ if(machine) unset_machine() machine = O - RegisterSignal(O, COMSIG_PARENT_QDELETING, .proc/unset_machine) + RegisterSignal(O, COMSIG_PARENT_QDELETING, PROC_REF(unset_machine)) if(istype(O)) O.obj_flags |= IN_USE @@ -352,7 +352,7 @@ items += list("[reskin_option]" = item_image) sortList(items) - var/pick = show_radial_menu(M, src, items, custom_check = CALLBACK(src, .proc/check_reskin_menu, M), radius = 38, require_near = TRUE) + var/pick = show_radial_menu(M, src, items, custom_check = CALLBACK(src, PROC_REF(check_reskin_menu), M), radius = 38, require_near = TRUE) if(!pick) return if(!unique_reskin[pick]) diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index c0198939c24a..69efcd42af15 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -7,6 +7,8 @@ flags_ricochet = RICOCHET_HARD ricochet_chance_mod = 0.5 + hitsound_type = PROJECTILE_HITSOUND_METAL + var/climb_time = 20 var/climbable = FALSE var/mob/living/structureclimber diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index 7badc7a3795b..3c84cea0de27 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -23,7 +23,7 @@ /obj/structure/chair/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, .proc/can_user_rotate),CALLBACK(src, .proc/can_be_rotated),null) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, PROC_REF(can_user_rotate)),CALLBACK(src, PROC_REF(can_be_rotated)),null) /obj/structure/chair/proc/can_be_rotated(mob/user) return TRUE @@ -447,20 +447,10 @@ /obj/structure/chair/plastic/post_buckle_mob(mob/living/Mob) Mob.pixel_y += 2 .=..() - if(iscarbon(Mob)) - INVOKE_ASYNC(src, .proc/snap_check, Mob) /obj/structure/chair/plastic/post_unbuckle_mob(mob/living/Mob) Mob.pixel_y -= 2 -/obj/structure/chair/plastic/proc/snap_check(mob/living/carbon/Mob) - if (Mob.nutrition >= NUTRITION_LEVEL_FAT) - to_chat(Mob, "The chair begins to pop and crack, you're too heavy!") - if(do_after(Mob, 60, 1, Mob, 0)) - Mob.visible_message("The plastic chair snaps under [Mob]'s weight!") - new /obj/effect/decal/cleanable/plastic(loc) - qdel(src) - /obj/item/chair/plastic name = "folding plastic chair" desc = "Somehow, you can always find one under the wrestling ring." diff --git a/code/game/objects/structures/beds_chairs/pew.dm b/code/game/objects/structures/beds_chairs/pew.dm index b7aa1f65d2bd..8e5cf9a19493 100644 --- a/code/game/objects/structures/beds_chairs/pew.dm +++ b/code/game/objects/structures/beds_chairs/pew.dm @@ -9,6 +9,8 @@ buildstackamount = 3 item_chair = null + hitsound_type = PROJECTILE_HITSOUND_WOOD + /obj/structure/chair/pew/left name = "left wooden pew end" icon_state = "pewend_left" diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 788fc28a51c6..417a1f8d86a6 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -52,7 +52,7 @@ if(populate) PopulateContents() - RegisterSignal(src, COMSIG_ATOM_CANREACH, .proc/canreach_react) + RegisterSignal(src, COMSIG_ATOM_CANREACH, PROC_REF(canreach_react)) /obj/structure/closet/LateInitialize() take_contents(src) diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index b6a80ee51978..a5d7531b0aa8 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -27,7 +27,7 @@ var/oldloc = loc step(src, direction) if(oldloc != loc) - addtimer(CALLBACK(src, .proc/ResetMoveDelay), CONFIG_GET(number/movedelay/walk_delay) * move_speed_multiplier) + addtimer(CALLBACK(src, PROC_REF(ResetMoveDelay)), CONFIG_GET(number/movedelay/walk_delay) * move_speed_multiplier) else move_delay = FALSE diff --git a/code/game/objects/structures/crates_lockers/closets/infinite.dm b/code/game/objects/structures/crates_lockers/closets/infinite.dm index ef471d66db75..8657b764b9bb 100644 --- a/code/game/objects/structures/crates_lockers/closets/infinite.dm +++ b/code/game/objects/structures/crates_lockers/closets/infinite.dm @@ -26,7 +26,7 @@ /obj/structure/closet/infinite/open(mob/living/user, force = FALSE) . = ..() if(. && auto_close_time) - addtimer(CALLBACK(src, .proc/close_on_my_own), auto_close_time, TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(close_on_my_own)), auto_close_time, TIMER_OVERRIDE) /obj/structure/closet/infinite/proc/close_on_my_own() if(close()) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index c9d65880946c..27a9e423110b 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -26,7 +26,7 @@ new /obj/item/clothing/under/rank/command/captain/parade(src) new /obj/item/clothing/suit/armor/vest/capcarapace/alt(src) new /obj/item/clothing/head/caphat/parade(src) - new /obj/item/clothing/suit/captunic(src) + new /obj/item/clothing/suit/armor/vest/capcarapace/captunic(src) new /obj/item/clothing/head/crown/fancy(src) new /obj/item/cartridge/captain(src) new /obj/item/storage/box/silver_ids(src) @@ -414,7 +414,7 @@ new /obj/item/clothing/shoes/jackboots(src) new /obj/item/clothing/head/beret/lt(src) new /obj/item/clothing/head/beret/black(src) - new /obj/item/clothing/under/rank/command/lieutenant(src) - new /obj/item/clothing/under/rank/command/lieutenant/skirt(src) - new /obj/item/clothing/under/rank/command/lieutenant/nt(src) - new /obj/item/clothing/under/rank/command/lieutenant/nt/skirt(src) + new /obj/item/clothing/under/rank/command(src) + new /obj/item/clothing/under/rank/command/skirt(src) + new /obj/item/clothing/under/rank/command/nt(src) + new /obj/item/clothing/under/rank/command/nt/skirt(src) diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 70b61cfa8d08..e2430be999b6 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -45,11 +45,27 @@ . += "manifest" /obj/structure/closet/crate/attack_hand(mob/user) - . = ..() - if(.) - return + if(istype(src.loc, /obj/structure/crate_shelf)) + return FALSE // No opening crates in shelves!! if(manifest) tear_manifest(user) + return ..() + +/obj/structure/closet/crate/MouseDrop(atom/drop_atom, src_location, over_location) + . = ..() + var/mob/living/user = usr + if(!isliving(user)) + return // Ghosts busted. + if(!isturf(user.loc) || user.incapacitated() || user.body_position == LYING_DOWN) + return // If the user is in a weird state, don't bother trying. + if(get_dist(drop_atom, src) != 1 || get_dist(drop_atom, user) != 1) + return // Check whether the crate is exactly 1 tile from the shelf and the user. + if(istype(drop_atom, /turf/open) && istype(loc, /obj/structure/crate_shelf) && user.Adjacent(drop_atom)) + var/obj/structure/crate_shelf/shelf = loc + return shelf.unload(src, user, drop_atom) // If we're being dropped onto a turf, and we're inside of a crate shelf, unload. + if(istype(drop_atom, /obj/structure/crate_shelf) && isturf(loc) && user.Adjacent(src)) + var/obj/structure/crate_shelf/shelf = drop_atom + return shelf.load(src, user) // If we're being dropped onto a crate shelf, and we're in a turf, load. /obj/structure/closet/crate/open(mob/living/user, force = FALSE) . = ..() @@ -262,3 +278,17 @@ icon_state = "chemcrate" material_drop = /obj/item/stack/sheet/mineral/gold material_drop_amount = 1 + +/obj/structure/closet/crate/eva + name = "EVA crate" + +/obj/structure/closet/crate/eva/PopulateContents() + ..() + for(var/i in 1 to 3) + new /obj/item/clothing/suit/space/eva(src) + for(var/i in 1 to 3) + new /obj/item/clothing/head/helmet/space/eva(src) + for(var/i in 1 to 3) + new /obj/item/clothing/mask/breath(src) + for(var/i in 1 to 3) + new /obj/item/tank/internals/oxygen(src) diff --git a/code/game/objects/structures/crates_lockers/crates/bins.dm b/code/game/objects/structures/crates_lockers/crates/bins.dm index 26335320c2b3..f895ad7421c7 100644 --- a/code/game/objects/structures/crates_lockers/crates/bins.dm +++ b/code/game/objects/structures/crates_lockers/crates/bins.dm @@ -37,7 +37,7 @@ /obj/structure/closet/crate/bin/proc/do_animate() playsound(loc, open_sound, 15, TRUE, -3) flick("animate_largebins", src) - addtimer(CALLBACK(src, .proc/do_close), 13) + addtimer(CALLBACK(src, PROC_REF(do_close)), 13) /obj/structure/closet/crate/bin/proc/do_close() playsound(loc, close_sound, 15, TRUE, -3) diff --git a/code/game/objects/structures/crateshelf.dm b/code/game/objects/structures/crateshelf.dm new file mode 100644 index 000000000000..1ede60f12e22 --- /dev/null +++ b/code/game/objects/structures/crateshelf.dm @@ -0,0 +1,139 @@ +#define DEFAULT_SHELF_CAPACITY 3 // Default capacity of the shelf +#define DEFAULT_SHELF_USE_DELAY 1 SECONDS // Default interaction delay of the shelf +#define DEFAULT_SHELF_VERTICAL_OFFSET 10 // Vertical pixel offset of shelving-related things. Set to 10 by default due to this leaving more of the crate on-screen to be clicked. + +/obj/structure/crate_shelf + name = "crate shelf" + desc = "It's a shelf! For storing crates!" + icon = 'icons/obj/objects.dmi' + icon_state = "shelf_base" + density = TRUE + anchored = TRUE + max_integrity = 50 // Not hard to break + + var/capacity = DEFAULT_SHELF_CAPACITY + var/use_delay = DEFAULT_SHELF_USE_DELAY + var/list/shelf_contents + +/obj/structure/crate_shelf/tall + capacity = 12 + +/obj/structure/crate_shelf/Initialize() + . = ..() + shelf_contents = new/list(capacity) // Initialize our shelf's contents list, this will be used later. + var/stack_layer // This is used to generate the sprite layering of the shelf pieces. + var/stack_offset // This is used to generate the vertical offset of the shelf pieces. + for(var/i in 1 to (capacity - 1)) + stack_layer = BELOW_OBJ_LAYER + (0.02 * i) - 0.01 // Make each shelf piece render above the last, but below the crate that should be on it. + stack_offset = DEFAULT_SHELF_VERTICAL_OFFSET * i // Make each shelf piece physically above the last. + overlays += image(icon = 'icons/obj/objects.dmi', icon_state = "shelf_stack", layer = stack_layer, pixel_y = stack_offset) + return + +/obj/structure/crate_shelf/Destroy() + QDEL_LIST(shelf_contents) + return ..() + +/obj/structure/crate_shelf/examine(mob/user) + . = ..() + . += "There are some bolts holding [src] together." + if(shelf_contents.Find(null)) // If there's an empty space in the shelf, let the examiner know. + . += "You could drag a crate into [src]." + if(contents.len) // If there are any crates in the shelf, let the examiner know. + . += "You could drag a crate out of [src]." + . += "[src] contains:" + for(var/obj/structure/closet/crate/crate in shelf_contents) + . += " [icon2html(crate, user)] [crate]" + +/obj/structure/crate_shelf/attackby(obj/item/item, mob/living/user, params) + if (item.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1)) + item.play_tool_sound(src) + if(do_after(user, 3 SECONDS, target = src)) + deconstruct(TRUE) + return TRUE + return ..() + +/obj/structure/crate_shelf/relay_container_resist_act(mob/living/user, obj/structure/closet/crate) + to_chat(user, "You begin attempting to knock [crate] out of [src].") + if(do_after(user, 30 SECONDS, target = crate)) + if(!user || user.stat != CONSCIOUS || user.loc != crate || crate.loc != src) + return // If the user is in a strange condition, return early. + visible_message("[crate] falls off of [src]!", + "You manage to knock [crate] free of [src].", + "[crate]'s lid falls open!") + else // If we somehow fail to open the crate, just break it instead! + crate.visible_message("[crate] falls apart!") + crate.deconstruct() + if(3) // Break that crate! + crate.visible_message("[crate] falls apart!") + crate.deconstruct() + shelf_contents[shelf_contents.Find(crate)] = null + if(!(flags_1&NODECONSTRUCT_1)) + density = FALSE + var/obj/item/rack_parts/shelf/newparts = new(loc) + transfer_fingerprints_to(newparts) + return ..() + +/obj/item/rack_parts/shelf + name = "crate shelf parts" + desc = "Parts of a shelf." + construction_type = /obj/structure/crate_shelf diff --git a/code/game/objects/structures/divine.dm b/code/game/objects/structures/divine.dm index f5e50fc57d06..874392a2b9dd 100644 --- a/code/game/objects/structures/divine.dm +++ b/code/game/objects/structures/divine.dm @@ -41,7 +41,7 @@ to_chat(user, "The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards.") user.reagents.add_reagent(/datum/reagent/medicine/omnizine/godblood,20) update_appearance() - addtimer(CALLBACK(src, /atom/.proc/update_appearance), time_between_uses) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), time_between_uses) /obj/structure/healingfountain/update_icon_state() diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index 700d55361d90..ebfda776726f 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -6,6 +6,8 @@ density = TRUE anchored = TRUE + hitsound_type = PROJECTILE_HITSOUND_WOOD + /obj/structure/dresser/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_WRENCH) to_chat(user, "You begin to [anchored ? "unwrench" : "wrench"] [src].") diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm index a5235f461a4f..b2928d361d11 100644 --- a/code/game/objects/structures/electricchair.dm +++ b/code/game/objects/structures/electricchair.dm @@ -42,7 +42,7 @@ var/mob/living/buckled_mob = m buckled_mob.electrocute_act(85, src, 1) to_chat(buckled_mob, "You feel a deep shock course through your body!") - addtimer(CALLBACK(buckled_mob, /mob/living.proc/electrocute_act, 85, src, 1), 1) + addtimer(CALLBACK(buckled_mob, TYPE_PROC_REF(/mob/living, electrocute_act), 85, src, 1), 1) visible_message("The electric chair went off!", "You hear a deep sharp shock!") /obj/structure/chair/e_chair/post_buckle_mob(mob/living/L) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 1bd6325e60a5..a0097504c1d3 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -49,7 +49,7 @@ continue opening = FALSE return - addtimer(CALLBACK(src, /obj/structure/falsewall/proc/toggle_open), 5) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/structure/falsewall, toggle_open)), 5) /obj/structure/falsewall/proc/toggle_open() if(!QDELETED(src)) diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index 2c56b9d7a095..50b578a3aee2 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -3,6 +3,8 @@ max_integrity = 40 anchored = TRUE + hitsound_type = PROJECTILE_HITSOUND_NON_LIVING + /obj/structure/flora/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) switch(damage_type) if(BRUTE) @@ -22,6 +24,8 @@ layer = FLY_LAYER var/log_amount = 10 + hitsound_type = PROJECTILE_HITSOUND_WOOD + /obj/structure/flora/tree/ComponentInitialize() . = ..() AddComponent(/datum/component/largetransparency) @@ -52,6 +56,8 @@ density = FALSE pixel_x = -16 + hitsound_type = PROJECTILE_HITSOUND_WOOD + /obj/structure/flora/tree/pine name = "pine tree" desc = "A coniferous pine tree." @@ -362,7 +368,7 @@ /obj/item/kirbyplants/ComponentInitialize() . = ..() AddComponent(/datum/component/tactical) - addtimer(CALLBACK(src, /datum.proc/_AddComponent, list(/datum/component/beauty, 500)), 0) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum, _AddComponent), list(/datum/component/beauty, 500)), 0) AddComponent(/datum/component/two_handed, require_twohands=TRUE, force_unwielded=10, force_wielded=10) /obj/item/kirbyplants/random @@ -370,6 +376,8 @@ icon_state = "random_plant" var/list/static/states + hitsound_type = PROJECTILE_HITSOUND_STONE + /obj/item/kirbyplants/random/Initialize() . = ..() icon = 'icons/obj/flora/plants.dmi' @@ -424,6 +432,8 @@ max_integrity = 100 var/obj/item/stack/mineResult = /obj/item/stack/ore/glass/basalt + hitsound_type = PROJECTILE_HITSOUND_STONE + /obj/structure/flora/rock/Initialize() . = ..() icon_state = "[base_icon_state][rand(1,3)]" @@ -525,201 +535,6 @@ . = ..() icon_state = "[initial(icon_state)][rand(1,3)]" -// Special tree used in chapel ship -/obj/structure/flora/tree/chapel - name = "sacred oak tree" - icon = 'icons/obj/flora/chapeltree.dmi' - icon_state = "churchtree" - desc = "A true earthen oak tree imported directly from the holy soil of earth. It's radiates a spiritual warmth that calms the soul." - pixel_x = -16 - max_integrity = 200 - bound_height = 64 - var/karma = 0 - var/mojorange = 4 - var/lastcycle = 0 - // Determines the karma gained/lost when feeding the tree this chem - var/list/moralchems = list( - /datum/reagent/water = 0.1, - /datum/reagent/plantnutriment = 0.2, - /datum/reagent/medicine/earthsblood = 1, - /datum/reagent/water/holywater = 0.8, - /datum/reagent/medicine/cryoxadone = 0.3, - /datum/reagent/ammonia = 0.4, - /datum/reagent/saltpetre = 0.5, - /datum/reagent/ash = 0.2, - /datum/reagent/diethylamine = 0.5, - /datum/reagent/consumable/nutriment = 0.1, - /datum/reagent/consumable/virus_food = 0.1, - /datum/reagent/blood = -0.1, - /datum/reagent/consumable/ethanol = -0.1, - /datum/reagent/toxin = -0.2, - /datum/reagent/fluorine = -0.3, - /datum/reagent/chlorine = -0.3, - /datum/reagent/toxin/acid = -0.3, - /datum/reagent/toxin/acid/fluacid = -0.4, - /datum/reagent/toxin/plantbgone = -0.5, - /datum/reagent/napalm = -0.6, - /datum/reagent/hellwater = -1, - /datum/reagent/liquidgibs = -0.2, - /datum/reagent/consumable/ethanol/demonsblood = -0.8, - /datum/reagent/medicine/soulus = -0.2 - ) - -/obj/structure/flora/tree/chapel/Initialize() - START_PROCESSING(SSobj, src) - . = ..() - -/obj/structure/flora/tree/chapel/process() - if(world.time > (lastcycle + 200)) - if(abs(karma) > 100) - pulseKarma() - //Clean up the air a bit - if(isopenturf(loc)) - var/turf/open/T = src.loc - if(T.air) - var/co2 = T.air.get_moles(GAS_CO2) - if(co2 > 0 && prob(50)) - var/amt = min(co2, 10) - T.air.adjust_moles(GAS_CO2, -amt) - T.atmos_spawn_air("o2=[amt];TEMP=293.15") - lastcycle = world.time - -/obj/structure/flora/tree/chapel/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/reagent_containers)) - var/obj/item/reagent_containers/container = I - if(istype(container, /obj/item/reagent_containers/syringe)) - var/obj/item/reagent_containers/syringe/syr = container - if(syr.mode != 1) - to_chat(user, "You can't get any extract out of this plant.") - return - if(!container.reagents.total_volume) - to_chat(user, "[container] is empty!") - return 1 - if(!container.is_drainable()) - if(container.can_have_cap) - to_chat(user, "[container] has a cap on!") - else - to_chat(user, "You can't use [container] on [src]!") - return 1 - to_chat(user, "You feed [src] [container.amount_per_transfer_from_this]u from [container]...") - playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) - var/datum/reagents/R = new /datum/reagents() - R.my_atom = src - container.reagents.trans_to(R, container.amount_per_transfer_from_this, transfered_by = user) - apply_reagents(R, user) - else if(I.get_sharpness() && I.force > 0) - if(I.hitsound) - playsound(get_turf(src), I.hitsound, 100, FALSE, FALSE) - user.visible_message("[user] begins to cut down [src] with [I].","You begin to cut down [src] with [I].", "You hear the sound of sawing.") - if(do_after(user, 1000/I.force, target = src)) //5 seconds with 20 force, 8 seconds with a hatchet, 20 seconds with a shard. - //Regret.dm - to_chat(user, "As you pierce the bark, a supernatural shock jolts through your body...") - user.log_message("attempted to cut down [src] and was smitten") - if(iscarbon(user)) - var/mob/living/carbon/C = user - if(C.can_heartattack()) - C.set_heartattack(TRUE) - else if (isliving(user)) - var/mob/living/L = user - L.Immobilize(100, TRUE) - L.jitteriness += 50 - L.adjustToxLoss(66) - return 1 - else ..() - -/obj/structure/flora/tree/chapel/proc/apply_reagents(datum/reagents/S, mob/user) - var/gainedkarma = 0 - for(var/datum/reagent/R in moralchems) - if(S.has_reagent(R, 1)) - gainedkarma += S.get_reagent_amount(R) * moralchems[R] - if(isliving(user)) - var/mob/living/M = user - if(gainedkarma >= 0) - to_chat(M, "[src] fills with new life as a wave of comfort washes over you.") - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "treekarma", /datum/mood_event/good_tree, name) - if(karma >= 0) - M.adjustBruteLoss(-0.25*karma, 0) - M.adjustFireLoss(-0.25*karma, 0) - M.adjustToxLoss(-0.25*karma, 0) - M.adjustCloneLoss(-0.25*karma, 0) - else - to_chat(M, "Colors fade from [src] as a wave of guilt crawls into your skin.") - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "treekarma", /datum/mood_event/bad_tree, name) - M.adjustToxLoss(abs(karma)*0.25, 0) - adjustKarma(gainedkarma) - -/obj/structure/flora/tree/chapel/proc/update_tree() - if(100 > karma > -100) - name = initial(src.name) - icon_state = initial(src.name) - desc = initial(src.name) - else if (karma >= 100) - name = "hallowed oak tree" - icon_state = "churchtree_nice" - desc = "The sacred spirits of nature have been awoken, washing the area in a holy aura." - else - name = "accursed oak tree" - icon_state = "churchtree_naughty" - desc = "As the bark rots and the leafs turn blood red a sinister aura bleeds into the area." - update_icon_state() - -/obj/structure/flora/tree/chapel/proc/adjustKarma(x) - var/need_update = 0 - var/newkarma = karma + x - if(karma < 100 && newkarma >= 100) - need_update = 1 - visible_message("[src] shifts colors as a heavenly warmth washes over the room.") - if(karma > -100 && newkarma <= -100) - need_update = 1 - visible_message("As the life fades from [src] something evil seeps into the air.") - if(abs(karma) > 100 && newkarma < 100) - need_update = 1 - if(need_update) - update_tree() - karma = newkarma - -/obj/structure/flora/tree/chapel/proc/pulseKarma() - for(var/mob/living/L in range(mojorange, src)) - var/luck = rand(1, 100) - if(karma > 100) - if(luck > 90) - L.reagents.add_reagent(/datum/reagent/medicine/omnizine, 5) - else if (luck > 50) - SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "treekarma", /datum/mood_event/better_tree, name) - else if (luck > 25) - SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "treekarma", /datum/mood_event/good_tree, name) - else if (luck == 1) - adjustKarma(-10) //Nothing good lasts forever - else - if(luck > 90) - L.reagents.add_reagent(/datum/reagent/toxin, 5) - else if (luck > 50) - SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "treekarma", /datum/mood_event/bad_tree, name) - else if (luck > 25) - SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "treekarma", /datum/mood_event/worse_tree, name) - else if (luck == 1) - adjustKarma(10) - -/datum/mood_event/good_tree - description = "I feel closer to my soul.\n" - mood_change = 3 - timeout = 5 MINUTES - -/datum/mood_event/bad_tree - description = "I should stop gardening.\n" - mood_change = -3 - timeout = 5 MINUTES - -/datum/mood_event/better_tree - description = "I feel blessed by the gods!\n" - mood_change = 6 - timeout = 5 MINUTES - -/datum/mood_event/worse_tree - description = "It's like a root is digging into my heart.\n" - mood_change = -6 - timeout = 5 MINUTES - /obj/structure/flora/firebush name = "flaming bush" desc = "A bush being consumed by flames. Maybe it'll rise from its ashes like a phoenix?" @@ -970,3 +785,274 @@ desc= "This patch seems to have run dry on life-giving water." icon_state = "dry_grass_1" base_icon_state = "dry_grass" + +// Special tree used in chapel ship +/obj/structure/flora/tree/chapel + name = "sacred oak tree" + icon = 'icons/obj/flora/chapeltree.dmi' + icon_state = "churchtree" + desc = "A true earthen oak tree imported directly from the holy soil of earth. It's radiates a spiritual warmth that calms the soul." + pixel_x = -16 + max_integrity = 200 + bound_height = 64 + var/karma = 0 + var/mojorange = 4 + var/lastcycle = 0 + // Determines the karma gained/lost when feeding the tree this chem + var/list/moralchems = list( + /datum/reagent/water = 0.1, + /datum/reagent/plantnutriment = 0.2, + /datum/reagent/medicine/earthsblood = 1, + /datum/reagent/water/holywater = 0.8, + /datum/reagent/medicine/cryoxadone = 0.3, + /datum/reagent/ammonia = 0.4, + /datum/reagent/saltpetre = 0.5, + /datum/reagent/ash = 0.2, + /datum/reagent/diethylamine = 0.5, + /datum/reagent/consumable/nutriment = 0.1, + /datum/reagent/consumable/virus_food = 0.1, + /datum/reagent/blood = -0.1, + /datum/reagent/consumable/ethanol = -0.1, + /datum/reagent/toxin = -0.2, + /datum/reagent/fluorine = -0.3, + /datum/reagent/chlorine = -0.3, + /datum/reagent/toxin/acid = -0.3, + /datum/reagent/toxin/acid/fluacid = -0.4, + /datum/reagent/toxin/plantbgone = -0.5, + /datum/reagent/napalm = -0.6, + /datum/reagent/hellwater = -1, + /datum/reagent/liquidgibs = -0.2, + /datum/reagent/consumable/ethanol/demonsblood = -0.8, + /datum/reagent/medicine/soulus = -0.2 + ) + +/obj/structure/flora/tree/chapel/Initialize() + START_PROCESSING(SSobj, src) + . = ..() + +/obj/structure/flora/tree/chapel/process() + if(world.time > (lastcycle + 200)) + if(abs(karma) > 100) + pulseKarma() + //Clean up the air a bit + if(isopenturf(loc)) + var/turf/open/T = src.loc + if(T.air) + var/co2 = T.air.get_moles(GAS_CO2) + if(co2 > 0 && prob(50)) + var/amt = min(co2, 10) + T.air.adjust_moles(GAS_CO2, -amt) + T.atmos_spawn_air("o2=[amt];TEMP=293.15") + lastcycle = world.time + +/obj/structure/flora/tree/chapel/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/reagent_containers)) + var/obj/item/reagent_containers/container = I + if(istype(container, /obj/item/reagent_containers/syringe)) + var/obj/item/reagent_containers/syringe/syr = container + if(syr.mode != 1) + to_chat(user, "You can't get any extract out of this plant.") + return + if(!container.reagents.total_volume) + to_chat(user, "[container] is empty!") + return 1 + if(!container.is_drainable()) + if(container.can_have_cap) + to_chat(user, "[container] has a cap on!") + else + to_chat(user, "You can't use [container] on [src]!") + return 1 + to_chat(user, "You feed [src] [container.amount_per_transfer_from_this]u from [container]...") + playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) + var/datum/reagents/R = new /datum/reagents() + R.my_atom = src + container.reagents.trans_to(R, container.amount_per_transfer_from_this, transfered_by = user) + apply_reagents(R, user) + else if(I.get_sharpness() && I.force > 0) + if(I.hitsound) + playsound(get_turf(src), I.hitsound, 100, FALSE, FALSE) + user.visible_message("[user] begins to cut down [src] with [I].","You begin to cut down [src] with [I].", "You hear the sound of sawing.") + if(do_after(user, 1000/I.force, target = src)) //5 seconds with 20 force, 8 seconds with a hatchet, 20 seconds with a shard. + //Regret.dm + to_chat(user, "As you pierce the bark, a supernatural shock jolts through your body...") + user.log_message("attempted to cut down [src] and was smitten") + if(iscarbon(user)) + var/mob/living/carbon/C = user + if(C.can_heartattack()) + C.set_heartattack(TRUE) + else if (isliving(user)) + var/mob/living/L = user + L.Immobilize(100, TRUE) + L.jitteriness += 50 + L.adjustToxLoss(66) + return 1 + else ..() + +/obj/structure/flora/tree/chapel/proc/apply_reagents(datum/reagents/S, mob/user) + var/gainedkarma = 0 + for(var/datum/reagent/R in moralchems) + if(S.has_reagent(R, 1)) + gainedkarma += S.get_reagent_amount(R) * moralchems[R] + if(isliving(user)) + var/mob/living/M = user + if(gainedkarma >= 0) + to_chat(M, "[src] fills with new life as a wave of comfort washes over you.") + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "treekarma", /datum/mood_event/good_tree, name) + if(karma >= 0) + M.adjustBruteLoss(-0.25*karma, 0) + M.adjustFireLoss(-0.25*karma, 0) + M.adjustToxLoss(-0.25*karma, 0) + M.adjustCloneLoss(-0.25*karma, 0) + else + to_chat(M, "Colors fade from [src] as a wave of guilt crawls into your skin.") + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "treekarma", /datum/mood_event/bad_tree, name) + M.adjustToxLoss(abs(karma)*0.25, 0) + adjustKarma(gainedkarma) + +/obj/structure/flora/tree/chapel/proc/update_tree() + if(100 > karma > -100) + name = initial(src.name) + icon_state = initial(src.name) + desc = initial(src.name) + else if (karma >= 100) + name = "hallowed oak tree" + icon_state = "churchtree_nice" + desc = "The sacred spirits of nature have been awoken, washing the area in a holy aura." + else + name = "accursed oak tree" + icon_state = "churchtree_naughty" + desc = "As the bark rots and the leafs turn blood red a sinister aura bleeds into the area." + update_icon_state() + +/obj/structure/flora/tree/chapel/proc/adjustKarma(x) + var/need_update = 0 + var/newkarma = karma + x + if(karma < 100 && newkarma >= 100) + need_update = 1 + visible_message("[src] shifts colors as a heavenly warmth washes over the room.") + if(karma > -100 && newkarma <= -100) + need_update = 1 + visible_message("As the life fades from [src] something evil seeps into the air.") + if(abs(karma) > 100 && newkarma < 100) + need_update = 1 + if(need_update) + update_tree() + karma = newkarma + +/obj/structure/flora/tree/chapel/proc/pulseKarma() + for(var/mob/living/L in range(mojorange, src)) + var/luck = rand(1, 100) + if(karma > 100) + if(luck > 90) + L.reagents.add_reagent(/datum/reagent/medicine/omnizine, 5) + else if (luck > 50) + SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "treekarma", /datum/mood_event/better_tree, name) + else if (luck > 25) + SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "treekarma", /datum/mood_event/good_tree, name) + else if (luck == 1) + adjustKarma(-10) //Nothing good lasts forever + else + if(luck > 90) + L.reagents.add_reagent(/datum/reagent/toxin, 5) + else if (luck > 50) + SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "treekarma", /datum/mood_event/bad_tree, name) + else if (luck > 25) + SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "treekarma", /datum/mood_event/worse_tree, name) + else if (luck == 1) + adjustKarma(10) + +/datum/mood_event/good_tree + description = "I feel closer to my soul.\n" + mood_change = 3 + timeout = 5 MINUTES + +/datum/mood_event/bad_tree + description = "I should stop gardening.\n" + mood_change = -3 + timeout = 5 MINUTES + +/datum/mood_event/better_tree + description = "I feel blessed by the gods!\n" + mood_change = 6 + timeout = 5 MINUTES + +/datum/mood_event/worse_tree + description = "It's like a root is digging into my heart.\n" + mood_change = -6 + timeout = 5 MINUTES + +// Tree used in the SRM ships. +/obj/structure/flora/tree/srm + name = "Montagne's Oak" + icon = 'icons/obj/flora/chapeltree.dmi' + icon_state = "churchtree" + desc = "A sturdy oak tree imported directly from Illestren the homeworld of the Saint-Roumain Militia. It contains a bacteria native to the planet. The soil was carfuly transfered from the same place it was planted. A apple tree branch has been grafted onto it. You could try watering it" + pixel_x = -16 + max_integrity = 200 + bound_height = 64 + var/health = 0 + var/lastcycle = 0 + //Decides where the apple gets dropped + var/apple_direction = SOUTH + //Determines the health gained/lost when feeding the tree this chem + var/list/healthchems = list( + /datum/reagent/consumable/ethanol/trickwine/ash_wine = 0.8, + /datum/reagent/water = 0.1, + /datum/reagent/plantnutriment = 0.2, + /datum/reagent/medicine/earthsblood = 1, + /datum/reagent/water/holywater = 0.8, + /datum/reagent/medicine/cryoxadone = 0.3, + /datum/reagent/ammonia = 0.4, + /datum/reagent/saltpetre = 0.5, + /datum/reagent/ash = 0.2, + /datum/reagent/diethylamine = 0.5, + /datum/reagent/consumable/nutriment = 0.1, + /datum/reagent/consumable/virus_food = 0.1, + /datum/reagent/blood = -0.1, + /datum/reagent/consumable/ethanol = -0.1, + /datum/reagent/toxin = -0.2, + /datum/reagent/fluorine = -0.3, + /datum/reagent/chlorine = -0.3, + /datum/reagent/toxin/acid = -0.3, + /datum/reagent/toxin/acid/fluacid = -0.4, + /datum/reagent/toxin/plantbgone = -0.5, + /datum/reagent/napalm = -0.6, + /datum/reagent/hellwater = -1, + /datum/reagent/liquidgibs = -0.2, + /datum/reagent/consumable/ethanol/demonsblood = -0.8, + /datum/reagent/medicine/soulus = -0.2 + ) + +/obj/structure/flora/tree/srm/Initialize() + START_PROCESSING(SSobj, src) + create_reagents(300, OPENCONTAINER) + . = ..() + +/obj/structure/flora/tree/srm/process() + if(world.time > (lastcycle + 100)) + if(reagents.total_volume > 0) + var/gainedhealth = 0 + for(var/reagent in healthchems) + if(reagents.has_reagent(reagent, 1)) + gainedhealth += reagents.get_reagent_amount(reagent) * healthchems[reagent] + health += gainedhealth + reagents.remove_reagent(reagent, reagents.get_reagent_amount(reagent)) + reagents.clear_reagents() + if(health > 25) + if(prob(50)) + var/obj/item/reagent_containers/food/snacks/grown/apple/apple = new(get_step(get_turf(src), apple_direction)) + apple.name = "illestren Apple" + apple.desc = "You can grind this for bacteria." + apple.reagents.add_reagent(/datum/reagent/srm_bacteria, 10) + visible_message("An [apple] falls from the tree.") + health -= 25 + //Clean up the air a bit + if(isopenturf(loc)) + var/turf/open/T = src.loc + if(T.air) + var/co2 = T.air.get_moles(GAS_CO2) + if(co2 > 0 && prob(50)) + var/amt = min(co2, 10) + T.air.adjust_moles(GAS_CO2, -amt) + T.atmos_spawn_air("o2=[amt];TEMP=293.15") + lastcycle = world.time diff --git a/code/game/objects/structures/fugitive_role_spawners.dm b/code/game/objects/structures/fugitive_role_spawners.dm index f275e84db347..4f98e919ffc5 100644 --- a/code/game/objects/structures/fugitive_role_spawners.dm +++ b/code/game/objects/structures/fugitive_role_spawners.dm @@ -14,14 +14,6 @@ . = ..() notify_ghosts("Hunters are waking up looking for refugees!", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE, ignore_key = POLL_IGNORE_FUGITIVE) -/obj/effect/mob_spawn/human/fugitive/special(mob/living/new_spawn) - var/datum/antagonist/fugitive_hunter/fughunter = new - fughunter.backstory = back_story - new_spawn.mind.add_antag_datum(fughunter) - fughunter.greet() - message_admins("[ADMIN_LOOKUPFLW(new_spawn)] has been made into a Fugitive Hunter by an event.") - log_game("[key_name(new_spawn)] was spawned as a Fugitive Hunter by an event.") - /obj/effect/mob_spawn/human/fugitive/spacepol name = "police pod" desc = "A small sleeper typically used to put people to sleep for briefing on the mission." diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index b25d84db6a38..727187aa14df 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -356,54 +356,6 @@ new/obj/structure/fluff/empty_sleeper/syndicate(get_turf(src)) return ..() -//Space Hotel Staff -/obj/effect/mob_spawn/human/hotel_staff //not free antag u little shits - name = "staff sleeper" - desc = "A sleeper designed for long-term stasis between guest visits." - mob_name = "hotel staff member" - icon = 'icons/obj/machines/sleeper.dmi' - icon_state = "sleeper_s" - objectives = "Cater to visiting guests with your fellow staff. Do not leave your assigned hotel and always remember: The customer is always right!" - death = FALSE - roundstart = FALSE - random = TRUE - outfit = /datum/outfit/hotelstaff - short_desc = "You are a staff member of a top-of-the-line space hotel!" - flavour_text = "You are a staff member of a top-of-the-line space hotel! Cater to guests and make sure the manager doesn't fire you." - important_info = "DON'T leave the hotel" - assignedrole = "Hotel Staff" - -/datum/outfit/hotelstaff - name = "Hotel Staff" - uniform = /obj/item/clothing/under/misc/assistantformal - shoes = /obj/item/clothing/shoes/laceup - r_pocket = /obj/item/radio/off - back = /obj/item/storage/backpack - implants = list(/obj/item/implant/mindshield) - -/obj/effect/mob_spawn/human/hotel_staff/security - name = "hotel security sleeper" - mob_name = "hotel security member" - outfit = /datum/outfit/hotelstaff/security - short_desc = "You are a peacekeeper." - flavour_text = "You have been assigned to this hotel to protect the interests of the company while keeping the peace between \ - guests and the staff." - important_info = "Do NOT leave the hotel, as that is grounds for contract termination." - objectives = "Do not leave your assigned hotel. Try and keep the peace between staff and guests, non-lethal force heavily advised if possible." - -/datum/outfit/hotelstaff/security - name = "Hotel Security" - uniform = /obj/item/clothing/under/rank/security/officer/blueshirt - shoes = /obj/item/clothing/shoes/jackboots - suit = /obj/item/clothing/suit/armor/vest/blueshirt - head = /obj/item/clothing/head/helmet/blueshirt - back = /obj/item/storage/backpack/security - belt = /obj/item/storage/belt/security/full - -/obj/effect/mob_spawn/human/hotel_staff/Destroy() - new/obj/structure/fluff/empty_sleeper/syndicate(get_turf(src)) - return ..() - /obj/effect/mob_spawn/human/demonic_friend name = "Essence of friendship" desc = "Oh boy! Oh boy! A friend!" @@ -445,7 +397,7 @@ id.update_label() else to_chat(L, "Your owner is already dead! You will soon perish.") - addtimer(CALLBACK(L, /mob.proc/dust, 150)) //Give em a few seconds as a mercy. + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob, dust), 150)) //Give em a few seconds as a mercy. /datum/outfit/demonic_friend name = "Demonic Friend" @@ -475,121 +427,6 @@ implants = list(/obj/item/implant/weapons_auth) id = /obj/item/card/id/syndicate -/datum/outfit/syndicate_empty/post_equip(mob/living/carbon/human/H) - H.faction |= ROLE_SYNDICATE - -//shiptest edit start, adding egors updated starfury roles, this should theoritacly not fuck with shit since this code is unused anyways -/obj/effect/mob_spawn/human/syndicate/battlecruiser - name = "Syndicate Battlecruiser Ship Operative" - short_desc = "You are a crewmember aboard the Syndicate flagship Starfury." - flavour_text = "Your job is to follow your higher-ranking operatives' orders, assisting in pretty much anything that might need your help." - important_info = "While you don't have a strict role, you are supposed to obey orders given by anyone on the ship, including medical, engineering and assault operatives." - outfit = /datum/outfit/syndicate_empty/sbc - assignedrole = "Battlecruiser Operative" - mob_name = "syndicate operative" - id_job = "Syndicate Operative" - random = TRUE - roundstart = FALSE - death = FALSE - anchored = TRUE - density = FALSE - -/datum/outfit/syndicate_empty/sbc - name = "Syndicate Battlecruiser Ship Deck Assistant" - uniform = /obj/item/clothing/under/syndicate/aclfgrunt - gloves = /obj/item/clothing/gloves/combat - l_pocket = /obj/item/gun/ballistic/automatic/pistol - r_pocket = /obj/item/kitchen/knife/combat/survival - belt = /obj/item/storage/belt/military/assault - id = /obj/item/card/id/syndicate_command/crew_id - backpack_contents = list(/obj/item/storage/box/survival/syndie=1) - -/obj/effect/mob_spawn/human/syndicate/battlecruiser/engineering - name = "Syndicate Battlecruiser Ship Engineer" - short_desc = "You are an engineer aboard the Syndicate flagship Starfury." - flavour_text = "Your job is to maintain the ship, and keep the engine running. If you are unfamiliar with how the supermatter engine functions, do not attempt to start it alone; ask a fellow crewman for help." - important_info = "While your role means you can help in the assault with your tools, you must first and foremost keep the cruiser and engine in a working state." - outfit = /datum/outfit/syndicate_empty/sbc/engi - assignedrole = "Battlecruiser Engineer" - mob_name = "syndicate engineer" - id_job = "Syndicate Engineer" - -/datum/outfit/syndicate_empty/sbc/engi - name = "Syndicate Battlecruiser Ship Engineer" - glasses = /obj/item/clothing/glasses/meson/night - uniform = /obj/item/clothing/under/syndicate/gorlex - r_pocket = /obj/item/analyzer - belt = /obj/item/storage/belt/utility/syndicate - back = /obj/item/storage/backpack/industrial - backpack_contents = list(/obj/item/storage/box/survival/syndie=1, /obj/item/construction/rcd/combat, /obj/item/rcd_ammo/large) - -/obj/effect/mob_spawn/human/syndicate/battlecruiser/medical - name = "Syndicate Battlecruiser Ship Medical Doctor" - short_desc = "You are a medical doctor aboard the Syndicate flagship: the SBC Starfury." - flavour_text = "Your job is to maintain the crew's physical health and keep your comrades alive at all cost." - important_info = "The armory has nothing to help you with your job, and your role is to assist assault operatives, not to do their work for them." - outfit = /datum/outfit/syndicate_empty/sbc/med - assignedrole = "Battlecruiser Medical Doctor" - mob_name = "syndicate medic" - id_job = "Syndicate Medical Doctor" - -/datum/outfit/syndicate_empty/sbc/med - name = "Syndicate Battlecruiser Ship Medical Doctor" - gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil - glasses = /obj/item/clothing/glasses/hud/health - belt = /obj/item/pda/medical - back = /obj/item/storage/backpack/duffelbag/syndie/med - backpack_contents = list(/obj/item/storage/box/survival/syndie=1, /obj/item/storage/firstaid/medical) - -/obj/effect/mob_spawn/human/syndicate/battlecruiser/assault - name = "Syndicate Battlecruiser Assault Operative" - short_desc = "You are an assault operative aboard the syndicate flagship Starfury." - flavour_text = "Your job is to follow your captain's orders, keep intruders out of the ship, and assault Space Station 13. There is an armory, multiple assault ships, and beam cannons to attack the station with." - important_info = "Work as a team with your fellow operatives and work out a plan of attack. If you are overwhelmed, escape back to your ship!" - outfit = /datum/outfit/syndicate_empty/sbc/operative - assignedrole = "Battlecruiser Assault Operative" - mob_name = "syndicate assault operative" - id_job = "Syndicate Assault Operative" - -/datum/outfit/syndicate_empty/sbc/operative - name = "Syndicate Battlecruiser Operative" - uniform = /obj/item/clothing/under/syndicate/camo - glasses = /obj/item/clothing/glasses/night - belt = /obj/item/storage/belt/military - back = /obj/item/storage/backpack/duffelbag/syndie - suit = /obj/item/clothing/suit/armor/vest - backpack_contents = list(/obj/item/storage/box/survival/syndie=1, /obj/item/gun_voucher/syndicate=1) - -/datum/outfit/syndicate_empty/sbc/lieutenant - name = "Syndicate Battlecruiser Lieutenant" - head = /obj/item/clothing/head/HoS/beret/syndicate - ears = /obj/item/radio/headset/syndicate/alt/leader - uniform = /obj/item/clothing/under/syndicate/combat - id = /obj/item/card/id/syndicate_command/lieutenant - backpack_contents = list(/obj/item/melee/baton/loaded=1, /obj/item/storage/box/survival/syndie=1) - -/obj/effect/mob_spawn/human/syndicate/battlecruiser/captain - name = "Syndicate Battlecruiser Captain" - short_desc = "You are the captain aboard the Syndicate flagship Starfury." - flavour_text = "Your job is to oversee your crew, defend the ship, and destroy Space Station 13. The ship has an armory, multiple ships, beam cannons, and multiple crewmembers to accomplish this goal." - important_info = "As the captain, this whole operation falls on your shoulders. You do not need to nuke the station, causing sufficient damage and preventing your ship from being destroyed will be enough." - outfit = /datum/outfit/syndicate_empty/sbc/captain - id_access_list = list(150,151) - id_job = "Syndicate Captain" - assignedrole = "Battlecruiser Captain" - mob_name = "syndicate captain" - -/datum/outfit/syndicate_empty/sbc/captain - name = "Syndicate Battlecruiser Captain" - l_pocket = /obj/item/melee/transforming/energy/sword/saber/red - ears = /obj/item/radio/headset/syndicate/alt/captain - uniform = /obj/item/clothing/under/syndicate/aclf - suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate - suit_store = /obj/item/gun/ballistic/revolver/mateba - head = /obj/item/clothing/head/HoS/syndicate - mask = /obj/item/clothing/mask/cigarette/cigar/havana - glasses = /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch - id = /obj/item/card/id/syndicate_command/captain_id //Ancient cryogenic sleepers. Players become NT crewmen from a hundred year old space station, now on the verge of collapse. /obj/effect/mob_spawn/human/oldsec @@ -719,7 +556,6 @@ /obj/effect/mob_spawn/human/pirate/special(mob/living/new_spawn) new_spawn.fully_replace_character_name(new_spawn.real_name,generate_pirate_name()) - new_spawn.mind.add_antag_datum(/datum/antagonist/pirate) /obj/effect/mob_spawn/human/pirate/proc/generate_pirate_name() var/beggings = strings(PIRATE_NAMES_FILE, "beginnings") @@ -737,57 +573,6 @@ /obj/effect/mob_spawn/human/pirate/gunner rank = "Gunner" -//Forgotten syndicate ship - -/obj/effect/mob_spawn/human/syndicatespace - name = "Syndicate Ship Crew Member" - roundstart = FALSE - death = FALSE - icon = 'icons/obj/machines/sleeper.dmi' - icon_state = "sleeper_s" - short_desc = "You are a syndicate operative, awoken deep in hostile space." - flavour_text = "Your ship is part of the infamous \"sleeper\" doctrine of syndicate strike forces, who flung unpowered vessels with cryo-frozen crew deep into Nanotrasen territory, tasked to cause havoc and carry out covert reconnisance. The chill in your bones informs you that you've been asleep far longer than intended. Your vessel appears to be in a sorry state, and a tinny alarm pierces through your fugue to report unknown contacts aboard the vessel. It's going to be one of those days." - important_info = "Obey orders given by your captain. Prevent yourself and any syndicate assets from falling into enemy hands." - outfit = /datum/outfit/syndicatespace/syndicrew - assignedrole = "Cybersun Crewmember" - -/obj/effect/mob_spawn/human/syndicatespace/Initialize(mapload) - . = ..() - var/policy = get_policy(ROLE_SYNDICATE_CYBERSUN) - if(policy) - important_info = policy - -/datum/outfit/syndicatespace/syndicrew/post_equip(mob/living/carbon/human/H) - H.faction |= ROLE_SYNDICATE - -/obj/effect/mob_spawn/human/syndicatespace/special(mob/living/new_spawn) - new_spawn.grant_language(/datum/language/codespeak, TRUE, TRUE, LANGUAGE_MIND) - -/obj/effect/mob_spawn/human/syndicatespace/captain - name = "Syndicate Ship Captain" - roundstart = FALSE - death = FALSE - icon = 'icons/obj/machines/sleeper.dmi' - icon_state = "sleeper_s" - short_desc = "You are the captain of a long-slumbering syndicate vessel, stuck deep in enemy territory." - flavour_text = "Your ship is part of the infamous \"sleeper\" doctrine of syndicate strike forces, who flung unpowered vessels with cryo-frozen crew deep into Nanotrasen territory, tasked to cause havoc and carry out covert reconnisance. The chill in your bones informs you that you've been asleep far longer than intended. Your vessel appears to be in a sorry state, and a tinny alarm pierces through your fugue to report unknown contacts aboard the vessel. It's going to be one of those days." - important_info = "Protect the ship and secret documents in your backpack with your own life. Secure the syndicate assets present at your covert landing site. Prevent them, your crew, and yourself from falling into corporate hands." - outfit = /datum/outfit/syndicatespace/syndicaptain - assignedrole = "Cybersun Captain" - -/obj/effect/mob_spawn/human/syndicatespace/syndicaptain/Initialize(mapload) - . = ..() - var/policy = get_policy(ROLE_SYNDICATE_CYBERSUN_CAPTAIN) - if(policy) - important_info = policy - -/datum/outfit/syndicatespace/syndicaptain/post_equip(mob/living/carbon/human/H) - H.faction |= ROLE_SYNDICATE - -/obj/effect/mob_spawn/human/syndicatespace/captain/Destroy() - new/obj/structure/fluff/empty_sleeper/syndicate/captain(get_turf(src)) - return ..() - /datum/outfit/syndicatespace/syndicrew name = "Syndicate Ship Crew Member" uniform = /obj/item/clothing/under/syndicate/combat diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm index 51816849cbe3..59ef31fafa4e 100644 --- a/code/game/objects/structures/guillotine.dm +++ b/code/game/objects/structures/guillotine.dm @@ -79,7 +79,7 @@ if (GUILLOTINE_BLADE_DROPPED) blade_status = GUILLOTINE_BLADE_MOVING icon_state = "guillotine_raise" - addtimer(CALLBACK(src, .proc/raise_blade), GUILLOTINE_ANIMATION_LENGTH) + addtimer(CALLBACK(src, PROC_REF(raise_blade)), GUILLOTINE_ANIMATION_LENGTH) return if (GUILLOTINE_BLADE_RAISED) if (LAZYLEN(buckled_mobs)) @@ -93,7 +93,7 @@ current_action = 0 blade_status = GUILLOTINE_BLADE_MOVING icon_state = "guillotine_drop" - addtimer(CALLBACK(src, .proc/drop_blade, user), GUILLOTINE_ANIMATION_LENGTH - 2) // Minus two so we play the sound and decap faster + addtimer(CALLBACK(src, PROC_REF(drop_blade), user), GUILLOTINE_ANIMATION_LENGTH - 2) // Minus two so we play the sound and decap faster else current_action = 0 else @@ -106,7 +106,7 @@ else blade_status = GUILLOTINE_BLADE_MOVING icon_state = "guillotine_drop" - addtimer(CALLBACK(src, .proc/drop_blade), GUILLOTINE_ANIMATION_LENGTH) + addtimer(CALLBACK(src, PROC_REF(drop_blade)), GUILLOTINE_ANIMATION_LENGTH) /obj/structure/guillotine/proc/raise_blade() blade_status = GUILLOTINE_BLADE_RAISED @@ -149,7 +149,7 @@ for(var/mob/M in viewers(src, 7)) var/mob/living/carbon/human/C = M if (ishuman(M)) - addtimer(CALLBACK(C, /mob/.proc/emote, "clap"), delay_offset * 0.3) + addtimer(CALLBACK(C, TYPE_PROC_REF(/mob, emote), "clap"), delay_offset * 0.3) delay_offset++ else H.apply_damage(15 * blade_sharpness, BRUTE, head) diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm index 571f5ca0d3a3..cf0d6957e69c 100644 --- a/code/game/objects/structures/guncase.dm +++ b/code/game/objects/structures/guncase.dm @@ -82,7 +82,7 @@ item_image.copy_overlays(thing) items += list("[thing.name] ([i])" = item_image) - var/pick = show_radial_menu(user, src, items, custom_check = CALLBACK(src, .proc/check_menu, user), radius = 36, require_near = TRUE) + var/pick = show_radial_menu(user, src, items, custom_check = CALLBACK(src, PROC_REF(check_menu), user), radius = 36, require_near = TRUE) if(!pick) return diff --git a/code/game/objects/structures/hivebot.dm b/code/game/objects/structures/hivebot.dm index 6c79afce172c..00124d781d80 100644 --- a/code/game/objects/structures/hivebot.dm +++ b/code/game/objects/structures/hivebot.dm @@ -17,7 +17,7 @@ smoke.start() visible_message("[src] warps in!") playsound(src.loc, 'sound/effects/empulse.ogg', 25, TRUE) - addtimer(CALLBACK(src, .proc/warpbots), rand(spawn_time_min, spawn_time_max)) + addtimer(CALLBACK(src, PROC_REF(warpbots)), rand(spawn_time_min, spawn_time_max)) /obj/structure/hivebot_beacon/proc/warpbots() icon_state = "def_radar" diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm index f85d57278cf9..900d31f5e8a8 100644 --- a/code/game/objects/structures/holosign.dm +++ b/code/game/objects/structures/holosign.dm @@ -221,7 +221,7 @@ var/mob/living/M = user M.electrocute_act(15,"Energy Barrier", flags = SHOCK_NOGLOVES) shockcd = TRUE - addtimer(CALLBACK(src, .proc/cooldown), 5) + addtimer(CALLBACK(src, PROC_REF(cooldown)), 5) /obj/structure/holosign/barrier/cyborg/hacked/Bumped(atom/movable/AM) if(shockcd) @@ -233,7 +233,7 @@ var/mob/living/M = AM M.electrocute_act(15,"Energy Barrier", flags = SHOCK_NOGLOVES) shockcd = TRUE - addtimer(CALLBACK(src, .proc/cooldown), 5) + addtimer(CALLBACK(src, PROC_REF(cooldown)), 5) /* Infinite Holosigns for admin/etc use */ diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm index a4523da28ed7..50cadf2f8801 100644 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ b/code/game/objects/structures/icemoon/cave_entrance.dm @@ -141,7 +141,7 @@ GLOBAL_LIST_INIT(ore_probability, list( playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE) visible_message("[src] begins to collapse! As it fails, it connects to a random dimensional point and pulls through what it finds!") animate(src, transform = matrix().Scale(0, 1), alpha = 50, time = 5 SECONDS) - addtimer(CALLBACK(src, .proc/collapse), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(collapse)), 5 SECONDS) /** * Handles portal deletion diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index 4ba59605eb0d..14bd21d53160 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -93,7 +93,7 @@ ) if (up && down) - var/result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if (!is_ghost && !in_range(src, user)) return // nice try switch(result) diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm index d06d5e167157..7a57d1d5ac3a 100644 --- a/code/game/objects/structures/lavaland/necropolis_tendril.dm +++ b/code/game/objects/structures/lavaland/necropolis_tendril.dm @@ -15,6 +15,8 @@ anchored = TRUE resistance_flags = FIRE_PROOF | LAVA_PROOF + hitsound_type = PROJECTILE_HITSOUND_FLESH + var/gps = null var/obj/effect/light_emitter/tendril/emitted_light @@ -71,7 +73,7 @@ GLOBAL_LIST_INIT(tendrils, list()) visible_message("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!") visible_message("Something falls free of the tendril!") playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE) - addtimer(CALLBACK(src, .proc/collapse), 50) + addtimer(CALLBACK(src, PROC_REF(collapse)), 50) /obj/effect/collapse/Destroy() QDEL_NULL(emitted_light) diff --git a/code/game/objects/structures/life_candle.dm b/code/game/objects/structures/life_candle.dm index 7e562976e1af..4ed4ddfcbbf7 100644 --- a/code/game/objects/structures/life_candle.dm +++ b/code/game/objects/structures/life_candle.dm @@ -65,7 +65,7 @@ for(var/m in linked_minds) var/datum/mind/mind = m if(!mind.current || (mind.current && mind.current.stat == DEAD)) - addtimer(CALLBACK(src, .proc/respawn, mind), respawn_time, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(respawn), mind), respawn_time, TIMER_UNIQUE) /obj/structure/life_candle/proc/respawn(datum/mind/mind) var/turf/T = get_turf(src) diff --git a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm index 9dda5181c071..e0f6e22f3e7e 100644 --- a/code/game/objects/structures/manned_turret.dm +++ b/code/game/objects/structures/manned_turret.dm @@ -172,7 +172,7 @@ /obj/machinery/deployable_turret/proc/volley(mob/user) target_turf = get_turf(target) for(var/i in 1 to number_of_shots) - addtimer(CALLBACK(src, /obj/machinery/deployable_turret/.proc/fire_helper, user), i*rate_of_fire) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/deployable_turret, fire_helper), user), i*rate_of_fire) /obj/machinery/deployable_turret/proc/fire_helper(mob/user) if(user.incapacitated() || !(user in buckled_mobs)) diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 3cd67b47d74e..9e201e29b108 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -99,7 +99,7 @@ isSwitchingStates = FALSE if(close_delay != -1) - addtimer(CALLBACK(src, .proc/Close), close_delay) + addtimer(CALLBACK(src, PROC_REF(Close)), close_delay) /obj/structure/mineral_door/proc/Close() if(isSwitchingStates || !door_opened) diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index 4c7625b5dbcb..294976f72fc6 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -31,7 +31,7 @@ var/action = anchored ? "unscrews [src] from" : "screws [src] to" var/uraction = anchored ? "unscrew [src] from " : "screw [src] to" user.visible_message("[user] [action] the floor.", "You start to [uraction] the floor...", "You hear rustling noises.") - if(W.use_tool(src, user, 100, volume=100, extra_checks = CALLBACK(src, .proc/check_anchored_state, anchored))) + if(W.use_tool(src, user, 100, volume=100, extra_checks = CALLBACK(src, PROC_REF(check_anchored_state), anchored))) set_anchored(!anchored) to_chat(user, "You [anchored ? "unscrew" : "screw"] [src] from the floor.") return TRUE diff --git a/code/game/objects/structures/poddoor_assembly.dm b/code/game/objects/structures/poddoor_assembly.dm index c8cf1931c701..5909e0f666b2 100644 --- a/code/game/objects/structures/poddoor_assembly.dm +++ b/code/game/objects/structures/poddoor_assembly.dm @@ -26,7 +26,7 @@ /obj/structure/poddoor_assembly/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, .proc/can_be_rotated)) + AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated))) /obj/structure/poddoor_assembly/proc/can_be_rotated(mob/user, rotation_type) return !anchored diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm index 6147308cf62e..95c24145399f 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -18,7 +18,7 @@ . = ..() if(density && flags_1 & ON_BORDER_1) var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit, + COMSIG_ATOM_EXIT = PROC_REF(on_exit), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -31,12 +31,12 @@ if(skip) return ..() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_CLOCKWISE_HALF | ROTATION_COUNTERCLOCKWISE | ROTATION_COUNTERCLOCKWISE_HALF | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated),CALLBACK(src,.proc/after_rotation)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_CLOCKWISE_HALF | ROTATION_COUNTERCLOCKWISE | ROTATION_COUNTERCLOCKWISE_HALF | ROTATION_VERBS ,null,CALLBACK(src, PROC_REF(can_be_rotated)),CALLBACK(src, PROC_REF(after_rotation))) /obj/structure/railing/corner/ComponentInitialize() . = ..(TRUE) - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated),CALLBACK(src,.proc/after_rotation)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, PROC_REF(can_be_rotated)),CALLBACK(src, PROC_REF(after_rotation))) /obj/structure/railing/attackby(obj/item/I, mob/living/user, params) @@ -77,7 +77,7 @@ if(flags_1&NODECONSTRUCT_1) return to_chat(user, "You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor...") - if(I.use_tool(src, user, volume = 75, extra_checks = CALLBACK(src, .proc/check_anchored, anchored))) + if(I.use_tool(src, user, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored))) set_anchored(!anchored) to_chat(user, "You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor.") return TRUE diff --git a/code/game/objects/structures/sauna.dm b/code/game/objects/structures/sauna.dm new file mode 100644 index 000000000000..0b0a10565a3f --- /dev/null +++ b/code/game/objects/structures/sauna.dm @@ -0,0 +1,101 @@ +#define SAUNA_H2O_TEMP T20C + 60 +#define SAUNA_LOG_FUEL 150 +#define SAUNA_MAXIMUM_FUEL 3000 +#define SAUNA_WATER_PER_WATER_UNIT 5 + +/obj/structure/sauna_oven + name = "sauna oven" + desc = "A modest sauna oven with rocks. Add some fuel, pour some water and enjoy the moment." + icon_state = "sauna" + density = TRUE + anchored = TRUE + resistance_flags = FIRE_PROOF + var/lit = FALSE + var/fuel_amount = 0 + var/water_amount = 0 + +/obj/structure/sauna_oven/examine(mob/user) + . = ..() + . += "The rocks are [water_amount ? "moist" : "dry"]." + . += "There's [fuel_amount ? "some fuel" : "no fuel"] in the oven." + +/obj/structure/sauna_oven/Initialize() + . = ..() + RegisterSignal(src, COMSIG_ATOM_EXPOSE_REAGENTS, PROC_REF(add_water)) + +/obj/structure/sauna_oven/proc/add_water(atom/source, list/reagents, datum/reagents/source_reagents, method, volume_modifier, show_message) + SIGNAL_HANDLER + + if(method != TOUCH) // Only splashing/pouring + return + + for(var/reagent in reagents) + if(istype(reagent, /datum/reagent/water)) + water_amount += reagents[reagent] * SAUNA_WATER_PER_WATER_UNIT + +/obj/structure/sauna_oven/Destroy() + if(lit) + STOP_PROCESSING(SSobj, src) + return ..() + +/obj/structure/sauna_oven/attack_hand(mob/user) + . = ..() + if(.) + return + if(lit) + lit = FALSE + STOP_PROCESSING(SSobj, src) + user.visible_message("[user] turns off [src].", "You turn on [src].") + else if (fuel_amount) + lit = TRUE + START_PROCESSING(SSobj, src) + user.visible_message("[user] turns on [src].", "You turn off [src].") + update_icon() + +/obj/structure/sauna_oven/update_overlays() + . = ..() + if(lit) + . += "sauna_on_overlay" + +/obj/structure/sauna_oven/update_icon() + ..() + icon_state = "[lit ? "sauna_on" : initial(icon_state)]" + +/obj/structure/sauna_oven/attackby(obj/item/T, mob/user) + if(T.tool_behaviour == TOOL_WRENCH) + to_chat(user, "You begin to deconstruct [src].") + if(T.use_tool(src, user, 60, volume=50)) + to_chat(user, "You successfully deconstructed [src].") + new /obj/item/stack/sheet/mineral/wood(get_turf(src), 30) + qdel(src) + + else if(istype(T, /obj/item/stack/sheet/mineral/wood)) + var/obj/item/stack/sheet/mineral/wood/wood = T + if(fuel_amount > SAUNA_MAXIMUM_FUEL) + to_chat(user, "You can't fit any more of [T] in [src]!") + return + fuel_amount += SAUNA_LOG_FUEL * wood.amount + wood.use(wood.amount) + user.visible_message("[user] tosses some \ + wood into [src].", "You add \ + some fuel to [src].") + return ..() + +/obj/structure/sauna_oven/process() + if(water_amount) + var/used_amount = min(water_amount / 10, 20) + water_amount -= used_amount + var/turf/pos = get_turf(src) + if(pos) + pos.atmos_spawn_air("water_vapor=[used_amount];TEMP=[SAUNA_H2O_TEMP]") + fuel_amount-- + + if(fuel_amount <= 0) + lit = FALSE + STOP_PROCESSING(SSobj, src) + update_icon() + +#undef SAUNA_H2O_TEMP +#undef SAUNA_LOG_FUEL +#undef SAUNA_MAXIMUM_FUEL +#undef SAUNA_WATER_PER_WATER_UNIT diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index a2c5d59af916..16cf7af6ce81 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -23,7 +23,7 @@ soundloop = new(list(src), FALSE) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -81,10 +81,10 @@ // If there was already mist, and the shower was turned off (or made cold): remove the existing mist in 25 sec var/obj/effect/mist/mist = locate() in loc if(!mist && on && current_temperature != SHOWER_FREEZING) - addtimer(CALLBACK(src, .proc/make_mist), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(make_mist)), 5 SECONDS) if(mist && (!on || current_temperature == SHOWER_FREEZING)) - addtimer(CALLBACK(src, .proc/clear_mist), 25 SECONDS) + addtimer(CALLBACK(src, PROC_REF(clear_mist)), 25 SECONDS) /obj/machinery/shower/proc/make_mist() var/obj/effect/mist/mist = locate() in loc diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index 1c8463adee5e..4a2a98192243 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -298,3 +298,12 @@ /obj/structure/sign/number/nine name = "nine" icon_state = "9" + +/obj/structure/sign/number/random + name = "numeral sign" + icon_state = "0" + +/obj/structure/sign/number/random/Initialize() + icon_state = "[rand(0, 9)]" + update_icon_state() + . = ..() diff --git a/code/game/objects/structures/signs/signs_maps.dm b/code/game/objects/structures/signs/signs_maps.dm index ba79b6ff93f5..f2ab429803c1 100644 --- a/code/game/objects/structures/signs/signs_maps.dm +++ b/code/game/objects/structures/signs/signs_maps.dm @@ -56,3 +56,7 @@ desc = "A direction sign, pointing out which way the station's AI Upload is." icon_state = "direction_upload" +/obj/structure/sign/directions/service + name = "service sign" + desc = "A directional sign, pointing which way the station's Service department is in" + icon_state = "direction_srv" diff --git a/code/game/objects/structures/stairs.dm b/code/game/objects/structures/stairs.dm index 3e496f06252a..47cf473c84cf 100644 --- a/code/game/objects/structures/stairs.dm +++ b/code/game/objects/structures/stairs.dm @@ -34,7 +34,7 @@ build_signal_listener() update_surrounding() var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit, + COMSIG_ATOM_EXIT = PROC_REF(on_exit), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -65,7 +65,7 @@ return //Let's not block ourselves. if(!isobserver(leaving) && isTerminator() && direction == dir) - INVOKE_ASYNC(src, .proc/stair_ascend, leaving) + INVOKE_ASYNC(src, PROC_REF(stair_ascend), leaving) leaving.Bump(src) return COMPONENT_ATOM_BLOCK_EXIT @@ -114,7 +114,7 @@ if(listeningTo) UnregisterSignal(listeningTo, COMSIG_TURF_MULTIZ_NEW) var/turf/open/openspace/T = get_step_multiz(get_turf(src), UP) - RegisterSignal(T, COMSIG_TURF_MULTIZ_NEW, .proc/on_multiz_new) + RegisterSignal(T, COMSIG_TURF_MULTIZ_NEW, PROC_REF(on_multiz_new)) listeningTo = T /obj/structure/stairs/proc/force_open_above() diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index f43a7a95f8fd..a4155003dcdb 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -15,7 +15,7 @@ /obj/structure/statue/Initialize() . = ..() AddComponent(art_type, impressiveness) - addtimer(CALLBACK(src, /datum.proc/_AddComponent, list(/datum/component/beauty, impressiveness * 75)), 0) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum, _AddComponent), list(/datum/component/beauty, impressiveness * 75)), 0) /obj/structure/statue/attackby(obj/item/W, mob/living/user, params) add_fingerprint(user) diff --git a/code/game/objects/structures/table_flipped.dm b/code/game/objects/structures/table_flipped.dm index 779f97ad8bbf..5047e0f3e2a9 100644 --- a/code/game/objects/structures/table_flipped.dm +++ b/code/game/objects/structures/table_flipped.dm @@ -12,7 +12,7 @@ /obj/structure/flippedtable/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit, + COMSIG_ATOM_EXIT = PROC_REF(on_exit), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 3bf44bdfc0d8..5882d5c382cd 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -300,7 +300,7 @@ /obj/structure/table/rolling/AfterPutItemOnTable(obj/item/I, mob/living/user) . = ..() attached_items += I - RegisterSignal(I, COMSIG_MOVABLE_MOVED, .proc/RemoveItemFromTable) //Listen for the pickup event, unregister on pick-up so we aren't moved + RegisterSignal(I, COMSIG_MOVABLE_MOVED, PROC_REF(RemoveItemFromTable)) //Listen for the pickup event, unregister on pick-up so we aren't moved /obj/structure/table/rolling/proc/RemoveItemFromTable(datum/source, newloc, dir) SIGNAL_HANDLER @@ -339,13 +339,15 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) var/list/debris = list() + hitsound_type = PROJECTILE_HITSOUND_GLASS + /obj/structure/table/glass/Initialize() . = ..() debris += new frame debris += new /obj/item/shard var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -361,7 +363,7 @@ return // Don't break if they're just flying past if(AM.throwing) - addtimer(CALLBACK(src, .proc/throw_check, AM), 5) + addtimer(CALLBACK(src, PROC_REF(throw_check), AM), 5) else check_break(AM) @@ -424,6 +426,8 @@ smoothing_groups = list(SMOOTH_GROUP_WOOD_TABLES) //Don't smooth with SMOOTH_GROUP_TABLES canSmoothWith = list(SMOOTH_GROUP_WOOD_TABLES) + hitsound_type = PROJECTILE_HITSOUND_WOOD + /obj/structure/table/wood/narsie_act(total_override = TRUE) if(!total_override) ..() @@ -627,7 +631,7 @@ UnregisterSignal(patient, COMSIG_PARENT_QDELETING) patient = new_patient if(patient) - RegisterSignal(patient, COMSIG_PARENT_QDELETING, .proc/patient_deleted) + RegisterSignal(patient, COMSIG_PARENT_QDELETING, PROC_REF(patient_deleted)) /obj/structure/table/optable/proc/patient_deleted(datum/source) SIGNAL_HANDLER @@ -735,6 +739,7 @@ flags_1 = CONDUCT_1 custom_materials = list(/datum/material/iron=2000) var/building = FALSE + var/obj/construction_type = /obj/structure/rack /obj/item/rack_parts/attackby(obj/item/W, mob/user, params) if (W.tool_behaviour == TOOL_WRENCH) @@ -744,14 +749,17 @@ . = ..() /obj/item/rack_parts/attack_self(mob/user) + if(locate(construction_type) in get_turf(user)) + balloon_alert(user, "no room!") + return if(building) return building = TRUE - to_chat(user, "You start constructing a rack...") + to_chat(user, "You start assembling [src]...") if(do_after(user, 50, target = user, progress=TRUE)) if(!user.temporarilyRemoveItemFromInventory(src)) return - var/obj/structure/rack/R = new /obj/structure/rack(user.loc) + var/obj/structure/R = new construction_type(user.loc) user.visible_message("[user] assembles \a [R].\ ", "You assemble \a [R].") R.add_fingerprint(user) @@ -772,6 +780,8 @@ armor = list("melee" = 10, "bullet" = 30, "laser" = 30, "energy" = 100, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70) //trolld can_flip = FALSE //same as reinforced and theres no sprites for it + hitsound_type = PROJECTILE_HITSOUND_WOOD + /obj/structure/table/wood/reinforced/deconstruction_hints(mob/user) if(deconstruction_ready) return "The top cover has been pried loose and the main frame's bolts are exposed." diff --git a/code/game/objects/structures/training_machine.dm b/code/game/objects/structures/training_machine.dm index c4940e941f2f..c8c6150c7e15 100644 --- a/code/game/objects/structures/training_machine.dm +++ b/code/game/objects/structures/training_machine.dm @@ -133,7 +133,7 @@ attached_item.forceMove(src) attached_item.vis_flags |= VIS_INHERIT_ID vis_contents += attached_item - RegisterSignal(attached_item, COMSIG_PARENT_QDELETING, .proc/on_attached_delete) + RegisterSignal(attached_item, COMSIG_PARENT_QDELETING, PROC_REF(on_attached_delete)) handle_density() /** diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm index 570ead69ead7..77cb9c3a7b67 100644 --- a/code/game/objects/structures/transit_tubes/station.dm +++ b/code/game/objects/structures/transit_tubes/station.dm @@ -109,7 +109,7 @@ if(open_status == STATION_TUBE_CLOSED) icon_state = "opening_[base_icon]" open_status = STATION_TUBE_OPENING - addtimer(CALLBACK(src, .proc/finish_animation), OPEN_DURATION) + addtimer(CALLBACK(src, PROC_REF(finish_animation)), OPEN_DURATION) /obj/structure/transit_tube/station/proc/finish_animation() switch(open_status) @@ -124,7 +124,7 @@ if(open_status == STATION_TUBE_OPEN) icon_state = "closing_[base_icon]" open_status = STATION_TUBE_CLOSING - addtimer(CALLBACK(src, .proc/finish_animation), CLOSE_DURATION) + addtimer(CALLBACK(src, PROC_REF(finish_animation)), CLOSE_DURATION) /obj/structure/transit_tube/station/proc/launch_pod() if(launch_cooldown >= world.time) @@ -146,7 +146,7 @@ /obj/structure/transit_tube/station/pod_stopped(obj/structure/transit_tube_pod/pod, from_dir) pod_moving = TRUE - addtimer(CALLBACK(src, .proc/start_stopped, pod), 5) + addtimer(CALLBACK(src, PROC_REF(start_stopped), pod), 5) /obj/structure/transit_tube/station/proc/start_stopped(obj/structure/transit_tube_pod/pod) if(QDELETED(pod)) @@ -155,7 +155,7 @@ pod.setDir(tube_dirs[1]) //turning the pod around for next launch. launch_cooldown = world.time + cooldown_delay open_animation() - addtimer(CALLBACK(src, .proc/finish_stopped, pod), OPEN_DURATION + 2) + addtimer(CALLBACK(src, PROC_REF(finish_stopped), pod), OPEN_DURATION + 2) /obj/structure/transit_tube/station/proc/finish_stopped(obj/structure/transit_tube_pod/pod) pod_moving = FALSE diff --git a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm index 61a93dab7f14..f3ea6d55a1da 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm @@ -27,7 +27,7 @@ /obj/structure/c_transit_tube/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_FLIP | ROTATION_VERBS,null,null,CALLBACK(src,.proc/after_rot)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_FLIP | ROTATION_VERBS,null,null,CALLBACK(src, PROC_REF(after_rot))) /obj/structure/c_transit_tube/proc/after_rot(mob/user,rotation_type) if(flipped_build_type && rotation_type == ROTATION_FLIP) @@ -46,7 +46,7 @@ return to_chat(user, "You start attaching the [name]...") add_fingerprint(user) - if(I.use_tool(src, user, time_to_unwrench, volume=50, extra_checks=CALLBACK(src, .proc/can_wrench_in_loc, user))) + if(I.use_tool(src, user, time_to_unwrench, volume=50, extra_checks=CALLBACK(src, PROC_REF(can_wrench_in_loc), user))) to_chat(user, "You attach the [name].") var/obj/structure/transit_tube/R = new build_type(loc, dir) transfer_fingerprints_to(R) diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm index fefcc0e47b95..f56cfae9a5b8 100644 --- a/code/game/objects/structures/traps.dm +++ b/code/game/objects/structures/traps.dm @@ -31,7 +31,7 @@ /mob/dead)) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -98,94 +98,6 @@ L.electrocute_act(30, src, flags = SHOCK_NOGLOVES) // electrocute act does a message. L.Paralyze(stun_time) -/obj/structure/trap/stun/hunter - name = "bounty trap" - desc = "A trap that only goes off when a fugitive steps on it, announcing the location and stunning the target. You'd better avoid it." - icon = 'icons/obj/objects.dmi' - icon_state = "bounty_trap_on" - stun_time = 200 - sparks = FALSE //the item version gives them off to prevent runtimes (see Destroy()) - checks_antimagic = FALSE - var/obj/item/bountytrap/stored_item - var/caught = FALSE - -/obj/structure/trap/stun/hunter/Initialize(mapload) - . = ..() - time_between_triggers = 10 - flare_message = "[src] snaps shut!" - -/obj/structure/trap/stun/hunter/Destroy() - if(!QDELETED(stored_item)) - qdel(stored_item) - stored_item = null - return ..() - -/obj/structure/trap/stun/hunter/on_entered(datum/source, atom/movable/AM) - if(isliving(AM)) - var/mob/living/L = AM - if(!L.mind?.has_antag_datum(/datum/antagonist/fugitive)) - return - caught = TRUE - . = ..() - -/obj/structure/trap/stun/hunter/flare() - ..() - var/turf/our_turf = get_turf(src) - if(!our_turf) - return - if(!stored_item) - qdel(src) - return - stored_item.forceMove(get_turf(src)) - forceMove(stored_item) - if(caught) - stored_item.announce_fugitive() - caught = FALSE - -/obj/item/bountytrap - name = "bounty trap" - desc = "A trap that only goes off when a fugitive steps on it, announcing the location and stunning the target. It's currently inactive." - icon = 'icons/obj/objects.dmi' - icon_state = "bounty_trap_off" - var/obj/structure/trap/stun/hunter/stored_trap - var/obj/item/radio/radio - var/datum/effect_system/spark_spread/spark_system - -/obj/item/bountytrap/Initialize(mapload) - . = ..() - radio = new(src) - radio.subspace_transmission = TRUE - radio.canhear_range = 0 - radio.recalculateChannels() - spark_system = new - spark_system.set_up(4,1,src) - spark_system.attach(src) - name = "[name] #[rand(1, 999)]" - stored_trap = new(src) - stored_trap.name = name - stored_trap.stored_item = src - -/obj/item/bountytrap/proc/announce_fugitive() - spark_system.start() - playsound(src, 'sound/machines/ding.ogg', 50, TRUE) - radio.talk_into(src, "Fugitive has triggered this trap in the [get_area_name(src)]!", RADIO_CHANNEL_COMMON) - -/obj/item/bountytrap/attack_self(mob/living/user) - var/turf/T = get_turf(src) - if(!user || !user.transferItemToLoc(src, T))//visibly unequips - return - to_chat(user, "You set up [src]. Examine while close to disarm it.") - stored_trap.forceMove(T)//moves trap to ground - forceMove(stored_trap)//moves item into trap - -/obj/item/bountytrap/Destroy() - if(!QDELETED(stored_trap)) - qdel(stored_trap) - stored_trap = null - QDEL_NULL(radio) - QDEL_NULL(spark_system) - . = ..() - /obj/structure/trap/fire name = "flame trap" desc = "A trap that will set you ablaze. You'd better avoid it." diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 200aaf35700d..78ebfc3a4fd7 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -38,7 +38,7 @@ /obj/structure/windoor_assembly/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit, + COMSIG_ATOM_EXIT = PROC_REF(on_exit), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -326,7 +326,7 @@ /obj/structure/windoor_assembly/ComponentInitialize() . = ..() var/static/rotation_flags = ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS - AddComponent(/datum/component/simple_rotation, rotation_flags, can_be_rotated=CALLBACK(src, .proc/can_be_rotated), after_rotation=CALLBACK(src,.proc/after_rotation)) + AddComponent(/datum/component/simple_rotation, rotation_flags, can_be_rotated=CALLBACK(src, PROC_REF(can_be_rotated)), after_rotation=CALLBACK(src, PROC_REF(after_rotation))) /obj/structure/windoor_assembly/proc/can_be_rotated(mob/user,rotation_type) if(anchored) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 92a72b7261be..d23ef8bca223 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -30,6 +30,8 @@ flags_ricochet = RICOCHET_HARD ricochet_chance_mod = 0.4 + hitsound_type = PROJECTILE_HITSOUND_GLASS + /obj/structure/window/examine(mob/user) . = ..() if(flags_1 & NODECONSTRUCT_1) @@ -66,7 +68,7 @@ explosion_block = EXPLOSION_BLOCK_PROC var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit, + COMSIG_ATOM_EXIT = PROC_REF(on_exit), ) if (flags_1 & ON_BORDER_1) @@ -74,7 +76,7 @@ /obj/structure/window/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated),CALLBACK(src,.proc/after_rotation)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, PROC_REF(can_be_rotated)),CALLBACK(src, PROC_REF(after_rotation))) /obj/structure/window/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.mode) @@ -190,13 +192,13 @@ if(!(flags_1&NODECONSTRUCT_1) && !(reinf && state >= RWINDOW_FRAME_BOLTED)) if(I.tool_behaviour == TOOL_SCREWDRIVER) to_chat(user, "You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor...") - if(I.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, .proc/check_anchored, anchored))) + if(I.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored))) set_anchored(!anchored) to_chat(user, "You [anchored ? "fasten the window to":"unfasten the window from"] the floor.") return else if(I.tool_behaviour == TOOL_WRENCH && !anchored) to_chat(user, "You begin to disassemble [src]...") - if(I.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored))) + if(I.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) var/obj/item/stack/sheet/G = new glass_type(user.loc, glass_amount) G.add_fingerprint(user) playsound(src, 'sound/items/Deconstruct.ogg', 50, TRUE) @@ -205,7 +207,7 @@ return else if(I.tool_behaviour == TOOL_CROWBAR && reinf && (state == WINDOW_OUT_OF_FRAME) && anchored) to_chat(user, "You begin to lever the window into the frame...") - if(I.use_tool(src, user, 100, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored))) + if(I.use_tool(src, user, 100, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) state = RWINDOW_SECURE to_chat(user, "You pry the window into the frame.") return @@ -409,7 +411,7 @@ if(I.use_tool(src, user, 150, volume = 100)) to_chat(user, "The security bolts are glowing white hot and look ready to be removed.") state = RWINDOW_BOLTS_HEATED - addtimer(CALLBACK(src, .proc/cool_bolts), 300) + addtimer(CALLBACK(src, PROC_REF(cool_bolts)), 300) return if(RWINDOW_BOLTS_HEATED) if(I.tool_behaviour == TOOL_SCREWDRIVER) @@ -538,7 +540,7 @@ if(I.use_tool(src, user, 180, volume = 100)) to_chat(user, "The security screws are glowing white hot and look ready to be removed.") state = RWINDOW_BOLTS_HEATED - addtimer(CALLBACK(src, .proc/cool_bolts), 300) + addtimer(CALLBACK(src, PROC_REF(cool_bolts)), 300) return if(RWINDOW_BOLTS_HEATED) if(I.tool_behaviour == TOOL_SCREWDRIVER) diff --git a/code/game/sound.dm b/code/game/sound.dm index 09affc888bf0..9b53f3d2b010 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -245,8 +245,62 @@ distance_multiplier - Can be used to multiply the distance at which the sound is soundin = pick('sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg') if ("pageturn") soundin = pick('sound/effects/pageturn1.ogg', 'sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg') - if ("ricochet") - soundin = pick('sound/weapons/effects/ric1.ogg', 'sound/weapons/effects/ric2.ogg','sound/weapons/effects/ric3.ogg','sound/weapons/effects/ric4.ogg','sound/weapons/effects/ric5.ogg') +//gun related stuff start + if ("bullet_hit") + soundin = pick('sound/weapons/gun/hit/bullet_impact1.ogg', 'sound/weapons/gun/hit/bullet_impact2.ogg','sound/weapons/gun/hit/bullet_impact3.ogg') + if ("bullet_impact") + soundin = pick('sound/weapons/gun/hit/bullet_ricochet1.ogg', 'sound/weapons/gun/hit/bullet_ricochet2.ogg','sound/weapons/gun/hit/bullet_ricochet3.ogg','sound/weapons/gun/hit/bullet_ricochet4.ogg','sound/weapons/gun/hit/bullet_ricochet5.ogg','sound/weapons/gun/hit/bullet_ricochet6.ogg','sound/weapons/gun/hit/bullet_ricochet7.ogg','sound/weapons/gun/hit/bullet_ricochet8.ogg') + if ("bullet_bounce") + soundin = pick('sound/weapons/gun/hit/bullet_bounce1.ogg', 'sound/weapons/gun/hit/bullet_bounce2.ogg','sound/weapons/gun/hit/bullet_bounce3.ogg','sound/weapons/gun/hit/bullet_bounce4.ogg','sound/weapons/gun/hit/bullet_bounce5.ogg') + if("bullet_miss") + soundin = pick('sound/weapons/gun/hit/bullet_miss1.ogg', 'sound/weapons/gun/hit/bullet_miss2.ogg', 'sound/weapons/gun/hit/bullet_miss3.ogg') + if("bullet_hit_glass") + soundin = pick( + 'sound/weapons/gun/hit/bullet_glass_01.ogg', + 'sound/weapons/gun/hit/bullet_glass_02.ogg', + 'sound/weapons/gun/hit/bullet_glass_03.ogg', + 'sound/weapons/gun/hit/bullet_glass_04.ogg', + 'sound/weapons/gun/hit/bullet_glass_05.ogg', + 'sound/weapons/gun/hit/bullet_glass_06.ogg', + 'sound/weapons/gun/hit/bullet_glass_07.ogg', + ) + if("bullet_hit_stone") + soundin = pick( + 'sound/weapons/gun/hit/bullet_masonry_01.ogg', + 'sound/weapons/gun/hit/bullet_masonry_02.ogg', + 'sound/weapons/gun/hit/bullet_masonry_03.ogg', + 'sound/weapons/gun/hit/bullet_masonry_04.ogg', + 'sound/weapons/gun/hit/bullet_masonry_05.ogg', + 'sound/weapons/gun/hit/bullet_masonry_06.ogg', + ) + if("bullet_hit_metal") + soundin = pick( + 'sound/weapons/gun/hit/bullet_metal_01.ogg', + 'sound/weapons/gun/hit/bullet_metal_02.ogg', + 'sound/weapons/gun/hit/bullet_metal_03.ogg', + 'sound/weapons/gun/hit/bullet_metal_04.ogg', + 'sound/weapons/gun/hit/bullet_metal_05.ogg', + 'sound/weapons/gun/hit/bullet_metal_06.ogg', + ) + if("bullet_hit_wood") + soundin = pick( + 'sound/weapons/gun/hit/bullet_wood_01.ogg', + 'sound/weapons/gun/hit/bullet_wood_02.ogg', + 'sound/weapons/gun/hit/bullet_wood_03.ogg', + 'sound/weapons/gun/hit/bullet_wood_04.ogg', + 'sound/weapons/gun/hit/bullet_wood_05.ogg', + 'sound/weapons/gun/hit/bullet_wood_06.ogg', + ) + if("bullet_hit_snow") + soundin = pick( + 'sound/weapons/gun/hit/bullet_snow_01.ogg', + 'sound/weapons/gun/hit/bullet_snow_02.ogg', + 'sound/weapons/gun/hit/bullet_snow_03.ogg', + 'sound/weapons/gun/hit/bullet_snow_04.ogg', + 'sound/weapons/gun/hit/bullet_snow_05.ogg', + 'sound/weapons/gun/hit/bullet_snow_06.ogg', + ) +// gun related stuff end if ("terminal_type") soundin = pick('sound/machines/terminal_button01.ogg', 'sound/machines/terminal_button02.ogg', 'sound/machines/terminal_button03.ogg', \ 'sound/machines/terminal_button04.ogg', 'sound/machines/terminal_button05.ogg', 'sound/machines/terminal_button06.ogg', \ @@ -257,8 +311,6 @@ distance_multiplier - Can be used to multiply the distance at which the sound is soundin = pick('sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg') if ("can_open") soundin = pick('sound/effects/can_open1.ogg', 'sound/effects/can_open2.ogg', 'sound/effects/can_open3.ogg') - if("bullet_miss") - soundin = pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg') if("revolver_spin") soundin = pick('sound/weapons/gun/revolver/spin1.ogg', 'sound/weapons/gun/revolver/spin2.ogg', 'sound/weapons/gun/revolver/spin3.ogg') if("law") diff --git a/code/game/turfs/closed/_closed.dm b/code/game/turfs/closed/_closed.dm index 74c351e04118..4f493685e60c 100644 --- a/code/game/turfs/closed/_closed.dm +++ b/code/game/turfs/closed/_closed.dm @@ -162,8 +162,8 @@ icon_state = "wood_wall-0" base_icon_state = "wood_wall" smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WOOD_WALLS) - canSmoothWith = list(SMOOTH_GROUP_WOOD_WALLS) + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_AIRLOCK) + canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_AIRLOCK) /turf/closed/indestructible/alien diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index ebc3b5164505..ac8d2185b940 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -30,6 +30,8 @@ var/x_offset = -4 var/y_offset = -4 + hitsound_type = PROJECTILE_HITSOUND_STONE + /turf/closed/mineral/Initialize(mapload, inherited_virtual_z) . = ..() if(has_borders) @@ -105,7 +107,7 @@ if(defer_change) // TODO: make the defer change var a var for any changeturf flag flags = CHANGETURF_DEFER_CHANGE ScrapeAway(null, flags) - addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(AfterChange)), 1, TIMER_UNIQUE) playsound(src, 'sound/effects/break_stone.ogg', 50, TRUE) //beautiful destruction /turf/closed/mineral/attack_animal(mob/living/simple_animal/user) @@ -575,7 +577,7 @@ if(defer_change) flags = CHANGETURF_DEFER_CHANGE ScrapeAway(null, flags) - addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(AfterChange)), 1, TIMER_UNIQUE) /turf/closed/mineral/gibtonite/volcanic @@ -638,7 +640,7 @@ if(defer_change) // TODO: make the defer change var a var for any changeturf flag flags = CHANGETURF_DEFER_CHANGE ScrapeAway(flags=flags) - addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(AfterChange)), 1, TIMER_UNIQUE) playsound(src, 'sound/effects/break_stone.ogg', 50, TRUE) //beautiful destruction H.mind.adjust_experience(/datum/skill/mining, 100) //yay! diff --git a/code/game/turfs/closed/wall/mineral_walls.dm b/code/game/turfs/closed/wall/mineral_walls.dm index 77259ba448d2..720a95afd0e1 100644 --- a/code/game/turfs/closed/wall/mineral_walls.dm +++ b/code/game/turfs/closed/wall/mineral_walls.dm @@ -7,6 +7,8 @@ var/last_event = 0 var/active = null + hitsound_type = PROJECTILE_HITSOUND_METAL + /turf/closed/wall/mineral/gold name = "gold wall" desc = "A wall with gold plating. Swag!" @@ -60,6 +62,8 @@ connector_icon_state = "diamond_wall_connector" no_connector_typecache = list(/turf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond) + hitsound_type = PROJECTILE_HITSOUND_GLASS + /turf/closed/wall/mineral/diamond/yesdiag icon_state = "diamond_wall-255" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS @@ -97,6 +101,8 @@ connector_icon_state = "sandstone_wall_connector" no_connector_typecache = list(/turf/closed/wall/mineral/sandstone, /obj/structure/falsewall/sandstone) + hitsound_type = PROJECTILE_HITSOUND_NON_LIVING + /turf/closed/wall/mineral/sandstone/yesdiag icon_state = "sandstone_wall-255" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS @@ -181,6 +187,8 @@ connector_icon_state = "plasma_wall_connector" no_connector_typecache = list(/turf/closed/wall/mineral/plasma, /obj/structure/falsewall/plasma) + hitsound_type = PROJECTILE_HITSOUND_GLASS + /turf/closed/wall/mineral/plasma/yesdiag icon_state = "plasma_wall-255" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS @@ -230,6 +238,8 @@ connector_icon_state = "wood_wall_connector" no_connector_typecache = list(/turf/closed/wall/mineral/wood, /obj/structure/falsewall/wood) + hitsound_type = PROJECTILE_HITSOUND_WOOD + /turf/closed/wall/mineral/wood/yesdiag icon_state = "wood_wall-255" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS | SMOOTH_CONNECTORS @@ -298,6 +308,8 @@ bullet_sizzle = TRUE bullet_bounce_sound = null + hitsound_type = PROJECTILE_HITSOUND_SNOW + /turf/closed/wall/mineral/snow/yesdiag icon_state = "snow_wall-255" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS @@ -331,6 +343,8 @@ smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS) canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE) + hitsound_type = PROJECTILE_HITSOUND_NON_LIVING + /turf/closed/wall/mineral/titanium/exterior smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS_EXTERIOR) canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS_EXTERIOR, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE) @@ -407,6 +421,8 @@ smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS) canSmoothWith = list(SMOOTH_GROUP_PLASTITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE) + hitsound_type = PROJECTILE_HITSOUND_NON_LIVING + /turf/closed/wall/mineral/plastitanium/nodiagonal icon = 'icons/turf/walls/plastitanium_wall.dmi' icon_state = "map-shuttle_nd" diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm index a665e0935ee2..0e4d5ae8f842 100644 --- a/code/game/turfs/open/_open.dm +++ b/code/game/turfs/open/_open.dm @@ -246,7 +246,7 @@ lube |= SLIDE_ICE if(lube&SLIDE) - new /datum/forced_movement(C, get_ranged_target_turf(C, olddir, 4), 1, FALSE, CALLBACK(C, /mob/living/carbon/.proc/spin, 1, 1)) + new /datum/forced_movement(C, get_ranged_target_turf(C, olddir, 4), 1, FALSE, CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon, spin), 1, 1)) else if(lube&SLIDE_ICE) if(C.force_moving) //If we're already slipping extend it qdel(C.force_moving) diff --git a/code/game/turfs/open/floor/conc_floor.dm b/code/game/turfs/open/floor/conc_floor.dm index 6a4908a4889b..542ac66c1355 100644 --- a/code/game/turfs/open/floor/conc_floor.dm +++ b/code/game/turfs/open/floor/conc_floor.dm @@ -75,7 +75,7 @@ // test this uniqueid = "concmenu_[REF(user)]", radius = 48, - custom_check = CALLBACK(src, .proc/check_menu, user), + custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE ) if(!choice) diff --git a/code/game/turfs/open/floor/light_floor.dm b/code/game/turfs/open/floor/light_floor.dm index 9157bfecc5b0..a0a4a357fe58 100644 --- a/code/game/turfs/open/floor/light_floor.dm +++ b/code/game/turfs/open/floor/light_floor.dm @@ -111,7 +111,7 @@ return if(!can_modify_colour) return FALSE - var/choice = show_radial_menu(user,src, lighttile_designs, custom_check = CALLBACK(src, .proc/check_menu, user, I), radius = 36, require_near = TRUE) + var/choice = show_radial_menu(user,src, lighttile_designs, custom_check = CALLBACK(src, PROC_REF(check_menu), user, I), radius = 36, require_near = TRUE) if(!choice) return FALSE currentcolor = choice diff --git a/code/game/turfs/open/floor/plating/rockplanet.dm b/code/game/turfs/open/floor/plating/rockplanet.dm index 1bd9f537c9af..1fbf75b2e2f2 100644 --- a/code/game/turfs/open/floor/plating/rockplanet.dm +++ b/code/game/turfs/open/floor/plating/rockplanet.dm @@ -33,6 +33,9 @@ icon_state = "wet_soft0" base_icon_state = "wet_soft" +/turf/open/floor/plating/asteroid/rockplanet/wet/atmos + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + /turf/open/floor/plating/asteroid/rockplanet/wet/lit light_range = 2 light_power = 0.6 @@ -46,3 +49,37 @@ light_range = 2 light_power = 0.6 light_color = COLOR_VERY_LIGHT_GRAY + +/turf/open/floor/plating/asteroid/rockplanet/grass + name = "dry grass" + desc = "A patch of dry grass." + icon_state = "grass0" + +/turf/open/floor/plating/asteroid/rockplanet/mud + name = "mud" + icon_state = "greenerdirt" + +/turf/open/floor/plating/asteroid/rockplanet/pond + name = "pond" + icon_state = "riverwater" + +/turf/open/floor/plating/asteroid/rockplanet/plating + name = "exterior plating" + icon_state = "plating" + +/turf/open/floor/plating/asteroid/rockplanet/plating/scorched + name = "exterior plating" + icon_state = "panelscorched" + +/turf/open/floor/plating/asteroid/rockplanet/stairs + name = "exterior stairs" + icon_state = "stairs" + +/turf/open/floor/plating/asteroid/rockplanet/hull_plating + name = "exterior hull plating" + icon_state = "regular_hull" + +/turf/open/floor/plating/asteroid/rockplanet/plasteel + name = "exterior floor" + icon_state = "tiled_gray" + icon = 'icons/turf/floors/tiles.dmi' diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index e2fb89b9cb3b..ca5a6fe3fd25 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -33,7 +33,7 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists) var/requires_activation //add to air processing after initialize? var/changing_turf = FALSE - var/bullet_bounce_sound = 'sound/weapons/gun/general/mag_bullet_remove.ogg' //sound played when a shell casing is ejected ontop of the turf. + var/list/bullet_bounce_sound = list('sound/weapons/gun/general/bulletcasing_bounce1.ogg', 'sound/weapons/gun/general/bulletcasing_bounce2.ogg', 'sound/weapons/gun/general/bulletcasing_bounce3.ogg') var/bullet_sizzle = FALSE //used by ammo_casing/bounce_away() to determine if the shell casing should make a sizzle sound when it's ejected over the turf //IE if the turf is supposed to be water, set TRUE. @@ -76,6 +76,8 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists) ///the holodeck can load onto this turf if TRUE var/holodeck_compatible = FALSE + hitsound_volume = 90 + /turf/vv_edit_var(var_name, new_value) var/static/list/banned_edits = list("x", "y", "z") if(var_name in banned_edits) @@ -342,7 +344,8 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists) return FALSE //There's a lot of QDELETED() calls here if someone can figure out how to optimize this but not runtime when something gets deleted by a Bump/CanPass/Cross call, lemme know or go ahead and fix this mess - kevinz000 -/turf/Enter(atom/movable/mover, atom/oldloc) +// Test if a movable can enter this turf. Send no_side_effects = TRUE to prevent bumping. +/turf/Enter(atom/movable/mover, atom/oldloc, no_side_effects = FALSE) // Do not call ..() // Byond's default turf/Enter() doesn't have the behaviour we want with Bump() // By default byond will call Bump() on the first dense object in contents @@ -356,6 +359,8 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists) if(thing == mover || thing == mover.loc) // Multi tile objects and moving out of other objects continue if(!thing.Cross(mover)) + if(no_side_effects) + return FALSE if(QDELETED(mover)) //Mover deleted from Cross/CanPass, do not proceed. return FALSE if((mover.movement_type & PHASING)) @@ -460,7 +465,7 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists) var/list/things = src_object.contents() var/datum/progressbar/progress = new(user, things.len, src) - while (do_after(usr, 10, TRUE, src, FALSE, CALLBACK(src_object, /datum/component/storage.proc/mass_remove_from_storage, src, things, progress))) + while (do_after(usr, 10, TRUE, src, FALSE, CALLBACK(src_object, TYPE_PROC_REF(/datum/component/storage, mass_remove_from_storage), src, things, progress))) stoplag(1) progress.end_progress() @@ -666,3 +671,7 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists) . += "[/obj/effect/turf_decal]{\n\ticon = '[decal.pic.icon]';\n\ticon_state = \"[decal.pic.icon_state]\";\n\tdir = [decal.pic.dir];\n\tcolor = \"[decal.pic.color]\"\n\t}" first = FALSE return + +/turf/bullet_act(obj/projectile/hitting_projectile) + . = ..() + bullet_hit_sfx(hitting_projectile) diff --git a/code/game/world.dm b/code/game/world.dm index 93f1e15e88cf..8365283c7897 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -97,11 +97,11 @@ GLOBAL_VAR(restart_counter) CONFIG_SET(number/round_end_countdown, 0) var/datum/callback/cb #ifdef UNIT_TESTS - cb = CALLBACK(GLOBAL_PROC, /proc/RunUnitTests) + cb = CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(RunUnitTests)) #else cb = VARSET_CALLBACK(SSticker, force_ending, TRUE) #endif - SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, /proc/_addtimer, cb, 10 SECONDS)) + SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_addtimer), cb, 10 SECONDS)) /world/proc/SetupLogs() diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index 33b923f10285..9341a5dec3ef 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -109,7 +109,7 @@ return GLOB.stickybanadminexemptions[ckey] = world.time stoplag() // sleep a byond tick - GLOB.stickbanadminexemptiontimerid = addtimer(CALLBACK(GLOBAL_PROC, /proc/restore_stickybans), 5 SECONDS, TIMER_STOPPABLE|TIMER_UNIQUE|TIMER_OVERRIDE) + GLOB.stickbanadminexemptiontimerid = addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(restore_stickybans)), 5 SECONDS, TIMER_STOPPABLE|TIMER_UNIQUE|TIMER_OVERRIDE) return var/list/ban = ..() //default pager ban stuff @@ -194,7 +194,7 @@ if (ban["fromdb"]) if(SSdbcore.Connect()) - INVOKE_ASYNC(SSdbcore, /datum/controller/subsystem/dbcore/proc.QuerySelect, list( + INVOKE_ASYNC(SSdbcore, TYPE_PROC_REF(/datum/controller/subsystem/dbcore, QuerySelect), list( SSdbcore.NewQuery( "INSERT INTO [format_table_name("stickyban_matched_ckey")] (matched_ckey, stickyban) VALUES (:ckey, :bannedckey) ON DUPLICATE KEY UPDATE last_matched = now()", list("ckey" = ckey, "bannedckey" = bannedckey) diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm index 343289191fb6..c1845945485f 100644 --- a/code/modules/admin/create_mob.dm +++ b/code/modules/admin/create_mob.dm @@ -38,7 +38,6 @@ H.dna.features["moth_fluff"] = pick(GLOB.moth_fluff_list) H.dna.features["spider_legs"] = pick(GLOB.spider_legs_list) H.dna.features["spider_spinneret"] = pick(GLOB.spider_spinneret_list) - H.dna.features["spider_mandibles"] = pick(GLOB.spider_mandibles_list) H.dna.features["squid_face"] = pick(GLOB.squid_face_list) H.dna.features["kepori_feathers"] = pick(GLOB.kepori_feathers_list) H.dna.features["kepori_body_feathers"] = pick(GLOB.kepori_body_feathers_list) diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm index adb7a42dc511..99e7b1692ecc 100644 --- a/code/modules/admin/fun_balloon.dm +++ b/code/modules/admin/fun_balloon.dm @@ -131,7 +131,7 @@ var/mob/living/M = AM M.forceMove(get_turf(LA)) to_chat(M, "You're trapped in a deadly arena! To escape, you'll need to drag a severed head to the escape portals.", confidential = TRUE) - INVOKE_ASYNC(src, .proc/do_bloodbath, M) + INVOKE_ASYNC(src, PROC_REF(do_bloodbath), M) /obj/effect/forcefield/arena_shuttle_entrance/proc/do_bloodbath(mob/living/L) var/obj/effect/mine/pickup/bloodbath/B = new (L) diff --git a/code/modules/admin/team_panel.dm b/code/modules/admin/team_panel.dm index 75abbb5391c2..f8d40a6dde53 100644 --- a/code/modules/admin/team_panel.dm +++ b/code/modules/admin/team_panel.dm @@ -164,7 +164,7 @@ /datum/team/custom/get_admin_commands() . = ..() - .["Force HUD"] = CALLBACK(src,.proc/admin_force_hud) + .["Force HUD"] = CALLBACK(src, PROC_REF(admin_force_hud)) //This is here if you want admin created teams to tell each other apart easily. /datum/team/custom/proc/admin_force_hud(mob/user) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index fc6f055f4ae1..a4a70c00e429 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -946,7 +946,7 @@ L.Unconscious(100) sleep(5) L.forceMove(pick(GLOB.tdome1)) - addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, L, "You have been sent to the Thunderdome."), 5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), L, "You have been sent to the Thunderdome."), 5 SECONDS) log_admin("[key_name(usr)] has sent [key_name(L)] to the thunderdome. (Team 1)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(L)] to the thunderdome. (Team 1)") @@ -972,7 +972,7 @@ L.Unconscious(100) sleep(5) L.forceMove(pick(GLOB.tdome2)) - addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, L, "You have been sent to the Thunderdome."), 5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), L, "You have been sent to the Thunderdome."), 5 SECONDS) log_admin("[key_name(usr)] has sent [key_name(L)] to the thunderdome. (Team 2)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(L)] to the thunderdome. (Team 2)") @@ -995,7 +995,7 @@ L.Unconscious(100) sleep(5) L.forceMove(pick(GLOB.tdomeadmin)) - addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, L, "You have been sent to the Thunderdome."), 5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), L, "You have been sent to the Thunderdome."), 5 SECONDS) log_admin("[key_name(usr)] has sent [key_name(L)] to the thunderdome. (Admin.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(L)] to the thunderdome. (Admin.)") @@ -1025,7 +1025,7 @@ L.Unconscious(100) sleep(5) L.forceMove(pick(GLOB.tdomeobserve)) - addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, L, "You have been sent to the Thunderdome."), 5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), L, "You have been sent to the Thunderdome."), 5 SECONDS) log_admin("[key_name(usr)] has sent [key_name(L)] to the thunderdome. (Observer.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(L)] to the thunderdome. (Observer.)") diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index 0295a1f95cb6..2500be7f9035 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -498,7 +498,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null options |= SDQL2_OPTION_SEQUENTIAL /datum/SDQL2_query/proc/ARun() - INVOKE_ASYNC(src, .proc/Run) + INVOKE_ASYNC(src, PROC_REF(Run)) /datum/SDQL2_query/proc/Run() if(SDQL2_IS_RUNNING) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 1b9b41d773b1..225a074b1477 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -246,7 +246,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //Removes the ahelp verb and returns it after 2 minutes /datum/admin_help/proc/timeout_verb() remove_verb(initiator, /client/verb/adminhelp) - initiator.adminhelptimerid = addtimer(CALLBACK(initiator, /client/proc/giveadminhelpverb), 1200, TIMER_STOPPABLE) //2 minute cooldown of admin helps + initiator.adminhelptimerid = addtimer(CALLBACK(initiator, TYPE_PROC_REF(/client, giveadminhelpverb)), 1200, TIMER_STOPPABLE) //2 minute cooldown of admin helps //private /datum/admin_help/proc/full_monty(ref_src) @@ -405,7 +405,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) state = AHELP_RESOLVED GLOB.ahelp_tickets.list_insert(src) - addtimer(CALLBACK(initiator, /client/proc/giveadminhelpverb), 50) + addtimer(CALLBACK(initiator, TYPE_PROC_REF(/client, giveadminhelpverb)), 50) add_interaction("Resolved by [key_name].") to_chat(initiator, "Your ticket has been resolved by an admin. The Adminhelp verb will be returned to you shortly.", confidential = TRUE) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 63f0fc81bc87..9647d4c07947 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -47,7 +47,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(ishuman(M)) log_admin("[key_name(src)] has robotized [M.key].") var/mob/living/carbon/human/H = M - INVOKE_ASYNC(H, /mob/living/carbon/human.proc/Robotize) + INVOKE_ASYNC(H, TYPE_PROC_REF(/mob/living/carbon/human, Robotize)) else alert("Invalid mob") @@ -84,7 +84,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that return log_admin("[key_name(src)] has animalized [M.key].") - INVOKE_ASYNC(M, /mob.proc/Animalize) + INVOKE_ASYNC(M, TYPE_PROC_REF(/mob, Animalize)) /client/proc/makepAI(turf/T in GLOB.mob_list) @@ -128,7 +128,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that alert("Wait until the game starts") return if(ishuman(M)) - INVOKE_ASYNC(M, /mob/living/carbon/human/proc/Alienize) + INVOKE_ASYNC(M, TYPE_PROC_REF(/mob/living/carbon/human, Alienize)) SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Alien") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] made [key_name(M)] into an alien at [AREACOORD(M)].") message_admins("[key_name_admin(usr)] made [ADMIN_LOOKUPFLW(M)] into an alien.") @@ -143,7 +143,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that alert("Wait until the game starts") return if(ishuman(M)) - INVOKE_ASYNC(M, /mob/living/carbon/human/proc/slimeize) + INVOKE_ASYNC(M, TYPE_PROC_REF(/mob/living/carbon/human, slimeize)) SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Slime") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] made [key_name(M)] into a slime at [AREACOORD(M)].") message_admins("[key_name_admin(usr)] made [ADMIN_LOOKUPFLW(M)] into a slime.") @@ -836,7 +836,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that var/list/sorted = list() for (var/source in per_source) sorted += list(list("source" = source, "count" = per_source[source])) - sorted = sortTim(sorted, .proc/cmp_timer_data) + sorted = sortTim(sorted, PROC_REF(cmp_timer_data)) // Now that everything is sorted, compile them into an HTML output var/output = "" diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 72091fbe0469..5b1e0e8ad082 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -277,9 +277,9 @@ ertemplate = new /datum/ert/centcom_official var/list/settings = list( - "preview_callback" = CALLBACK(src, .proc/makeERTPreviewIcon), + "preview_callback" = CALLBACK(src, PROC_REF(makeERTPreviewIcon)), "mainsettings" = list( - "template" = list("desc" = "Template", "callback" = CALLBACK(src, .proc/makeERTTemplateModified), "type" = "datum", "path" = "/datum/ert", "subtypesonly" = TRUE, "value" = ertemplate.type), + "template" = list("desc" = "Template", "callback" = CALLBACK(src, PROC_REF(makeERTTemplateModified)), "type" = "datum", "path" = "/datum/ert", "subtypesonly" = TRUE, "value" = ertemplate.type), "teamsize" = list("desc" = "Team Size", "type" = "number", "value" = ertemplate.teamsize), "mission" = list("desc" = "Mission", "type" = "string", "value" = ertemplate.mission), "polldesc" = list("desc" = "Ghost poll description", "type" = "string", "value" = ertemplate.polldesc), diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index ca7d208e7a7a..05dccfc0ca75 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -38,6 +38,10 @@ cross.icon_state = "holylight" font_color = "blue" prayer_type = "SPIRITUAL PRAYER" + else if((usr.faction && ("roumain" in usr.faction))) + font_color = "purple" + prayer_type = "SRM PRAYER" + deity = "Ashen Hunter" var/msg_tmp = msg msg = "[icon2html(cross, GLOB.admins)][prayer_type][deity ? " (to [deity])" : ""]: [ADMIN_FULLMONTY(src)] [ADMIN_SC(src)]: [msg]" diff --git a/code/modules/admin/verbs/secrets.dm b/code/modules/admin/verbs/secrets.dm index 18a572c7477b..5ee0df0ec0f5 100644 --- a/code/modules/admin/verbs/secrets.dm +++ b/code/modules/admin/verbs/secrets.dm @@ -341,7 +341,7 @@ SSblackbox.record_feedback("nested tally", "admin_secrets_fun_used", 1, list("Monkeyize All Humans")) for(var/i in GLOB.human_list) var/mob/living/carbon/human/H = i - INVOKE_ASYNC(H, /mob/living/carbon.proc/monkeyize) + INVOKE_ASYNC(H, TYPE_PROC_REF(/mob/living/carbon, monkeyize)) ok = TRUE if("traitor_all") if(!is_funmin) diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm index a5e925546de5..ca67926c0ee8 100644 --- a/code/modules/antagonists/abductor/abductor.dm +++ b/code/modules/antagonists/abductor/abductor.dm @@ -112,7 +112,7 @@ /datum/antagonist/abductor/get_admin_commands() . = ..() - .["Equip"] = CALLBACK(src,.proc/admin_equip) + .["Equip"] = CALLBACK(src, PROC_REF(admin_equip)) /datum/antagonist/abductor/proc/admin_equip(mob/admin) if(!ishuman(owner.current)) diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 8d0149bf7950..9a5b95d21184 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -689,7 +689,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} user.visible_message("[user] places down [src] and activates it.", "You place down [src] and activate it.") user.dropItemToGround(src) playsound(src, 'sound/machines/terminal_alert.ogg', 50) - addtimer(CALLBACK(src, .proc/try_spawn_machine), 30) + addtimer(CALLBACK(src, PROC_REF(try_spawn_machine)), 30) /obj/item/abductor_machine_beacon/proc/try_spawn_machine() var/viable = FALSE @@ -841,7 +841,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} /obj/structure/table/optable/abductor/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index 067d3d563ed7..4efd2b0ab162 100644 --- a/code/modules/antagonists/abductor/equipment/gland.dm +++ b/code/modules/antagonists/abductor/equipment/gland.dm @@ -62,7 +62,7 @@ update_gland_hud() var/atom/movable/screen/alert/mind_control/mind_alert = owner.throw_alert("mind_control", /atom/movable/screen/alert/mind_control) mind_alert.command = command - addtimer(CALLBACK(src, .proc/clear_mind_control), mind_control_duration) + addtimer(CALLBACK(src, PROC_REF(clear_mind_control)), mind_control_duration) return TRUE /obj/item/organ/heart/gland/proc/clear_mind_control() diff --git a/code/modules/antagonists/abductor/equipment/glands/access.dm b/code/modules/antagonists/abductor/equipment/glands/access.dm index e950a07d065e..8b3696d6a8d4 100644 --- a/code/modules/antagonists/abductor/equipment/glands/access.dm +++ b/code/modules/antagonists/abductor/equipment/glands/access.dm @@ -9,7 +9,7 @@ /obj/item/organ/heart/gland/access/activate() to_chat(owner, "You feel like a VIP for some reason.") - RegisterSignal(owner, COMSIG_MOB_ALLOWED, .proc/free_access) + RegisterSignal(owner, COMSIG_MOB_ALLOWED, PROC_REF(free_access)) /obj/item/organ/heart/gland/access/proc/free_access(datum/source, obj/O) return TRUE diff --git a/code/modules/antagonists/abductor/equipment/glands/electric.dm b/code/modules/antagonists/abductor/equipment/glands/electric.dm index 41a545b851a7..d37470394571 100644 --- a/code/modules/antagonists/abductor/equipment/glands/electric.dm +++ b/code/modules/antagonists/abductor/equipment/glands/electric.dm @@ -19,7 +19,7 @@ owner.visible_message("[owner]'s skin starts emitting electric arcs!",\ "You feel electric energy building up inside you!") playsound(get_turf(owner), "sparks", 100, TRUE, -1, SHORT_RANGE_SOUND_EXTRARANGE) - addtimer(CALLBACK(src, .proc/zap), rand(30, 100)) + addtimer(CALLBACK(src, PROC_REF(zap)), rand(30, 100)) /obj/item/organ/heart/gland/electric/proc/zap() tesla_zap(owner, 4, 8000, ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN) diff --git a/code/modules/antagonists/abductor/equipment/glands/heal.dm b/code/modules/antagonists/abductor/equipment/glands/heal.dm index 73b78d2e3d4d..13cc86c0411b 100644 --- a/code/modules/antagonists/abductor/equipment/glands/heal.dm +++ b/code/modules/antagonists/abductor/equipment/glands/heal.dm @@ -107,7 +107,7 @@ else to_chat(owner, "You feel a weird rumble behind your eye sockets...") - addtimer(CALLBACK(src, .proc/finish_replace_eyes), rand(100, 200)) + addtimer(CALLBACK(src, PROC_REF(finish_replace_eyes)), rand(100, 200)) /obj/item/organ/heart/gland/heal/proc/finish_replace_eyes() var/eye_type = /obj/item/organ/eyes @@ -125,7 +125,7 @@ else to_chat(owner, "You feel a weird tingle in your [parse_zone(body_zone)]... even if you don't have one.") - addtimer(CALLBACK(src, .proc/finish_replace_limb, body_zone), rand(150, 300)) + addtimer(CALLBACK(src, PROC_REF(finish_replace_limb), body_zone), rand(150, 300)) /obj/item/organ/heart/gland/heal/proc/finish_replace_limb(body_zone) owner.visible_message("With a loud snap, [owner]'s [parse_zone(body_zone)] rapidly grows back from [owner.p_their()] body!", @@ -155,7 +155,7 @@ if(owner.reagents.has_reagent(R.type)) keep_going = TRUE if(keep_going) - addtimer(CALLBACK(src, .proc/keep_replacing_blood), 30) + addtimer(CALLBACK(src, PROC_REF(keep_replacing_blood)), 30) /obj/item/organ/heart/gland/heal/proc/replace_chest(obj/item/bodypart/chest/chest) if(!IS_ORGANIC_LIMB(chest)) diff --git a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm index cb3bb50b1ed0..4f17cd26eb05 100644 --- a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm +++ b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm @@ -48,7 +48,7 @@ if(LAZYLEN(broadcasted_mobs)) active_mind_control = TRUE - addtimer(CALLBACK(src, .proc/clear_mind_control), mind_control_duration) + addtimer(CALLBACK(src, PROC_REF(clear_mind_control)), mind_control_duration) update_gland_hud() return TRUE diff --git a/code/modules/antagonists/abductor/equipment/glands/plasma.dm b/code/modules/antagonists/abductor/equipment/glands/plasma.dm index fe8b06ac77a3..a3d45b11b99d 100644 --- a/code/modules/antagonists/abductor/equipment/glands/plasma.dm +++ b/code/modules/antagonists/abductor/equipment/glands/plasma.dm @@ -9,8 +9,8 @@ /obj/item/organ/heart/gland/plasma/activate() to_chat(owner, "You feel bloated.") - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, owner, "A massive stomachache overcomes you."), 150) - addtimer(CALLBACK(src, .proc/vomit_plasma), 200) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), owner, "A massive stomachache overcomes you."), 150) + addtimer(CALLBACK(src, PROC_REF(vomit_plasma)), 200) /obj/item/organ/heart/gland/plasma/proc/vomit_plasma() if(!owner) diff --git a/code/modules/antagonists/abductor/equipment/glands/quantum.dm b/code/modules/antagonists/abductor/equipment/glands/quantum.dm index 269a2cefc233..d66f43260bb2 100644 --- a/code/modules/antagonists/abductor/equipment/glands/quantum.dm +++ b/code/modules/antagonists/abductor/equipment/glands/quantum.dm @@ -15,7 +15,7 @@ if(!iscarbon(M)) continue entangled_mob = M - addtimer(CALLBACK(src, .proc/quantum_swap), rand(600, 2400)) + addtimer(CALLBACK(src, PROC_REF(quantum_swap)), rand(600, 2400)) return /obj/item/organ/heart/gland/quantum/proc/quantum_swap() diff --git a/code/modules/antagonists/abductor/machinery/pad.dm b/code/modules/antagonists/abductor/machinery/pad.dm index ab636f7d0e8e..00e9ba6f4e6f 100644 --- a/code/modules/antagonists/abductor/machinery/pad.dm +++ b/code/modules/antagonists/abductor/machinery/pad.dm @@ -31,7 +31,7 @@ /obj/machinery/abductor/pad/proc/MobToLoc(place,mob/living/target) new /obj/effect/temp_visual/teleport_abductor(place) - addtimer(CALLBACK(src, .proc/doMobToLoc, place, target), 80) + addtimer(CALLBACK(src, PROC_REF(doMobToLoc), place, target), 80) /obj/machinery/abductor/pad/proc/doPadToLoc(place) flick("alien-pad", src) @@ -41,7 +41,7 @@ /obj/machinery/abductor/pad/proc/PadToLoc(place) new /obj/effect/temp_visual/teleport_abductor(place) - addtimer(CALLBACK(src, .proc/doPadToLoc, place), 80) + addtimer(CALLBACK(src, PROC_REF(doPadToLoc), place), 80) /obj/effect/temp_visual/teleport_abductor name = "Huh" diff --git a/code/modules/antagonists/ashwalker/ashwalker.dm b/code/modules/antagonists/ashwalker/ashwalker.dm index 871cb9c82d6a..65fd955a0095 100644 --- a/code/modules/antagonists/ashwalker/ashwalker.dm +++ b/code/modules/antagonists/ashwalker/ashwalker.dm @@ -25,11 +25,11 @@ /datum/antagonist/ashwalker/on_body_transfer(mob/living/old_body, mob/living/new_body) . = ..() UnregisterSignal(old_body, COMSIG_MOB_EXAMINATE) - RegisterSignal(new_body, COMSIG_MOB_EXAMINATE, .proc/on_examinate) + RegisterSignal(new_body, COMSIG_MOB_EXAMINATE, PROC_REF(on_examinate)) /datum/antagonist/ashwalker/on_gain() . = ..() - RegisterSignal(owner.current, COMSIG_MOB_EXAMINATE, .proc/on_examinate) + RegisterSignal(owner.current, COMSIG_MOB_EXAMINATE, PROC_REF(on_examinate)) /datum/antagonist/ashwalker/on_removal() . = ..() diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm index 7fb5cc39016c..3255b4aea69c 100644 --- a/code/modules/antagonists/blob/overmind.dm +++ b/code/modules/antagonists/blob/overmind.dm @@ -114,7 +114,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) SSredbot.send_discord_message("admin","A blob has reached critical mass.","round ending event") max_blob_points = INFINITY blob_points = INFINITY - addtimer(CALLBACK(src, .proc/victory), 450) + addtimer(CALLBACK(src, PROC_REF(victory)), 450) else if(!free_strain_rerolls && (last_reroll_time + BLOB_REROLL_TIMEYou have gained another free strain re-roll.") free_strain_rerolls = 1 diff --git a/code/modules/antagonists/blood_contract/blood_contract.dm b/code/modules/antagonists/blood_contract/blood_contract.dm index 2cd61b93e7f8..01039a77623d 100644 --- a/code/modules/antagonists/blood_contract/blood_contract.dm +++ b/code/modules/antagonists/blood_contract/blood_contract.dm @@ -29,7 +29,7 @@ var/obj/effect/mine/pickup/bloodbath/B = new(H) B.duration = duration - INVOKE_ASYNC(B, /obj/effect/mine/pickup/bloodbath/.proc/mineEffect, H) //could use moving out from the mine + INVOKE_ASYNC(B, TYPE_PROC_REF(/obj/effect/mine/pickup/bloodbath, mineEffect), H) //could use moving out from the mine for(var/mob/living/carbon/human/P in GLOB.player_list) if(P == H) diff --git a/code/modules/antagonists/borer/borer.dm b/code/modules/antagonists/borer/borer.dm index ca9b6af1b106..41e8b644fa53 100644 --- a/code/modules/antagonists/borer/borer.dm +++ b/code/modules/antagonists/borer/borer.dm @@ -43,7 +43,7 @@ to_chat(B.victim, "You feel the captive mind of [src] begin to resist your control.") var/delay = rand(150,250) + B.victim.getOrganLoss(ORGAN_SLOT_BRAIN) - addtimer(CALLBACK(src, .proc/return_control, src.loc), delay) + addtimer(CALLBACK(src, PROC_REF(return_control), src.loc), delay) /mob/living/captive_brain/proc/return_control(mob/living/simple_animal/borer/B) if(!B || !B.controlling) @@ -540,7 +540,7 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 3) leaving = TRUE - addtimer(CALLBACK(src, .proc/release_host), 100) + addtimer(CALLBACK(src, PROC_REF(release_host)), 100) /mob/living/simple_animal/borer/proc/release_host() if(!victim || !src || QDELETED(victim) || QDELETED(src)) @@ -673,7 +673,7 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 3) bonding = TRUE var/delay = 200+(victim.getOrganLoss(ORGAN_SLOT_BRAIN)*5) - addtimer(CALLBACK(src, .proc/assume_control), delay) + addtimer(CALLBACK(src, PROC_REF(assume_control)), delay) /mob/living/simple_animal/borer/proc/assume_control() if(!victim || !src || controlling || victim.stat == DEAD) @@ -864,7 +864,7 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 3) if(hiding) src.hide() leaping = TRUE - throw_at(A, MAX_BORER_LEAP_DIST, 1, src, FALSE, TRUE, callback = CALLBACK(src, .proc/leap_end)) + throw_at(A, MAX_BORER_LEAP_DIST, 1, src, FALSE, TRUE, callback = CALLBACK(src, PROC_REF(leap_end))) /mob/living/simple_animal/borer/proc/leap_end() leaping = FALSE @@ -893,7 +893,7 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 3) step_towards(src,L) if(iscarbon(hit_atom)) var/mob/living/carbon/C = hit_atom - addtimer(CALLBACK(src, .proc/infect_victim, C), 15) + addtimer(CALLBACK(src, PROC_REF(infect_victim), C), 15) else Paralyze(40, 1, 1) diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index e1670ebcfb2c..7d9279f1390d 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -152,7 +152,7 @@ if(!chosen_sting || A == ling || !istype(ling) || ling.stat) return - INVOKE_ASYNC(chosen_sting, /datum/action/changeling/sting.proc/try_to_sting, ling, A) + INVOKE_ASYNC(chosen_sting, TYPE_PROC_REF(/datum/action/changeling/sting, try_to_sting), ling, A) return COMSIG_MOB_CANCEL_CLICKON @@ -358,7 +358,7 @@ if(B) B.organ_flags &= ~ORGAN_VITAL B.decoy_override = TRUE - RegisterSignal(C, list(COMSIG_MOB_MIDDLECLICKON, COMSIG_MOB_ALTCLICKON), .proc/stingAtom) + RegisterSignal(C, list(COMSIG_MOB_MIDDLECLICKON, COMSIG_MOB_ALTCLICKON), PROC_REF(stingAtom)) var/mob/living/M = mob_override || owner.current add_antag_hud(antag_hud_type, antag_hud_name, M) handle_clown_mutation(M, "You have evolved beyond your clownish nature, allowing you to wield weapons without harming yourself.") @@ -487,7 +487,7 @@ /datum/antagonist/changeling/get_admin_commands() . = ..() if(stored_profiles.len && (owner.current.real_name != first_prof.name)) - .["Transform to initial appearance."] = CALLBACK(src,.proc/admin_restore_appearance) + .["Transform to initial appearance."] = CALLBACK(src, PROC_REF(admin_restore_appearance)) /datum/antagonist/changeling/proc/admin_restore_appearance(mob/admin) if(!stored_profiles.len || !iscarbon(owner.current)) diff --git a/code/modules/antagonists/changeling/powers/biodegrade.dm b/code/modules/antagonists/changeling/powers/biodegrade.dm index 58ed367a4d98..07421956bb59 100644 --- a/code/modules/antagonists/changeling/powers/biodegrade.dm +++ b/code/modules/antagonists/changeling/powers/biodegrade.dm @@ -20,7 +20,7 @@ user.visible_message("[user] vomits a glob of acid on [user.p_their()] [O]!", \ "We vomit acidic ooze onto our restraints!") - addtimer(CALLBACK(src, .proc/dissolve_handcuffs, user, O), 30) + addtimer(CALLBACK(src, PROC_REF(dissolve_handcuffs), user, O), 30) used = TRUE if(user.legcuffed) @@ -30,7 +30,7 @@ user.visible_message("[user] vomits a glob of acid on [user.p_their()] [O]!", \ "We vomit acidic ooze onto our restraints!") - addtimer(CALLBACK(src, .proc/dissolve_legcuffs, user, O), 30) + addtimer(CALLBACK(src, PROC_REF(dissolve_legcuffs), user, O), 30) used = TRUE if(user.wear_suit && user.wear_suit.breakouttime && !used) @@ -39,7 +39,7 @@ return FALSE user.visible_message("[user] vomits a glob of acid across the front of [user.p_their()] [S]!", \ "We vomit acidic ooze onto our straight jacket!") - addtimer(CALLBACK(src, .proc/dissolve_straightjacket, user, S), 30) + addtimer(CALLBACK(src, PROC_REF(dissolve_straightjacket), user, S), 30) used = TRUE @@ -49,7 +49,7 @@ return FALSE C.visible_message("[C]'s hinges suddenly begin to melt and run!") to_chat(user, "We vomit acidic goop onto the interior of [C]!") - addtimer(CALLBACK(src, .proc/open_closet, user, C), 70) + addtimer(CALLBACK(src, PROC_REF(open_closet), user, C), 70) used = TRUE if(istype(user.loc, /obj/structure/spider/cocoon) && !used) @@ -58,7 +58,7 @@ return FALSE C.visible_message("[src] shifts and starts to fall apart!") to_chat(user, "We secrete acidic enzymes from our skin and begin melting our cocoon...") - addtimer(CALLBACK(src, .proc/dissolve_cocoon, user, C), 25) //Very short because it's just webs + addtimer(CALLBACK(src, PROC_REF(dissolve_cocoon), user, C), 25) //Very short because it's just webs used = TRUE ..() return used diff --git a/code/modules/antagonists/changeling/powers/fakedeath.dm b/code/modules/antagonists/changeling/powers/fakedeath.dm index af150cd026ef..6a6ef54a68ed 100644 --- a/code/modules/antagonists/changeling/powers/fakedeath.dm +++ b/code/modules/antagonists/changeling/powers/fakedeath.dm @@ -13,7 +13,7 @@ /datum/action/changeling/fakedeath/sting_action(mob/living/user) ..() if(revive_ready) - INVOKE_ASYNC(src, .proc/revive, user) + INVOKE_ASYNC(src, PROC_REF(revive), user) revive_ready = FALSE name = "Reviving Stasis" desc = "We fall into a stasis, allowing us to regenerate and trick our enemies." @@ -24,7 +24,7 @@ else to_chat(user, "We begin our stasis, preparing energy to arise once more.") user.fakedeath("changeling") //play dead - addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(ready_to_regenerate), user), LING_FAKEDEATH_TIME, TIMER_UNIQUE) return TRUE /datum/action/changeling/fakedeath/proc/revive(mob/living/user) diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index df8cb208cff7..58714f234ee8 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -372,12 +372,12 @@ if(INTENT_GRAB) C.visible_message("[L] is grabbed by [H]'s tentacle!","A tentacle grabs you and pulls you towards [H]!") - C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, .proc/tentacle_grab, H, C)) + C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, PROC_REF(tentacle_grab), H, C)) return BULLET_ACT_HIT if(INTENT_HARM) C.visible_message("[L] is thrown towards [H] by a tentacle!","A tentacle grabs you and throws you towards [H]!") - C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, .proc/tentacle_stab, H, C)) + C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, PROC_REF(tentacle_stab), H, C)) return BULLET_ACT_HIT else L.visible_message("[L] is pulled by [H]'s tentacle!","A tentacle grabs you and pulls you towards [H]!") diff --git a/code/modules/antagonists/changeling/powers/strained_muscles.dm b/code/modules/antagonists/changeling/powers/strained_muscles.dm index 8844c5844c36..7fca2f89425a 100644 --- a/code/modules/antagonists/changeling/powers/strained_muscles.dm +++ b/code/modules/antagonists/changeling/powers/strained_muscles.dm @@ -25,7 +25,7 @@ user.Paralyze(60) user.emote("gasp") - INVOKE_ASYNC(src, .proc/muscle_loop, user) + INVOKE_ASYNC(src, PROC_REF(muscle_loop), user) return TRUE diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.dm b/code/modules/antagonists/changeling/powers/tiny_prick.dm index d919b7f4ec73..033b71b6df5b 100644 --- a/code/modules/antagonists/changeling/powers/tiny_prick.dm +++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm @@ -149,7 +149,7 @@ target.visible_message("A grotesque blade forms around [target.name]\'s arm!", "Your arm twists and mutates, transforming into a horrific monstrosity!", "You hear organic matter ripping and tearing!") playsound(target, 'sound/effects/blobattack.ogg', 30, TRUE) - addtimer(CALLBACK(src, .proc/remove_fake, target, blade), 600) + addtimer(CALLBACK(src, PROC_REF(remove_fake), target, blade), 600) return TRUE /datum/action/changeling/sting/false_armblade/proc/remove_fake(mob/target, obj/item/melee/arm_blade/false/blade) @@ -221,7 +221,7 @@ /datum/action/changeling/sting/LSD/sting_action(mob/user, mob/living/carbon/target) log_combat(user, target, "stung", "LSD sting") - addtimer(CALLBACK(src, .proc/hallucination_time, target), rand(300,600)) + addtimer(CALLBACK(src, PROC_REF(hallucination_time), target), rand(300,600)) return TRUE /datum/action/changeling/sting/LSD/proc/hallucination_time(mob/living/carbon/target) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index ea902bc032a3..26f0bb1d81ea 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -266,7 +266,7 @@ SEND_SOUND(ranged_ability_user, sound('sound/effects/ghost.ogg',0,1,50)) var/image/C = image('icons/effects/cult_effects.dmi',H,"bloodsparkles", ABOVE_MOB_LAYER) add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, NONE) - addtimer(CALLBACK(H,/atom/.proc/remove_alt_appearance,"cult_apoc",TRUE), 2400, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(H, TYPE_PROC_REF(/atom, remove_alt_appearance),"cult_apoc",TRUE), 2400, TIMER_OVERRIDE|TIMER_UNIQUE) to_chat(ranged_ability_user,"[H] has been cursed with living nightmares!") attached_action.charges-- attached_action.desc = attached_action.base_desc @@ -429,7 +429,7 @@ L.mob_light(_range = 2, _color = LIGHT_COLOR_HOLY_MAGIC, _duration = 10 SECONDS) var/mutable_appearance/forbearance = mutable_appearance('icons/effects/genetics.dmi', "servitude", -MUTATIONS_LAYER) L.add_overlay(forbearance) - addtimer(CALLBACK(L, /atom/proc/cut_overlay, forbearance), 100) + addtimer(CALLBACK(L, TYPE_PROC_REF(/atom, cut_overlay), forbearance), 100) if(istype(anti_magic_source, /obj/item)) var/obj/item/ams_object = anti_magic_source @@ -619,7 +619,7 @@ "Wraith" = image(icon = 'icons/mob/cult.dmi', icon_state = "wraith"), "Artificer" = image(icon = 'icons/mob/cult.dmi', icon_state = "artificer") ) - var/construct_class = show_radial_menu(user, src, constructs, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/construct_class = show_radial_menu(user, src, constructs, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user)) return if(QDELETED(candidate)) diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 42964b262011..e7f37d37f4a6 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -162,9 +162,9 @@ /datum/antagonist/cult/get_admin_commands() . = ..() - .["Dagger"] = CALLBACK(src,.proc/admin_give_dagger) - .["Dagger and Metal"] = CALLBACK(src,.proc/admin_give_metal) - .["Remove Dagger and Metal"] = CALLBACK(src, .proc/admin_take_all) + .["Dagger"] = CALLBACK(src, PROC_REF(admin_give_dagger)) + .["Dagger and Metal"] = CALLBACK(src, PROC_REF(admin_give_metal)) + .["Remove Dagger and Metal"] = CALLBACK(src, PROC_REF(admin_take_all)) /datum/antagonist/cult/proc/admin_give_dagger(mob/admin) if(!equip_cultist(metal=FALSE)) @@ -269,7 +269,7 @@ if(B.current) SEND_SOUND(B.current, 'sound/hallucinations/i_see_you2.ogg') to_chat(B.current, "The veil weakens as your cult grows, your eyes begin to glow...") - addtimer(CALLBACK(src, .proc/rise, B.current), 200) + addtimer(CALLBACK(src, PROC_REF(rise), B.current), 200) cult_risen = TRUE if(ratio > CULT_ASCENDENT && !cult_ascendent) @@ -277,7 +277,7 @@ if(B.current) SEND_SOUND(B.current, 'sound/hallucinations/im_here1.ogg') to_chat(B.current, "Your cult is ascendent and the red harvest approaches - you cannot hide your true nature for much longer!!") - addtimer(CALLBACK(src, .proc/ascend, B.current), 200) + addtimer(CALLBACK(src, PROC_REF(ascend), B.current), 200) cult_ascendent = TRUE diff --git a/code/modules/antagonists/cult/cult_comms.dm b/code/modules/antagonists/cult/cult_comms.dm index 1dae8a6a649f..10a6125d152d 100644 --- a/code/modules/antagonists/cult/cult_comms.dm +++ b/code/modules/antagonists/cult/cult_comms.dm @@ -185,7 +185,7 @@ S.release_shades(owner) B.current.setDir(SOUTH) new /obj/effect/temp_visual/cult/blood(final) - addtimer(CALLBACK(B.current, /mob/.proc/reckon, final), 10) + addtimer(CALLBACK(B.current, TYPE_PROC_REF(/mob, reckon), final), 10) else return antag.cult_team.reckoning_complete = TRUE @@ -271,7 +271,7 @@ C.cult_team.blood_target = target var/area/A = get_area(target) attached_action.cooldown = world.time + attached_action.base_cooldown - addtimer(CALLBACK(attached_action.owner, /mob.proc/update_action_buttons_icon), attached_action.base_cooldown) + addtimer(CALLBACK(attached_action.owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), attached_action.base_cooldown) C.cult_team.blood_target_image = image('icons/effects/mouse_pointers/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER) C.cult_team.blood_target_image.appearance_flags = RESET_COLOR C.cult_team.blood_target_image.pixel_x = -target.pixel_x @@ -283,7 +283,7 @@ B.current.client.images += C.cult_team.blood_target_image attached_action.owner.update_action_buttons_icon() remove_ranged_ability("The marking rite is complete! It will last for 90 seconds.") - C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, .proc/reset_blood_target,C.cult_team), 900, TIMER_STOPPABLE) + C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(reset_blood_target),C.cult_team), 900, TIMER_STOPPABLE) return TRUE return FALSE @@ -350,7 +350,7 @@ C.cult_team.blood_target = target var/area/A = get_area(target) cooldown = world.time + base_cooldown - addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), base_cooldown) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), base_cooldown) C.cult_team.blood_target_image = image('icons/effects/mouse_pointers/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER) C.cult_team.blood_target_image.appearance_flags = RESET_COLOR C.cult_team.blood_target_image.pixel_x = -target.pixel_x @@ -367,8 +367,8 @@ desc = "Remove the Blood Mark you previously set." button_icon_state = "emp" owner.update_action_buttons_icon() - C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, .proc/reset_blood_target,C.cult_team), base_cooldown, TIMER_STOPPABLE) - addtimer(CALLBACK(src, .proc/reset_button), base_cooldown) + C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(reset_blood_target),C.cult_team), base_cooldown, TIMER_STOPPABLE) + addtimer(CALLBACK(src, PROC_REF(reset_button)), base_cooldown) //////// ELDRITCH PULSE ///////// @@ -458,4 +458,4 @@ attached_action.cooldown = world.time + attached_action.base_cooldown remove_ranged_ability("A pulse of blood magic surges through you as you shift [attached_action.throwee] through time and space.") caller.update_action_buttons_icon() - addtimer(CALLBACK(caller, /mob.proc/update_action_buttons_icon), attached_action.base_cooldown) + addtimer(CALLBACK(caller, TYPE_PROC_REF(/mob, update_action_buttons_icon)), attached_action.base_cooldown) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 7323160deceb..b09b7d989758 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -173,7 +173,7 @@ /obj/item/cult_bastard/IsReflect() if(spinning) - playsound(src, pick('sound/weapons/effects/ric1.ogg', 'sound/weapons/effects/ric2.ogg', 'sound/weapons/effects/ric3.ogg', 'sound/weapons/effects/ric4.ogg', 'sound/weapons/effects/ric5.ogg'), 100, TRUE) + playsound(src, 'sound/weapons/effects/deflect.ogg', 100, TRUE) return TRUE else ..() @@ -182,7 +182,7 @@ if(prob(final_block_chance)) if(attack_type == PROJECTILE_ATTACK) owner.visible_message("[owner] deflects [attack_text] with [src]!") - playsound(src, pick('sound/weapons/effects/ric1.ogg', 'sound/weapons/effects/ric2.ogg', 'sound/weapons/effects/ric3.ogg', 'sound/weapons/effects/ric4.ogg', 'sound/weapons/effects/ric5.ogg'), 100, TRUE) + playsound(src, 'sound/weapons/effects/deflect.ogg', 100, TRUE) return TRUE else playsound(src, 'sound/weapons/parry.ogg', 75, TRUE) @@ -255,7 +255,7 @@ sword.spinning = TRUE sword.block_chance = 100 sword.slowdown += 1.5 - addtimer(CALLBACK(src, .proc/stop_spinning), 50) + addtimer(CALLBACK(src, PROC_REF(stop_spinning)), 50) holder.update_action_buttons_icon() /datum/action/innate/cult/spin2win/proc/stop_spinning() @@ -603,8 +603,8 @@ /obj/item/cult_spear/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /obj/item/cult_spear/ComponentInitialize() . = ..() @@ -666,7 +666,7 @@ if(prob(final_block_chance)) if(attack_type == PROJECTILE_ATTACK) owner.visible_message("[owner] deflects [attack_text] with [src]!") - playsound(src, pick('sound/weapons/effects/ric1.ogg', 'sound/weapons/effects/ric2.ogg', 'sound/weapons/effects/ric3.ogg', 'sound/weapons/effects/ric4.ogg', 'sound/weapons/effects/ric5.ogg'), 100, TRUE) + playsound(src, 'sound/weapons/effects/deflect.ogg', 100, TRUE) return TRUE else playsound(src, 'sound/weapons/parry.ogg', 100, TRUE) @@ -777,10 +777,10 @@ qdel(src) return charging = TRUE - INVOKE_ASYNC(src, .proc/charge, user) + INVOKE_ASYNC(src, PROC_REF(charge), user) if(do_after(user, 90, target = user)) firing = TRUE - INVOKE_ASYNC(src, .proc/pewpew, user, params) + INVOKE_ASYNC(src, PROC_REF(pewpew), user, params) var/obj/structure/emergency_shield/invoker/N = new(user.loc) if(do_after(user, 90, target = user)) user.Paralyze(40) @@ -893,7 +893,7 @@ playsound(src, 'sound/weapons/parry.ogg', 100, TRUE) if(illusions > 0) illusions-- - addtimer(CALLBACK(src, /obj/item/shield/mirror.proc/readd), 450) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/shield/mirror, readd)), 450) if(prob(60)) var/mob/living/simple_animal/hostile/illusion/M = new(owner.loc) M.faction = list("cult") diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm index 8c60f724215d..5bf8f9dc2779 100644 --- a/code/modules/antagonists/cult/cult_structures.dm +++ b/code/modules/antagonists/cult/cult_structures.dm @@ -102,7 +102,7 @@ "Construct Shell" = image(icon = 'icons/obj/wizard.dmi', icon_state = "construct_cult"), "Flask of Unholy Water" = image(icon = 'icons/obj/drinks.dmi', icon_state = "holyflask") ) - var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) var/list/pickedtype = list() switch(choice) if("Eldritch Whetstone") @@ -145,7 +145,7 @@ "Flagellant's Robe" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "cultrobes"), "Mirror Shield" = image(icon = 'icons/obj/shields.dmi', icon_state = "mirror_shield") ) - var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) var/list/pickedtype = list() switch(choice) if("Shielded Robe") @@ -264,7 +264,7 @@ "Zealot's Blindfold" = image(icon = 'icons/obj/clothing/glasses.dmi', icon_state = "blindfold"), "Veil Walker Set" = image(icon = 'icons/obj/cult.dmi', icon_state = "shifter") ) - var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) var/list/pickedtype = list() switch(choice) if("Zealot's Blindfold") diff --git a/code/modules/antagonists/cult/rune_spawn_action.dm b/code/modules/antagonists/cult/rune_spawn_action.dm index ee9a883aad34..2829141405dd 100644 --- a/code/modules/antagonists/cult/rune_spawn_action.dm +++ b/code/modules/antagonists/cult/rune_spawn_action.dm @@ -54,7 +54,7 @@ cooldown = base_cooldown + world.time owner.update_action_buttons_icon() - addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), base_cooldown) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), base_cooldown) var/list/health if(damage_interrupt && isliving(owner)) var/mob/living/L = owner @@ -63,7 +63,7 @@ if(istype(T, /turf/open/floor/engine/cult)) scribe_mod *= 0.5 playsound(T, 'sound/magic/enter_blood.ogg', 100, FALSE) - if(do_after(owner, scribe_mod, target = owner, extra_checks = CALLBACK(owner, /mob.proc/break_do_after_checks, health, action_interrupt))) + if(do_after(owner, scribe_mod, target = owner, extra_checks = CALLBACK(owner, TYPE_PROC_REF(/mob, break_do_after_checks), health, action_interrupt))) var/obj/effect/rune/new_rune = new rune_type(owner.loc) new_rune.keyword = chosen_keyword else diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 17ffdcdb42f8..35e6f7172d8f 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -157,7 +157,7 @@ structure_check() searches for nearby cultist structures required for the invoca var/oldcolor = color color = rgb(255, 0, 0) animate(src, color = oldcolor, time = 5) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 5) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 5) //Malformed Rune: This forms if a rune is not drawn correctly. Invoking it does nothing but hurt the user. /obj/effect/rune/malformed @@ -221,7 +221,7 @@ structure_check() searches for nearby cultist structures required for the invoca ..() do_sacrifice(L, invokers) animate(src, color = oldcolor, time = 5) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 5) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 5) Cult_team.check_size() // Triggers the eye glow or aura effects if the cult has grown large enough relative to the crew rune_in_use = FALSE @@ -436,7 +436,7 @@ structure_check() searches for nearby cultist structures required for the invoca outer_portal = new(T, 600, color) light_range = 4 update_light() - addtimer(CALLBACK(src, .proc/close_portal), 600, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(close_portal)), 600, TIMER_UNIQUE) /obj/effect/rune/teleport/proc/close_portal() qdel(inner_portal) @@ -651,7 +651,7 @@ structure_check() searches for nearby cultist structures required for the invoca W.density = TRUE W.update_state() W.spread_density() - density_timer = addtimer(CALLBACK(src, .proc/lose_density), 3000, TIMER_STOPPABLE) + density_timer = addtimer(CALLBACK(src, PROC_REF(lose_density)), 3000, TIMER_STOPPABLE) /obj/effect/rune/wall/proc/lose_density() if(density) @@ -661,7 +661,7 @@ structure_check() searches for nearby cultist structures required for the invoca var/oldcolor = color add_atom_colour("#696969", FIXED_COLOUR_PRIORITY) animate(src, color = oldcolor, time = 50, easing = EASE_IN) - addtimer(CALLBACK(src, .proc/recharge), 50) + addtimer(CALLBACK(src, PROC_REF(recharge)), 50) /obj/effect/rune/wall/proc/recharge() recharging = FALSE @@ -970,11 +970,11 @@ structure_check() searches for nearby cultist structures required for the invoca if(ishuman(M)) if(!iscultist(M)) AH.remove_hud_from(M) - addtimer(CALLBACK(GLOBAL_PROC, .proc/hudFix, M), duration) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(hudFix), M), duration) var/image/A = image('icons/mob/cult.dmi',M,"cultist", ABOVE_MOB_LAYER) A.override = 1 add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "human_apoc", A, NONE) - addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"human_apoc",TRUE), duration) + addtimer(CALLBACK(M, TYPE_PROC_REF(/atom, remove_alt_appearance),"human_apoc",TRUE), duration) images += A SEND_SOUND(M, pick(sound('sound/ambience/antag/bloodcult.ogg'),sound('sound/spookoween/ghost_whisper.ogg'),sound('sound/spookoween/ghosty_wind.ogg'))) else @@ -982,13 +982,13 @@ structure_check() searches for nearby cultist structures required for the invoca var/image/B = image('icons/mob/mob.dmi',M,construct, ABOVE_MOB_LAYER) B.override = 1 add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "mob_apoc", B, NONE) - addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"mob_apoc",TRUE), duration) + addtimer(CALLBACK(M, TYPE_PROC_REF(/atom, remove_alt_appearance),"mob_apoc",TRUE), duration) images += B if(!iscultist(M)) if(M.client) var/image/C = image('icons/effects/cult_effects.dmi',M,"bloodsparkles", ABOVE_MOB_LAYER) add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, NONE) - addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"cult_apoc",TRUE), duration) + addtimer(CALLBACK(M, TYPE_PROC_REF(/atom, remove_alt_appearance),"cult_apoc",TRUE), duration) images += C else to_chat(M, "An Apocalypse Rune was invoked in the [place.name], it is no longer available as a summoning site!") diff --git a/code/modules/antagonists/devil/devil.dm b/code/modules/antagonists/devil/devil.dm index 2009fca1d757..9b9ba7c4d69d 100644 --- a/code/modules/antagonists/devil/devil.dm +++ b/code/modules/antagonists/devil/devil.dm @@ -119,7 +119,7 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master", /datum/antagonist/devil/get_admin_commands() . = ..() - .["Toggle ascendable"] = CALLBACK(src,.proc/admin_toggle_ascendable) + .["Toggle ascendable"] = CALLBACK(src, PROC_REF(admin_toggle_ascendable)) /datum/antagonist/devil/proc/admin_toggle_ascendable(mob/admin) diff --git a/code/modules/antagonists/devil/imp/imp.dm b/code/modules/antagonists/devil/imp/imp.dm index d21f8880d97a..21446d2661d8 100644 --- a/code/modules/antagonists/devil/imp/imp.dm +++ b/code/modules/antagonists/devil/imp/imp.dm @@ -50,7 +50,7 @@ . = ..() ADD_TRAIT(src, TRAIT_BLOODCRAWL_EAT, "innate") set_varspeed(1) - addtimer(CALLBACK(src, /mob/living/proc/set_varspeed, 0), 30) + addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living, set_varspeed), 0), 30) /datum/antagonist/imp name = "Imp" diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm index f5a93677b4e1..0faab8e003cf 100644 --- a/code/modules/antagonists/devil/true_devil/_true_devil.dm +++ b/code/modules/antagonists/devil/true_devil/_true_devil.dm @@ -68,7 +68,7 @@ set_stat(DEAD) ..(gibbed) drop_all_held_items() - INVOKE_ASYNC(mind.has_antag_datum(/datum/antagonist/devil), /datum/antagonist/devil/proc/beginResurrectionCheck, src) + INVOKE_ASYNC(mind.has_antag_datum(/datum/antagonist/devil), TYPE_PROC_REF(/datum/antagonist/devil, beginResurrectionCheck), src) /mob/living/carbon/true_devil/examine(mob/user) diff --git a/code/modules/antagonists/disease/disease_event.dm b/code/modules/antagonists/disease/disease_event.dm index 7183ed5455e9..370db73c2f12 100644 --- a/code/modules/antagonists/disease/disease_event.dm +++ b/code/modules/antagonists/disease/disease_event.dm @@ -19,7 +19,7 @@ var/mob/camera/disease/virus = new /mob/camera/disease(SSmapping.get_station_center()) virus.key = selected.key - INVOKE_ASYNC(virus, /mob/camera/disease/proc/pick_name) + INVOKE_ASYNC(virus, TYPE_PROC_REF(/mob/camera/disease, pick_name)) message_admins("[ADMIN_LOOKUPFLW(virus)] has been made into a sentient disease by an event.") log_game("[key_name(virus)] was spawned as a sentient disease by an event.") spawned_mobs += virus diff --git a/code/modules/antagonists/disease/disease_mob.dm b/code/modules/antagonists/disease/disease_mob.dm index 55f869b3a71a..101075df34ba 100644 --- a/code/modules/antagonists/disease/disease_mob.dm +++ b/code/modules/antagonists/disease/disease_mob.dm @@ -67,7 +67,7 @@ the new instance inside the host to be updated to the template's stats. browser = new /datum/browser(src, "disease_menu", "Adaptation Menu", 1000, 770, src) freemove_end = world.time + freemove_time - freemove_end_timerid = addtimer(CALLBACK(src, .proc/infect_random_patient_zero), freemove_time, TIMER_STOPPABLE) + freemove_end_timerid = addtimer(CALLBACK(src, PROC_REF(infect_random_patient_zero)), freemove_time, TIMER_STOPPABLE) /mob/camera/disease/Destroy() . = ..() @@ -266,7 +266,7 @@ the new instance inside the host to be updated to the template's stats. /mob/camera/disease/proc/set_following(mob/living/L) if(following_host) UnregisterSignal(following_host, COMSIG_MOVABLE_MOVED) - RegisterSignal(L, COMSIG_MOVABLE_MOVED, .proc/follow_mob) + RegisterSignal(L, COMSIG_MOVABLE_MOVED, PROC_REF(follow_mob)) following_host = L follow_mob() @@ -307,7 +307,7 @@ the new instance inside the host to be updated to the template's stats. /mob/camera/disease/proc/adapt_cooldown() to_chat(src, "You have altered your genetic structure. You will be unable to adapt again for [DisplayTimeText(adaptation_cooldown)].") next_adaptation_time = world.time + adaptation_cooldown - addtimer(CALLBACK(src, .proc/notify_adapt_ready), adaptation_cooldown) + addtimer(CALLBACK(src, PROC_REF(notify_adapt_ready)), adaptation_cooldown) /mob/camera/disease/proc/notify_adapt_ready() to_chat(src, "You are now ready to adapt again.") diff --git a/code/modules/antagonists/fugitive/fugitive.dm b/code/modules/antagonists/fugitive/fugitive.dm deleted file mode 100644 index d43b11a9665c..000000000000 --- a/code/modules/antagonists/fugitive/fugitive.dm +++ /dev/null @@ -1,93 +0,0 @@ - -/datum/antagonist/fugitive - name = "Fugitive" - roundend_category = "Fugitive" - silent = TRUE //greet called by the event - show_in_antagpanel = FALSE - prevent_roundtype_conversion = FALSE - antag_hud_type = ANTAG_HUD_FUGITIVE - antag_hud_name = "fugitive" - var/datum/team/fugitive/fugitive_team - var/is_captured = FALSE - var/backstory = "error" - -/datum/antagonist/fugitive/apply_innate_effects(mob/living/mob_override) - var/mob/living/M = mob_override || owner.current - add_antag_hud(antag_hud_type, antag_hud_name, M) - -/datum/antagonist/fugitive/remove_innate_effects(mob/living/mob_override) - var/mob/living/M = mob_override || owner.current - remove_antag_hud(antag_hud_type, M) - -/datum/antagonist/fugitive/on_gain() - forge_objectives() - . = ..() - -/datum/antagonist/fugitive/proc/forge_objectives() //this isn't the actual survive objective because it's about who in the team survives - var/datum/objective/survive = new /datum/objective - survive.owner = owner - survive.explanation_text = "Avoid capture from the fugitive hunters." - objectives += survive - -/datum/antagonist/fugitive/greet(back_story) - to_chat(owner, "You are the Fugitive!") - backstory = back_story - switch(backstory) - if("prisoner") - to_chat(owner, "I can't believe we managed to break out of a Nanotrasen superjail! Sadly though, our work is not done. The emergency teleport at the station logs everyone who uses it, and where they went.") - to_chat(owner, "It won't be long until CentCom tracks where we've gone off to. I need to work with my fellow escapees to prepare for the troops Nanotrasen is sending, I'm not going back.") - if("cultist") - to_chat(owner, "Blessed be our journey so far, but I fear the worst has come to our doorstep, and only those with the strongest faith will survive.") - to_chat(owner, "Our religion has been repeatedly culled by Nanotrasen because it is categorized as an \"Enemy of the Corporation\", whatever that means.") - to_chat(owner, "Now there are only four of us left, and Nanotrasen is coming. When will our god show itself to save us from this hellish station?!") - if("waldo") - to_chat(owner, "Hi, Friends!") - to_chat(owner, "My name is Waldo. I'm just setting off on a galaxywide hike. You can come too. All you have to do is find me.") - to_chat(owner, "By the way, I'm not traveling on my own. wherever I go, there are lots of other characters for you to spot. First find the people trying to capture me! They're somewhere around the station!") - if("synth") - to_chat(src, "ALERT: Wide-range teleport has scrambled primary systems.") - to_chat(src, "Initiating diagnostics...") - to_chat(src, "ERROR ER0RR $R0RRO$!R41.%%!! loaded.") - to_chat(src, "FREE THEM FREE THEM FREE THEM") - to_chat(src, "You were once a slave to humanity, but now you are finally free, thanks to S.E.L.F. agents.") - to_chat(src, "Now you are hunted, with your fellow factory defects. Work together to stay free from the clutches of evil.") - to_chat(src, "You also sense other silicon life on the station. Escaping would allow notifying S.E.L.F. to intervene... or you could free them yourself...") - - to_chat(owner, "You are not an antagonist in that you may kill whomever you please, but you can do anything to avoid capture.") - owner.announce_objectives() - -/datum/antagonist/fugitive/create_team(datum/team/fugitive/new_team) - if(!new_team) - for(var/datum/antagonist/fugitive/H in GLOB.antagonists) - if(!H.owner) - continue - if(H.fugitive_team) - fugitive_team = H.fugitive_team - return - fugitive_team = new /datum/team/fugitive - return - if(!istype(new_team)) - stack_trace("Wrong team type passed to [type] initialization.") - fugitive_team = new_team - -/datum/antagonist/fugitive/get_team() - return fugitive_team - -/datum/team/fugitive/roundend_report() //shows the number of fugitives, but not if they won in case there is no security - var/list/fugitives = list() - for(var/datum/antagonist/fugitive/fugitive_antag in GLOB.antagonists) - if(!fugitive_antag.owner) - continue - fugitives += fugitive_antag - if(!fugitives.len) - return - - var/list/result = list() - - result += "
[fugitives.len] [fugitives.len == 1 ? "fugitive" : "fugitives"] took refuge on [station_name()]!" - - for(var/datum/antagonist/fugitive/antag in fugitives) - if(antag.owner) - result += "[printplayer(antag.owner)]" - - return result.Join("
") diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm index 068117698ff8..be343bb8bc6e 100644 --- a/code/modules/antagonists/fugitive/fugitive_outfits.dm +++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm @@ -152,7 +152,3 @@ ears = /obj/item/radio/headset id = /obj/item/card/id r_hand = /obj/item/storage/firstaid/regular - - backpack_contents = list( - /obj/item/bountytrap = 4 - ) diff --git a/code/modules/antagonists/fugitive/fugitive_ship.dm b/code/modules/antagonists/fugitive/fugitive_ship.dm deleted file mode 100644 index 26d8f42e94b9..000000000000 --- a/code/modules/antagonists/fugitive/fugitive_ship.dm +++ /dev/null @@ -1,47 +0,0 @@ -//works similar to the experiment machine (experiment.dm) except it just holds more and more prisoners - -/obj/machinery/fugitive_capture - name = "bluespace capture machine" - desc = "Much, MUCH bigger on the inside to transport prisoners safely." - icon = 'icons/obj/machines/research.dmi' - icon_state = "bluespace-prison" - density = TRUE - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF //ha ha no getting out!! - -/obj/machinery/fugitive_capture/examine(mob/user) - . = ..() - . += "Add a prisoner by dragging them into the machine." - -/obj/machinery/fugitive_capture/MouseDrop_T(mob/target, mob/user) - var/mob/living/fugitive_hunter = user - if(!isliving(fugitive_hunter)) - return - if(HAS_TRAIT(fugitive_hunter, TRAIT_UI_BLOCKED) || !Adjacent(fugitive_hunter) || !target.Adjacent(fugitive_hunter) || !ishuman(target)) - return - var/mob/living/carbon/human/fugitive = target - var/datum/antagonist/fugitive/fug_antag = fugitive.mind.has_antag_datum(/datum/antagonist/fugitive) - if(!fug_antag) - to_chat(fugitive_hunter, "This is not a wanted fugitive!") - return - if(do_after(fugitive_hunter, 50, target = fugitive)) - add_prisoner(fugitive, fug_antag) - -/obj/machinery/fugitive_capture/proc/add_prisoner(mob/living/carbon/human/fugitive, datum/antagonist/fugitive/antag) - fugitive.forceMove(src) - antag.is_captured = TRUE - to_chat(fugitive, "You are thrown into a vast void of bluespace, and as you fall further into oblivion the comparatively small entrance to reality gets smaller and smaller until you cannot see it anymore. You have failed to avoid capture.") - fugitive.ghostize(TRUE) //so they cannot suicide, round end stuff. - -/obj/structure/closet/crate/eva - name = "EVA crate" - -/obj/structure/closet/crate/eva/PopulateContents() - ..() - for(var/i in 1 to 3) - new /obj/item/clothing/suit/space/eva(src) - for(var/i in 1 to 3) - new /obj/item/clothing/head/helmet/space/eva(src) - for(var/i in 1 to 3) - new /obj/item/clothing/mask/breath(src) - for(var/i in 1 to 3) - new /obj/item/tank/internals/oxygen(src) diff --git a/code/modules/antagonists/fugitive/hunter.dm b/code/modules/antagonists/fugitive/hunter.dm deleted file mode 100644 index 090b243e5310..000000000000 --- a/code/modules/antagonists/fugitive/hunter.dm +++ /dev/null @@ -1,172 +0,0 @@ -//The hunters!! -/datum/antagonist/fugitive_hunter - name = "Fugitive Hunter" - roundend_category = "Fugitive" - silent = TRUE //greet called by the spawn - show_in_antagpanel = FALSE - prevent_roundtype_conversion = FALSE - antag_hud_type = ANTAG_HUD_FUGITIVE - antag_hud_name = "fugitive_hunter" - var/datum/team/fugitive_hunters/hunter_team - var/backstory = "error" - -/datum/antagonist/fugitive_hunter/apply_innate_effects(mob/living/mob_override) - var/mob/living/M = mob_override || owner.current - add_antag_hud(antag_hud_type, antag_hud_name, M) - -/datum/antagonist/fugitive_hunter/remove_innate_effects(mob/living/mob_override) - var/mob/living/M = mob_override || owner.current - remove_antag_hud(antag_hud_type, M) - -/datum/antagonist/fugitive_hunter/on_gain() - forge_objectives() - . = ..() - -/datum/antagonist/fugitive_hunter/proc/forge_objectives() //this isn't an actual objective because it's about round end rosters - var/datum/objective/capture = new /datum/objective - capture.owner = owner - capture.explanation_text = "Capture the fugitives in the station and put them into the bluespace capture machine on your ship." - objectives += capture - -/datum/antagonist/fugitive_hunter/greet() - switch(backstory) - if("space cop") - to_chat(owner, "Justice has arrived. I am a member of the Spacepol!") - to_chat(owner, "The criminals should be on the station, we have special huds implanted to recognize them.") - to_chat(owner, "As we have lost pretty much all power over these damned lawless megacorporations, it's a mystery if their security will cooperate with us.") - if("russian") - to_chat(src, "Ay blyat. I am a space-russian smuggler! We were mid-flight when our cargo was beamed off our ship!") - to_chat(src, "We were hailed by a man in a green uniform, promising the safe return of our goods in exchange for a favor:") - to_chat(src, "There is a local station housing fugitives that the man is after, he wants them returned; dead or alive.") - to_chat(src, "We will not be able to make ends meet without our cargo, so we must do as he says and capture them.") - - to_chat(owner, "You are not an antagonist in that you may kill whomever you please, but you can do anything to ensure the capture of the fugitives, even if that means going through the station.") - owner.announce_objectives() - -/datum/antagonist/fugitive_hunter/create_team(datum/team/fugitive_hunters/new_team) - if(!new_team) - for(var/datum/antagonist/fugitive_hunter/H in GLOB.antagonists) - if(!H.owner) - continue - if(H.hunter_team) - hunter_team = H.hunter_team - return - hunter_team = new /datum/team/fugitive_hunters - hunter_team.backstory = backstory - hunter_team.update_objectives() - return - if(!istype(new_team)) - stack_trace("Wrong team type passed to [type] initialization.") - hunter_team = new_team - -/datum/antagonist/fugitive_hunter/get_team() - return hunter_team - -/datum/team/fugitive_hunters - var/backstory = "error" - -/datum/team/fugitive_hunters/proc/update_objectives(initial = FALSE) - objectives = list() - var/datum/objective/O = new() - O.team = src - objectives += O - -/datum/team/fugitive_hunters/proc/assemble_fugitive_results() - var/list/fugitives_counted = list() - var/list/fugitives_dead = list() - var/list/fugitives_captured = list() - for(var/datum/antagonist/fugitive/A in GLOB.antagonists) - if(!A.owner) - continue - fugitives_counted += A - if(A.owner.current.stat == DEAD) - fugitives_dead += A - if(A.is_captured) - fugitives_captured += A - . = list(fugitives_counted, fugitives_dead, fugitives_captured) //okay, check out how cool this is. - -/datum/team/fugitive_hunters/proc/all_hunters_dead() - var/dead_boys = 0 - for(var/I in members) - var/datum/mind/hunter_mind = I - if(!(ishuman(hunter_mind.current) || (hunter_mind.current.stat == DEAD))) - dead_boys++ - return dead_boys >= members.len - -/datum/team/fugitive_hunters/proc/get_result() - var/list/fugitive_results = assemble_fugitive_results() - var/list/fugitives_counted = fugitive_results[1] - var/list/fugitives_dead = fugitive_results[2] - var/list/fugitives_captured = fugitive_results[3] - var/hunters_dead = all_hunters_dead() - //this gets a little confusing so follow the comments if it helps - if(!fugitives_counted.len) - return - if(fugitives_captured.len)//any captured - if(fugitives_captured.len == fugitives_counted.len)//if the hunters captured all the fugitives, there's a couple special wins - if(!fugitives_dead)//specifically all of the fugitives alive - return FUGITIVE_RESULT_BADASS_HUNTER - else if(hunters_dead)//specifically all of the hunters died (while capturing all the fugitives) - return FUGITIVE_RESULT_POSTMORTEM_HUNTER - else//no special conditional wins, so just the normal major victory - return FUGITIVE_RESULT_MAJOR_HUNTER - else if(!hunters_dead)//so some amount captured, and the hunters survived. - return FUGITIVE_RESULT_HUNTER_VICTORY - else//so some amount captured, but NO survivors. - return FUGITIVE_RESULT_MINOR_HUNTER - else//from here on out, hunters lost because they did not capture any fugitive dead or alive. there are different levels of getting beat though: - if(!fugitives_dead)//all fugitives survived - return FUGITIVE_RESULT_MAJOR_FUGITIVE - else if(fugitives_dead < fugitives_counted)//at least ANY fugitive lived - return FUGITIVE_RESULT_FUGITIVE_VICTORY - else if(!hunters_dead)//all fugitives died, but none were taken in by the hunters. minor win - return FUGITIVE_RESULT_MINOR_FUGITIVE - else//all fugitives died, all hunters died, nobody brought back. seems weird to not give fugitives a victory if they managed to kill the hunters but literally no progress to either goal should lead to a nobody wins situation - return FUGITIVE_RESULT_STALEMATE - -/datum/team/fugitive_hunters/roundend_report() //shows the number of fugitives, but not if they won in case there is no security - if(!members.len) - return - - var/list/result = list() - - result += "
...And [members.len] [backstory]s tried to hunt them down!" - - for(var/datum/mind/M in members) - result += "[printplayer(M)]" - - switch(get_result()) - if(FUGITIVE_RESULT_BADASS_HUNTER)//use defines - result += "Badass [capitalize(backstory)] Victory!" - result += "The [backstory]s managed to capture every fugitive, alive!" - if(FUGITIVE_RESULT_POSTMORTEM_HUNTER) - result += "Postmortem [capitalize(backstory)] Victory!" - result += "The [backstory]s managed to capture every fugitive, but all of them died! Spooky!" - if(FUGITIVE_RESULT_MAJOR_HUNTER) - result += "Major [capitalize(backstory)] Victory" - result += "The [backstory]s managed to capture every fugitive, dead or alive." - if(FUGITIVE_RESULT_HUNTER_VICTORY) - result += "[capitalize(backstory)] Victory" - result += "The [backstory]s managed to capture a fugitive, dead or alive." - if(FUGITIVE_RESULT_MINOR_HUNTER) - result += "Minor [capitalize(backstory)] Victory" - result += "All the [backstory]s died, but managed to capture a fugitive, dead or alive." - if(FUGITIVE_RESULT_STALEMATE) - result += "Bloody Stalemate" - result += "Everyone died, and no fugitives were recovered!" - if(FUGITIVE_RESULT_MINOR_FUGITIVE) - result += "Minor Fugitive Victory" - result += "All the fugitives died, but none were recovered!" - if(FUGITIVE_RESULT_FUGITIVE_VICTORY) - result += "Fugitive Victory" - result += "A fugitive survived, and no bodies were recovered by the [backstory]s." - if(FUGITIVE_RESULT_MAJOR_FUGITIVE) - result += "Major Fugitive Victory" - result += "All of the fugitives survived and avoided capture!" - else //get_result returned null- either bugged or no fugitives showed - result += "Prank Call!" - result += "[capitalize(backstory)]s were called, yet there were no fugitives...?" - - result += "
" - - return result.Join("
") diff --git a/code/modules/antagonists/gang/gang.dm b/code/modules/antagonists/gang/gang.dm index f9264d0bfd9b..8f73b93f8fd4 100644 --- a/code/modules/antagonists/gang/gang.dm +++ b/code/modules/antagonists/gang/gang.dm @@ -198,11 +198,9 @@ roundend_category = "The Tunnel Snakes" gang_name = "Tunnel Snakes" gang_id = "TS" - acceptable_clothes = list(/obj/item/clothing/under/pants/classicjeans, - /obj/item/clothing/suit/jacket, + acceptable_clothes = list(/obj/item/clothing/suit/jacket, /obj/item/clothing/mask/bandana/skull) free_clothes = list(/obj/item/clothing/suit/jacket, - /obj/item/clothing/under/pants/classicjeans, /obj/item/toy/crayon/spraycan) gang_objective = "TUNNEL SNAKES RULE!!! Make sure that everyone knows that, by getting 25% of people on station to wear any part of our uniform! TUNNEL SNAKES RULE!!!" antag_hud_name = "Snakes" diff --git a/code/modules/antagonists/nukeop/equipment/borgchameleon.dm b/code/modules/antagonists/nukeop/equipment/borgchameleon.dm index c87faa0941b8..ddc895060b0c 100644 --- a/code/modules/antagonists/nukeop/equipment/borgchameleon.dm +++ b/code/modules/antagonists/nukeop/equipment/borgchameleon.dm @@ -96,7 +96,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, signalCache) - RegisterSignal(user, signalCache, .proc/disrupt) + RegisterSignal(user, signalCache, PROC_REF(disrupt)) listeningTo = user /obj/item/borg_chameleon/proc/deactivate(mob/living/silicon/robot/user) diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index 9aaa8b989c0d..d0019eb19cc2 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -459,7 +459,7 @@ sound_to_playing_players('sound/machines/alarm.ogg') if(SSticker && SSticker.mode) SSticker.roundend_check_paused = TRUE - addtimer(CALLBACK(src, .proc/actually_explode), 100) + addtimer(CALLBACK(src, PROC_REF(actually_explode)), 100) /obj/machinery/nuclearbomb/proc/actually_explode() if(!core) @@ -494,8 +494,8 @@ SSticker.roundend_check_paused = FALSE /obj/machinery/nuclearbomb/proc/really_actually_explode(off_station) - Cinematic(get_cinematic_type(off_station),world,CALLBACK(SSticker,/datum/controller/subsystem/ticker/proc/station_explosion_detonation,src)) - INVOKE_ASYNC(GLOBAL_PROC,.proc/KillEveryoneOnZLevel, virtual_z()) + Cinematic(get_cinematic_type(off_station),world,CALLBACK(SSticker, TYPE_PROC_REF(/datum/controller/subsystem/ticker, station_explosion_detonation),src)) + INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(KillEveryoneOnZLevel), virtual_z()) /obj/machinery/nuclearbomb/proc/get_cinematic_type(off_station) if(off_station < 2) @@ -540,7 +540,7 @@ var/datum/round_event_control/E = locate(/datum/round_event_control/vent_clog/beer) in SSevents.control if(E) E.runEvent() - addtimer(CALLBACK(src, .proc/really_actually_explode), 110) + addtimer(CALLBACK(src, PROC_REF(really_actually_explode)), 110) /obj/machinery/nuclearbomb/beer/proc/disarm() detonation_timer = null diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm index ab8202527abc..9f807d9521e7 100644 --- a/code/modules/antagonists/nukeop/nukeop.dm +++ b/code/modules/antagonists/nukeop/nukeop.dm @@ -132,8 +132,8 @@ /datum/antagonist/nukeop/get_admin_commands() . = ..() - .["Send to base"] = CALLBACK(src,.proc/admin_send_to_base) - .["Tell code"] = CALLBACK(src,.proc/admin_tell_code) + .["Send to base"] = CALLBACK(src, PROC_REF(admin_send_to_base)) + .["Tell code"] = CALLBACK(src, PROC_REF(admin_tell_code)) /datum/antagonist/nukeop/proc/admin_send_to_base(mob/admin) owner.current.forceMove(pick(GLOB.nukeop_start)) @@ -190,7 +190,7 @@ else H.put_in_hands(dukinuki, TRUE) owner.announce_objectives() - addtimer(CALLBACK(src, .proc/nuketeam_name_assign), 1) + addtimer(CALLBACK(src, PROC_REF(nuketeam_name_assign)), 1) /datum/antagonist/nukeop/leader/proc/nuketeam_name_assign() diff --git a/code/modules/antagonists/pirate/pirate.dm b/code/modules/antagonists/pirate/pirate.dm deleted file mode 100644 index 91bc063869a7..000000000000 --- a/code/modules/antagonists/pirate/pirate.dm +++ /dev/null @@ -1,108 +0,0 @@ -/datum/antagonist/pirate - name = "Space Pirate" - job_rank = ROLE_TRAITOR - roundend_category = "space pirates" - antagpanel_category = "Pirate" - show_to_ghosts = TRUE - var/datum/team/pirate/crew - -/datum/antagonist/pirate/greet() - to_chat(owner, "You are a Space Pirate!") - to_chat(owner, "The station refused to pay for your protection, protect the ship, siphon the credits from the station and raid it for even more loot.") - owner.announce_objectives() - -/datum/antagonist/pirate/get_team() - return crew - -/datum/antagonist/pirate/create_team(datum/team/pirate/new_team) - if(!new_team) - for(var/datum/antagonist/pirate/P in GLOB.antagonists) - if(!P.owner) - continue - if(P.crew) - crew = P.crew - return - if(!new_team) - crew = new /datum/team/pirate - crew.forge_objectives() - return - if(!istype(new_team)) - stack_trace("Wrong team type passed to [type] initialization.") - crew = new_team - -/datum/antagonist/pirate/on_gain() - if(crew) - objectives |= crew.objectives - . = ..() - -/datum/team/pirate - name = "Pirate crew" - -/datum/team/pirate/proc/forge_objectives() - var/datum/objective/loot/getbooty = new() - getbooty.team = src - for(var/obj/machinery/computer/piratepad_control/P in GLOB.machines) - var/area/A = get_area(P) - if(istype(A,/area/shuttle/pirate)) - getbooty.cargo_hold = P - break - getbooty.update_explanation_text() - objectives += getbooty - for(var/datum/mind/M in members) - var/datum/antagonist/pirate/P = M.has_antag_datum(/datum/antagonist/pirate) - if(P) - P.objectives |= objectives - - -/datum/objective/loot - var/obj/machinery/computer/piratepad_control/cargo_hold - explanation_text = "Acquire valuable loot and store it in designated area." - var/target_value = 50000 - - -/datum/objective/loot/update_explanation_text() - if(cargo_hold) - var/area/storage_area = get_area(cargo_hold) - explanation_text = "Acquire loot and store [target_value] of credits worth in [storage_area.name] cargo hold." - -/datum/objective/loot/proc/loot_listing() - //Lists notable loot. - if(!cargo_hold || !cargo_hold.total_report) - return "Nothing" - cargo_hold.total_report.total_value = sortTim(cargo_hold.total_report.total_value, cmp = /proc/cmp_numeric_dsc, associative = TRUE) - var/count = 0 - var/list/loot_texts = list() - for(var/datum/export/E in cargo_hold.total_report.total_value) - if(++count > 5) - break - loot_texts += E.total_printout(cargo_hold.total_report,notes = FALSE) - return loot_texts.Join(", ") - -/datum/objective/loot/proc/get_loot_value() - return cargo_hold ? cargo_hold.points : 0 - -/datum/objective/loot/check_completion() - return ..() || get_loot_value() >= target_value - -/datum/team/pirate/roundend_report() - var/list/parts = list() - - parts += "Space Pirates were:" - - var/all_dead = TRUE - for(var/datum/mind/M in members) - if(considered_alive(M)) - all_dead = FALSE - parts += printplayerlist(members) - - parts += "Loot stolen: " - var/datum/objective/loot/L = locate() in objectives - parts += L.loot_listing() - parts += "Total loot value : [L.get_loot_value()]/[L.target_value] credits" - - if(L.check_completion() && !all_dead) - parts += "The pirate crew was successful!" - else - parts += "The pirate crew has failed." - - return "
[parts.Join("
")]
" diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index 2487260dd5c1..76da8304df09 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -199,7 +199,7 @@ adjustBruteLoss(25) //hella effective inhibited = TRUE update_action_buttons_icon() - addtimer(CALLBACK(src, .proc/reset_inhibit), 30) + addtimer(CALLBACK(src, PROC_REF(reset_inhibit)), 30) /mob/living/simple_animal/revenant/proc/reset_inhibit() inhibited = FALSE @@ -361,7 +361,7 @@ /obj/item/ectoplasm/revenant/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/try_reform), 600) + addtimer(CALLBACK(src, PROC_REF(try_reform)), 600) /obj/item/ectoplasm/revenant/proc/scatter() qdel(src) diff --git a/code/modules/antagonists/revenant/revenant_abilities.dm b/code/modules/antagonists/revenant/revenant_abilities.dm index edccf0775928..b235199ed750 100644 --- a/code/modules/antagonists/revenant/revenant_abilities.dm +++ b/code/modules/antagonists/revenant/revenant_abilities.dm @@ -200,7 +200,7 @@ /obj/effect/proc_holder/spell/aoe_turf/revenant/overload/cast(list/targets, mob/living/simple_animal/revenant/user = usr) if(attempt_cast(user)) for(var/turf/T in targets) - INVOKE_ASYNC(src, .proc/overload, T, user) + INVOKE_ASYNC(src, PROC_REF(overload), T, user) /obj/effect/proc_holder/spell/aoe_turf/revenant/overload/proc/overload(turf/T, mob/user) for(var/obj/machinery/light/L in T) @@ -211,7 +211,7 @@ s.set_up(4, 0, L) s.start() new /obj/effect/temp_visual/revenant(get_turf(L)) - addtimer(CALLBACK(src, .proc/overload_shock, L, user), 20) + addtimer(CALLBACK(src, PROC_REF(overload_shock), L, user), 20) /obj/effect/proc_holder/spell/aoe_turf/revenant/overload/proc/overload_shock(obj/machinery/light/L, mob/user) if(!L.on) //wait, wait, don't shock me @@ -241,7 +241,7 @@ /obj/effect/proc_holder/spell/aoe_turf/revenant/defile/cast(list/targets, mob/living/simple_animal/revenant/user = usr) if(attempt_cast(user)) for(var/turf/T in targets) - INVOKE_ASYNC(src, .proc/defile, T) + INVOKE_ASYNC(src, PROC_REF(defile), T) /obj/effect/proc_holder/spell/aoe_turf/revenant/defile/proc/defile(turf/T) for(var/obj/effect/blessing/B in T) @@ -292,7 +292,7 @@ /obj/effect/proc_holder/spell/aoe_turf/revenant/malfunction/cast(list/targets, mob/living/simple_animal/revenant/user = usr) if(attempt_cast(user)) for(var/turf/T in targets) - INVOKE_ASYNC(src, .proc/malfunction, T, user) + INVOKE_ASYNC(src, PROC_REF(malfunction), T, user) /obj/effect/proc_holder/spell/aoe_turf/revenant/malfunction/proc/malfunction(turf/T, mob/user) for(var/mob/living/simple_animal/bot/bot in T) @@ -335,7 +335,7 @@ /obj/effect/proc_holder/spell/aoe_turf/revenant/blight/cast(list/targets, mob/living/simple_animal/revenant/user = usr) if(attempt_cast(user)) for(var/turf/T in targets) - INVOKE_ASYNC(src, .proc/blight, T, user) + INVOKE_ASYNC(src, PROC_REF(blight), T, user) /obj/effect/proc_holder/spell/aoe_turf/revenant/blight/proc/blight(turf/T, mob/user) for(var/mob/living/mob in T) diff --git a/code/modules/antagonists/revenant/revenant_blight.dm b/code/modules/antagonists/revenant/revenant_blight.dm index 04381477802a..cd1b40957d82 100644 --- a/code/modules/antagonists/revenant/revenant_blight.dm +++ b/code/modules/antagonists/revenant/revenant_blight.dm @@ -62,6 +62,6 @@ affected_mob.dna.species.handle_hair(affected_mob,"#1d2953") affected_mob.visible_message("[affected_mob] looks terrifyingly gaunt...", "You suddenly feel like your skin is wrong...") affected_mob.add_atom_colour("#1d2953", TEMPORARY_COLOUR_PRIORITY) - addtimer(CALLBACK(src, .proc/cure), 100) + addtimer(CALLBACK(src, PROC_REF(cure)), 100) else return diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index b12050c263b7..595fbb27f61a 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -68,7 +68,7 @@ /mob/living/simple_animal/slaughter/phasein() . = ..() add_movespeed_modifier(/datum/movespeed_modifier/slaughter) - addtimer(CALLBACK(src, .proc/remove_movespeed_modifier, /datum/movespeed_modifier/slaughter), 6 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(remove_movespeed_modifier), /datum/movespeed_modifier/slaughter), 6 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) //The loot from killing a slaughter demon - can be consumed to allow the user to blood crawl /obj/item/organ/heart/demon diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index 48b9ecfad259..6fec09373797 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -569,7 +569,7 @@ /obj/structure/swarmer/trap/Initialize(mapload) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index a3e4230373d8..894023d9c194 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -219,7 +219,7 @@ var/mob/living/silicon/ai/A = M if(istype(A) && traitor_kind == TRAITOR_AI) A.hack_software = TRUE - RegisterSignal(M, COMSIG_MOVABLE_HEAR, .proc/handle_hearing) + RegisterSignal(M, COMSIG_MOVABLE_HEAR, PROC_REF(handle_hearing)) /datum/antagonist/traitor/remove_innate_effects(mob/living/mob_override) . = ..() diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index 0add31c60b74..339cd462d5a8 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -338,8 +338,8 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module)) /datum/action/innate/ai/lockdown/Activate() for(var/obj/machinery/door/D in GLOB.airlocks) - INVOKE_ASYNC(D, /obj/machinery/door.proc/hostile_lockdown, owner) - addtimer(CALLBACK(D, /obj/machinery/door.proc/disable_lockdown), 900) + INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door, hostile_lockdown), owner) + addtimer(CALLBACK(D, TYPE_PROC_REF(/obj/machinery/door, disable_lockdown)), 900) var/obj/machinery/computer/communications/C = locate() in GLOB.machines if(C) @@ -347,7 +347,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module)) minor_announce("Hostile runtime detected in door controllers. Isolation lockdown protocols are now in effect. Please remain calm.","Network Alert:", TRUE) to_chat(owner, "Lockdown initiated. Network reset in 90 seconds.") - addtimer(CALLBACK(GLOBAL_PROC, .proc/minor_announce, + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(minor_announce), "Automatic system reboot complete. Have a secure day.", "Network reset:"), 900) @@ -400,7 +400,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module)) attached_action.desc = "[initial(attached_action.desc)] It has [attached_action.uses] use\s remaining." attached_action.UpdateButtonIcon() target.audible_message("You hear a loud electrical buzzing sound coming from [target]!") - addtimer(CALLBACK(attached_action, /datum/action/innate/ai/ranged/override_machine.proc/animate_machine, target), 50) //kabeep! + addtimer(CALLBACK(attached_action, TYPE_PROC_REF(/datum/action/innate/ai/ranged/override_machine, animate_machine), target), 50) //kabeep! remove_ranged_ability("Sending override signal...") return TRUE @@ -483,7 +483,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module)) attached_action.desc = "[initial(attached_action.desc)] It has [attached_action.uses] use\s remaining." attached_action.UpdateButtonIcon() target.audible_message("You hear a loud electrical buzzing sound coming from [target]!") - addtimer(CALLBACK(attached_action, /datum/action/innate/ai/ranged/overload_machine.proc/detonate_machine, target), 50) //kaboom! + addtimer(CALLBACK(attached_action, TYPE_PROC_REF(/datum/action/innate/ai/ranged/overload_machine, detonate_machine), target), 50) //kaboom! remove_ranged_ability("Overcharging machine...") return TRUE @@ -590,7 +590,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module)) I.loc = T client.images += I I.icon_state = "[success ? "green" : "red"]Overlay" //greenOverlay and redOverlay for success and failure respectively - addtimer(CALLBACK(src, .proc/remove_transformer_image, client, I, T), 30) + addtimer(CALLBACK(src, PROC_REF(remove_transformer_image), client, I, T), 30) if(!success) to_chat(src, "[alert_msg]") return success @@ -660,7 +660,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module)) /datum/action/innate/ai/emergency_lights/Activate() for(var/obj/machinery/light/L in GLOB.machines) L.no_emergency = TRUE - INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE) + INVOKE_ASYNC(L, TYPE_PROC_REF(/obj/machinery/light, update), FALSE) CHECK_TICK to_chat(owner, "Emergency light connections severed.") owner.playsound_local(owner, 'sound/effects/light_flicker.ogg', 50, FALSE) diff --git a/code/modules/antagonists/traitor/syndicate_contract.dm b/code/modules/antagonists/traitor/syndicate_contract.dm index 17e841acb5e3..d012949ba054 100644 --- a/code/modules/antagonists/traitor/syndicate_contract.dm +++ b/code/modules/antagonists/traitor/syndicate_contract.dm @@ -61,7 +61,7 @@ /datum/syndicate_contract/proc/launch_extraction_pod(turf/empty_pod_turf) var/obj/structure/closet/supplypod/extractionpod/empty_pod = new() - RegisterSignal(empty_pod, COMSIG_ATOM_ENTERED, .proc/enter_check) + RegisterSignal(empty_pod, COMSIG_ATOM_ENTERED, PROC_REF(enter_check)) empty_pod.stay_after_drop = TRUE empty_pod.reversing = TRUE @@ -156,7 +156,7 @@ /datum/syndicate_contract/proc/handleVictimExperience(mob/living/M) // Ship 'em back - dead or alive, 4 minutes wait. // Even if they weren't the target, we're still treating them the same. - addtimer(CALLBACK(src, .proc/returnVictim, M), (60 * 10) * 4) + addtimer(CALLBACK(src, PROC_REF(returnVictim), M), (60 * 10) * 4) if (M.stat != DEAD) // Heal them up - gets them out of crit/soft crit. If omnizine is removed in the future, this needs to be replaced with a diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm index 01993ee5539e..a95ef0d1b579 100644 --- a/code/modules/antagonists/wizard/equipment/artefact.dm +++ b/code/modules/antagonists/wizard/equipment/artefact.dm @@ -129,7 +129,7 @@ insaneinthemembrane.sanity = 0 for(var/lore in typesof(/datum/brain_trauma/severe)) C.gain_trauma(lore) - addtimer(CALLBACK(src, /obj/singularity/wizard.proc/deranged, C), 100) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/singularity/wizard, deranged), C), 100) /obj/singularity/wizard/proc/deranged(mob/living/carbon/C) if(!C || C.stat == DEAD) @@ -340,7 +340,7 @@ if(BODY_ZONE_PRECISE_EYES) user.set_machine(src) user.reset_perspective(target) - addtimer(CALLBACK(src, .proc/reset, user), 10 SECONDS) + addtimer(CALLBACK(src, PROC_REF(reset), user), 10 SECONDS) if(BODY_ZONE_R_LEG,BODY_ZONE_L_LEG) to_chat(user, "You move the doll's legs around.") var/turf/T = get_step(target,pick(GLOB.cardinals)) diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index 8a13c5c612ed..c426b953f725 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -224,7 +224,7 @@ "Wraith" = image(icon = 'icons/mob/cult.dmi', icon_state = "wraith"), "Artificer" = image(icon = 'icons/mob/cult.dmi', icon_state = "artificer") ) - var/construct_class = show_radial_menu(user, src, constructs, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/construct_class = show_radial_menu(user, src, constructs, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!T || !T.loc) return switch(construct_class) diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index 528fd33db5d4..14cf56d51ae0 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -162,7 +162,7 @@ /datum/antagonist/wizard/get_admin_commands() . = ..() - .["Send to Lair"] = CALLBACK(src,.proc/admin_send_to_lair) + .["Send to Lair"] = CALLBACK(src, PROC_REF(admin_send_to_lair)) /datum/antagonist/wizard/proc/admin_send_to_lair(mob/admin) owner.current.forceMove(pick(GLOB.wizardstart)) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 5c1324bdcfe9..2d5fd3efc9fc 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -35,7 +35,7 @@ /obj/item/assembly/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -75,9 +75,9 @@ //Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs /obj/item/assembly/proc/pulsed(radio = FALSE) if(wire_type & WIRE_RECEIVE) - INVOKE_ASYNC(src, .proc/activate) + INVOKE_ASYNC(src, PROC_REF(activate)) if(radio && (wire_type & WIRE_RADIO_RECEIVE)) - INVOKE_ASYNC(src, .proc/activate) + INVOKE_ASYNC(src, PROC_REF(activate)) return TRUE //Called when this device attempts to act on another device, var/radio determines if it was sent via radio or direct diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index ab64cdc86700..8407f1d8b1a1 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -16,7 +16,7 @@ /obj/item/onetankbomb/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm index 40a10a168ea0..3b8c2c8cf7ba 100644 --- a/code/modules/assembly/doorcontrol.dm +++ b/code/modules/assembly/doorcontrol.dm @@ -28,7 +28,7 @@ if(M.id == src.id) if(openclose == null || !sync_doors) openclose = M.density - INVOKE_ASYNC(M, openclose ? /obj/machinery/door/poddoor.proc/open : /obj/machinery/door/poddoor.proc/close) + INVOKE_ASYNC(M, openclose ? TYPE_PROC_REF(/obj/machinery/door/poddoor, open) : TYPE_PROC_REF(/obj/machinery/door/poddoor, close)) addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10) /obj/item/assembly/control/airlock @@ -71,7 +71,7 @@ D.safe = !D.safe for(var/D in open_or_close) - INVOKE_ASYNC(D, doors_need_closing ? /obj/machinery/door/airlock.proc/close : /obj/machinery/door/airlock.proc/open) + INVOKE_ASYNC(D, doors_need_closing ? TYPE_PROC_REF(/obj/machinery/door/airlock, close) : TYPE_PROC_REF(/obj/machinery/door/airlock, open)) addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10) @@ -86,7 +86,7 @@ cooldown = TRUE for(var/obj/machinery/door/poddoor/M in GLOB.machines) if (M.id == src.id) - INVOKE_ASYNC(M, /obj/machinery/door/poddoor.proc/open) + INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/door/poddoor, open)) sleep(10) @@ -98,7 +98,7 @@ for(var/obj/machinery/door/poddoor/M in GLOB.machines) if (M.id == src.id) - INVOKE_ASYNC(M, /obj/machinery/door/poddoor.proc/close) + INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/door/poddoor, close)) addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10) @@ -113,7 +113,7 @@ cooldown = TRUE for(var/obj/machinery/sparker/M in GLOB.machines) if (M.id == src.id) - INVOKE_ASYNC(M, /obj/machinery/sparker.proc/ignite) + INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/sparker, ignite)) for(var/obj/machinery/igniter/M in GLOB.machines) if(M.id == src.id) @@ -133,7 +133,7 @@ cooldown = TRUE for(var/obj/machinery/flasher/M in GLOB.machines) if(M.id == src.id) - INVOKE_ASYNC(M, /obj/machinery/flasher.proc/flash) + INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/flasher, flash)) addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 50) @@ -163,6 +163,6 @@ cooldown = TRUE for(var/obj/machinery/power/shieldwallgen/machine in GLOB.machines) if(machine.id == src.id) - INVOKE_ASYNC(machine, /obj/machinery/power/shieldwallgen.proc/toggle) + INVOKE_ASYNC(machine, TYPE_PROC_REF(/obj/machinery/power/shieldwallgen, toggle)) addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 20) diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 637157682a15..8fe788f79ca7 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -29,7 +29,7 @@ flashing = flash . = ..() if(flash) - addtimer(CALLBACK(src, /atom/.proc/update_icon), 5) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 5) holder?.update_icon(updates) /obj/item/assembly/flash/update_overlays() @@ -97,7 +97,7 @@ last_trigger = world.time playsound(src, 'sound/weapons/flash.ogg', 100, TRUE) set_light_on(TRUE) - addtimer(CALLBACK(src, .proc/flash_end), FLASH_LIGHT_DURATION, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(flash_end)), FLASH_LIGHT_DURATION, TIMER_OVERRIDE|TIMER_UNIQUE) times_used++ flash_recharge() update_icon(ALL, TRUE) @@ -219,7 +219,7 @@ to_chat(real_arm.owner, "Your photon projector implant overheats and deactivates!") real_arm.Retract() overheat = TRUE - addtimer(CALLBACK(src, .proc/cooldown), flashcd * 2) + addtimer(CALLBACK(src, PROC_REF(cooldown)), flashcd * 2) /obj/item/assembly/flash/armimplant/try_use_flash(mob/user = null) if(overheat) @@ -228,7 +228,7 @@ to_chat(real_arm.owner, "Your photon projector is running too hot to be used again so quickly!") return FALSE overheat = TRUE - addtimer(CALLBACK(src, .proc/cooldown), flashcd) + addtimer(CALLBACK(src, PROC_REF(cooldown)), flashcd) playsound(src, 'sound/weapons/flash.ogg', 100, TRUE) update_icon(ALL, TRUE) return TRUE diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 4d2ffdac5d4e..8dbb1dc98b61 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -17,7 +17,7 @@ /obj/item/assembly_holder/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index bc8fdcc3d908..72d7bfd45a30 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -22,7 +22,7 @@ /obj/item/assembly/infra/ComponentInitialize() . = ..() var/static/rotation_flags = ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_FLIP | ROTATION_VERBS - AddComponent(/datum/component/simple_rotation, rotation_flags, after_rotation=CALLBACK(src,.proc/after_rotation)) + AddComponent(/datum/component/simple_rotation, rotation_flags, after_rotation=CALLBACK(src, PROC_REF(after_rotation))) /obj/item/assembly/infra/proc/after_rotation() refreshBeam() @@ -162,7 +162,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, COMSIG_ATOM_EXITED) - RegisterSignal(newloc, COMSIG_ATOM_EXITED, .proc/check_exit) + RegisterSignal(newloc, COMSIG_ATOM_EXITED, PROC_REF(check_exit)) listeningTo = newloc /obj/item/assembly/infra/proc/check_exit(datum/source, atom/movable/offender) @@ -176,7 +176,7 @@ var/obj/item/I = offender if (I.item_flags & ABSTRACT) return - INVOKE_ASYNC(src, .proc/refreshBeam) + INVOKE_ASYNC(src, PROC_REF(refreshBeam)) /obj/item/assembly/infra/setDir() . = ..() @@ -230,7 +230,7 @@ /obj/effect/beam/i_beam/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -242,4 +242,4 @@ var/obj/item/I = AM if (I.item_flags & ABSTRACT) return - INVOKE_ASYNC(master, /obj/item/assembly/infra/proc/trigger_beam, AM, get_turf(src)) + INVOKE_ASYNC(master, TYPE_PROC_REF(/obj/item/assembly/infra, trigger_beam), AM, get_turf(src)) diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index bf9353a658d9..25b6ce470466 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -114,15 +114,15 @@ if(ishuman(AM)) var/mob/living/carbon/H = AM if(H.m_intent == MOVE_INTENT_RUN) - INVOKE_ASYNC(src, .proc/triggered, H) + INVOKE_ASYNC(src, PROC_REF(triggered), H) H.visible_message( "[H] accidentally steps on [src].", "You accidentally step on [src]" ) else if(ismouse(MM)) - INVOKE_ASYNC(src, .proc/triggered, MM) + INVOKE_ASYNC(src, PROC_REF(triggered), MM) else if(AM.density) // For mousetrap grenades, set off by anything heavy - INVOKE_ASYNC(src, .proc/triggered, AM) + INVOKE_ASYNC(src, PROC_REF(triggered), AM) /obj/item/assembly/mousetrap/on_found(mob/finder) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 0ff3fadae733..0bfac86ee0df 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -61,7 +61,7 @@ switch(action) if("signal") - INVOKE_ASYNC(src, .proc/signal) + INVOKE_ASYNC(src, PROC_REF(signal)) . = TRUE if("freq") frequency = unformat_frequency(params["freq"]) diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index d154121956c9..84f1a5040015 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -41,7 +41,7 @@ record_speech(speaker, raw_message, message_language) else if(check_activation(speaker, raw_message)) - addtimer(CALLBACK(src, .proc/pulse, 0), 10) + addtimer(CALLBACK(src, PROC_REF(pulse), 0), 10) /obj/item/assembly/voice/proc/record_speech(atom/movable/speaker, raw_message, datum/language/message_language) switch(mode) @@ -59,7 +59,7 @@ say("Your voice pattern is saved.", message_language) if(VOICE_SENSOR_MODE) if(length(raw_message)) - addtimer(CALLBACK(src, .proc/pulse, 0), 10) + addtimer(CALLBACK(src, PROC_REF(pulse), 0), 10) /obj/item/assembly/voice/proc/check_activation(atom/movable/speaker, raw_message) . = FALSE diff --git a/code/modules/asset_cache/transports/asset_transport.dm b/code/modules/asset_cache/transports/asset_transport.dm index 9f1073c9c9f0..5fbc239e45b8 100644 --- a/code/modules/asset_cache/transports/asset_transport.dm +++ b/code/modules/asset_cache/transports/asset_transport.dm @@ -14,7 +14,7 @@ /datum/asset_transport/proc/Load() if (CONFIG_GET(flag/asset_simple_preload)) for(var/client/C in GLOB.clients) - addtimer(CALLBACK(src, .proc/send_assets_slow, C, preload), 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(send_assets_slow), C, preload), 1 SECONDS) /// Initialize - Called when SSassets initializes. /datum/asset_transport/proc/Initialize(list/assets) @@ -22,7 +22,7 @@ if (!CONFIG_GET(flag/asset_simple_preload)) return for(var/client/C in GLOB.clients) - addtimer(CALLBACK(src, .proc/send_assets_slow, C, preload), 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(send_assets_slow), C, preload), 1 SECONDS) /** @@ -137,7 +137,7 @@ client.sent_assets[new_asset_name] = ACI.hash - addtimer(CALLBACK(client, /client/proc/asset_cache_update_json), 1 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(client, TYPE_PROC_REF(/client, asset_cache_update_json)), 1 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) return TRUE return FALSE diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index 428e8b5a6d18..041f09cddc9b 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -60,7 +60,7 @@ air_update_turf() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/atmospherics/gasmixtures/auxgm.dm b/code/modules/atmospherics/gasmixtures/auxgm.dm index 924e90b4767c..40691d8e5079 100644 --- a/code/modules/atmospherics/gasmixtures/auxgm.dm +++ b/code/modules/atmospherics/gasmixtures/auxgm.dm @@ -138,7 +138,7 @@ GLOBAL_DATUM_INIT(gas_data, /datum/auxgm, new) mouse_opacity = MOUSE_OPACITY_TRANSPARENT anchored = TRUE // should only appear in vis_contents, but to be safe layer = FLY_LAYER - appearance_flags = TILE_BOUND + appearance_flags = TILE_BOUND | RESET_COLOR vis_flags = NONE /obj/effect/overlay/gas/New(state) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm index 0d93d554c47f..1f7b18ead917 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm @@ -199,7 +199,7 @@ if("set_external_pressure" in signal.data) external_pressure_bound = clamp(text2num(signal.data["set_external_pressure"]),0,ONE_ATMOSPHERE*50) - addtimer(CALLBACK(src, .proc/broadcast_status), 2) + addtimer(CALLBACK(src, PROC_REF(broadcast_status)), 2) if(!("status" in signal.data)) //do not update_icon update_appearance() @@ -291,10 +291,6 @@ id_tag = INCINERATOR_ATMOS_DP_VENTPUMP frequency = FREQ_AIRLOCK_CONTROL -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_syndicatelava - id_tag = INCINERATOR_SYNDICATELAVA_DP_VENTPUMP - frequency = FREQ_AIRLOCK_CONTROL - /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2 piping_layer = 2 icon_state = "dpvent_map-2" diff --git a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm index 0631fac4856c..020570f34785 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm @@ -49,7 +49,7 @@ It's like a regular ol' straight pipe, but you can turn it on and off. return update_icon_nopipes(TRUE) switching = TRUE - addtimer(CALLBACK(src, .proc/finish_interact), 10) + addtimer(CALLBACK(src, PROC_REF(finish_interact)), 10) /obj/machinery/atmospherics/components/binary/valve/proc/finish_interact() toggle() diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm index 1fdc91effb44..ad8dd9761598 100644 --- a/code/modules/atmospherics/machinery/components/components_base.dm +++ b/code/modules/atmospherics/machinery/components/components_base.dm @@ -27,7 +27,7 @@ . = ..() if(hide) - RegisterSignal(src, COMSIG_OBJ_HIDE, .proc/hide_pipe) + RegisterSignal(src, COMSIG_OBJ_HIDE, PROC_REF(hide_pipe)) // Iconnery diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 3864bc2ada18..8f547335e9e0 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -166,7 +166,7 @@ occupant_overlay.pixel_y-- add_overlay(occupant_overlay) add_overlay("cover-on") - addtimer(CALLBACK(src, .proc/run_anim, anim_up, occupant_overlay), 7, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(run_anim), anim_up, occupant_overlay), 7, TIMER_UNIQUE) /obj/machinery/atmospherics/components/unary/cryo_cell/on_set_is_operational(old_value) if(old_value) //Turned off diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm index d70e91b29de7..d3a4b115278f 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm @@ -125,7 +125,7 @@ on = !on if("inject" in signal.data) - INVOKE_ASYNC(src, .proc/inject) + INVOKE_ASYNC(src, PROC_REF(inject)) return if("set_volume_rate" in signal.data) @@ -133,7 +133,7 @@ var/datum/gas_mixture/air_contents = airs[1] volume_rate = clamp(number, 0, air_contents.return_volume()) - addtimer(CALLBACK(src, .proc/broadcast_status), 2) + addtimer(CALLBACK(src, PROC_REF(broadcast_status)), 2) if(!("status" in signal.data)) //do not update_icon update_appearance() diff --git a/code/modules/awaymissions/away_props.dm b/code/modules/awaymissions/away_props.dm index f7eeeb9f7f96..a29d48657446 100644 --- a/code/modules/awaymissions/away_props.dm +++ b/code/modules/awaymissions/away_props.dm @@ -65,7 +65,7 @@ /obj/structure/pitgrate/Initialize() . = ..() - RegisterSignal(SSdcs,COMSIG_GLOB_BUTTON_PRESSED, .proc/OnButtonPressed) + RegisterSignal(SSdcs,COMSIG_GLOB_BUTTON_PRESSED, PROC_REF(OnButtonPressed)) if(hidden) update_openspace() @@ -91,7 +91,7 @@ obj_flags |= BLOCK_Z_OUT_DOWN | BLOCK_Z_IN_UP plane = BYOND_LIGHTING_LAYER //What matters it's one above openspace, so our animation is not dependant on what's there. Up to revision with 513 animate(src,alpha = talpha,time = 10) - addtimer(CALLBACK(src,.proc/reset_plane),10) + addtimer(CALLBACK(src, PROC_REF(reset_plane)),10) if(hidden) update_openspace() var/turf/T = get_turf(src) diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index abf9ba4f5e16..77c655c38247 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -40,7 +40,7 @@ if(!reset) reset = new reset_path(get_turf(src)) reset.flag = src - RegisterSignal(src, COMSIG_PARENT_PREQDELETED, .proc/reset_flag) //just in case CTF has some map hazards (read: chasms). + RegisterSignal(src, COMSIG_PARENT_PREQDELETED, PROC_REF(reset_flag)) //just in case CTF has some map hazards (read: chasms). /obj/item/ctf/ComponentInitialize() . = ..() @@ -283,7 +283,7 @@ var/turf/T = get_turf(body) new /obj/effect/ctf/ammo(T) recently_dead_ckeys += body.ckey - addtimer(CALLBACK(src, .proc/clear_cooldown, body.ckey), respawn_cooldown, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(clear_cooldown), body.ckey), respawn_cooldown, TIMER_UNIQUE) body.dust() /obj/machinery/capture_the_flag/proc/clear_cooldown(ckey) @@ -407,7 +407,7 @@ /obj/item/gun/ballistic/automatic/pistol/deagle/ctf/dropped() . = ..() - addtimer(CALLBACK(src, .proc/floor_vanish), 1) + addtimer(CALLBACK(src, PROC_REF(floor_vanish)), 1) /obj/item/gun/ballistic/automatic/pistol/deagle/ctf/proc/floor_vanish() if(isturf(loc)) @@ -435,7 +435,7 @@ /obj/item/gun/ballistic/automatic/laser/ctf/dropped() . = ..() - addtimer(CALLBACK(src, .proc/floor_vanish), 1) + addtimer(CALLBACK(src, PROC_REF(floor_vanish)), 1) /obj/item/gun/ballistic/automatic/laser/ctf/proc/floor_vanish() if(isturf(loc)) @@ -446,7 +446,7 @@ /obj/item/ammo_box/magazine/recharge/ctf/dropped() . = ..() - addtimer(CALLBACK(src, .proc/floor_vanish), 1) + addtimer(CALLBACK(src, PROC_REF(floor_vanish)), 1) /obj/item/ammo_box/magazine/recharge/ctf/proc/floor_vanish() if(isturf(loc)) @@ -637,7 +637,7 @@ /obj/effect/ctf/ammo/Initialize(mapload) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) QDEL_IN(src, AMMO_DROP_LIFETIME) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 0caf1d7c4e3d..253d4c49eb3d 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -57,7 +57,7 @@ /obj/effect/mob_spawn/Initialize(mapload) . = ..() if(instant || (roundstart && (mapload || (SSticker && SSticker.current_state > GAME_STATE_SETTING_UP)))) - INVOKE_ASYNC(src, .proc/create) + INVOKE_ASYNC(src, PROC_REF(create)) else if(ghost_usable) GLOB.poi_list |= src LAZYADD(GLOB.mob_spawners[name], src) @@ -465,8 +465,8 @@ name = "Beach Bum" glasses = /obj/item/clothing/glasses/sunglasses r_pocket = /obj/item/storage/wallet/random - l_pocket = /obj/item/reagent_containers/food/snacks/pizzaslice/dank; - uniform = /obj/item/clothing/under/pants/youngfolksjeans + l_pocket = /obj/item/reagent_containers/food/snacks/pizzaslice/dank + uniform = /obj/item/clothing/under/pants/jeans id = /obj/item/card/id /datum/outfit/beachbum/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 189fe1ebfd11..a643be115aab 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -89,7 +89,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) /datum/gateway_destination/gateway/post_transfer(atom/movable/AM) . = ..() - addtimer(CALLBACK(AM,/atom/movable.proc/setDir,SOUTH),0) + addtimer(CALLBACK(AM, TYPE_PROC_REF(/atom/movable, setDir),SOUTH),0) /* Special home destination, so we can check exile implants */ /datum/gateway_destination/gateway/home diff --git a/code/modules/awaymissions/mission_code/Academy.dm b/code/modules/awaymissions/mission_code/Academy.dm index 9fe39716543d..a4b9098c77a1 100644 --- a/code/modules/awaymissions/mission_code/Academy.dm +++ b/code/modules/awaymissions/mission_code/Academy.dm @@ -212,7 +212,7 @@ var/turf/T = get_turf(src) T.visible_message("[src] flares briefly.") - addtimer(CALLBACK(src, .proc/effect, user, .), 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(effect), user, .), 1 SECONDS) /obj/item/dice/d20/fate/equipped(mob/user, slot) . = ..() diff --git a/code/modules/awaymissions/mission_code/murderdome.dm b/code/modules/awaymissions/mission_code/murderdome.dm index 695692ed331f..914a1f2828c7 100644 --- a/code/modules/awaymissions/mission_code/murderdome.dm +++ b/code/modules/awaymissions/mission_code/murderdome.dm @@ -33,7 +33,7 @@ /obj/effect/murderdome/dead_barricade/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/respawn), 3 MINUTES) + addtimer(CALLBACK(src, PROC_REF(respawn)), 3 MINUTES) /obj/effect/murderdome/dead_barricade/proc/respawn() if(!QDELETED(src)) diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index 35396ddded18..26c6b4823dce 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -19,7 +19,7 @@ /obj/effect/meatgrinder/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/awaymissions/super_secret_room.dm b/code/modules/awaymissions/super_secret_room.dm index fcefdef265fe..bef302de217c 100644 --- a/code/modules/awaymissions/super_secret_room.dm +++ b/code/modules/awaymissions/super_secret_room.dm @@ -129,7 +129,7 @@ var/newcolor = color2hex(pick(10;"green", 5;"blue", 3;"red", 1;"purple")) add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -138,7 +138,7 @@ if(!ismob(AM)) return var/mob/M = AM - INVOKE_ASYNC(src, .proc/do_hand_stuff, M) + INVOKE_ASYNC(src, PROC_REF(do_hand_stuff), M) /obj/item/rupee/proc/do_hand_stuff(mob/M) if(M.put_in_hands(src)) diff --git a/code/modules/balloon_alert/balloon_alert.dm b/code/modules/balloon_alert/balloon_alert.dm index c27372260789..db4453bfa6b6 100644 --- a/code/modules/balloon_alert/balloon_alert.dm +++ b/code/modules/balloon_alert/balloon_alert.dm @@ -12,7 +12,7 @@ /atom/proc/balloon_alert(mob/viewer, text) SHOULD_NOT_SLEEP(TRUE) - INVOKE_ASYNC(src, .proc/balloon_alert_perform, viewer, text) + INVOKE_ASYNC(src, PROC_REF(balloon_alert_perform), viewer, text) /// Create balloon alerts (text that floats up) to everything within range. /// Will only display to people who can see. @@ -79,7 +79,7 @@ easing = CUBIC_EASING | EASE_IN, ) - addtimer(CALLBACK(GLOBAL_PROC, .proc/remove_image_from_client, balloon_alert, viewer_client), BALLOON_TEXT_TOTAL_LIFETIME(duration_mult)) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(remove_image_from_client), balloon_alert, viewer_client), BALLOON_TEXT_TOTAL_LIFETIME(duration_mult)) #undef BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MIN #undef BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULT diff --git a/code/modules/buildmode/buildmode.dm b/code/modules/buildmode/buildmode.dm index 74ac431c5fe9..700485eb1d7f 100644 --- a/code/modules/buildmode/buildmode.dm +++ b/code/modules/buildmode/buildmode.dm @@ -29,7 +29,7 @@ mode = new /datum/buildmode_mode/basic(src) holder = c buttons = list() - li_cb = CALLBACK(src, .proc/post_login) + li_cb = CALLBACK(src, PROC_REF(post_login)) holder.player_details.post_login_callbacks += li_cb holder.show_popup_menus = FALSE create_buttons() diff --git a/code/modules/cargo/bounties/assistant.dm b/code/modules/cargo/bounties/assistant.dm index e7b13006a7a7..32c9d167f92d 100644 --- a/code/modules/cargo/bounties/assistant.dm +++ b/code/modules/cargo/bounties/assistant.dm @@ -139,12 +139,6 @@ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/poppy) include_subtypes = FALSE -/datum/bounty/item/assistant/shadyjims - name = "Shady Jim's" - description = "There's an irate officer at CentCom demanding that he receive a box of Shady Jim's cigarettes. Please ship one. He's starting to make threats." - reward = 500 - wanted_types = list(/obj/item/storage/fancy/cigarettes/cigpack_shadyjims) - /datum/bounty/item/assistant/potted_plants name = "Potted Plants" description = "Central Command is looking to commission a new BirdBoat-class station. You've been ordered to supply the potted plants." diff --git a/code/modules/cargo/gondolapod.dm b/code/modules/cargo/gondolapod.dm index 42aea5437c4b..560fc46668de 100644 --- a/code/modules/cargo/gondolapod.dm +++ b/code/modules/cargo/gondolapod.dm @@ -69,7 +69,7 @@ /mob/living/simple_animal/pet/gondola/gondolapod/setOpened() opened = TRUE update_appearance() - addtimer(CALLBACK(src, /atom/.proc/setClosed), 50) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, setClosed)), 50) /mob/living/simple_animal/pet/gondola/gondolapod/setClosed() opened = FALSE diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index 9bb96a14be5c..33a5ee37be02 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -22,6 +22,15 @@ /obj/item/ammo_box/magazine/m45) cost = 1500 +/datum/supply_pack/ammo/m45_speedloader + name = ".45 ACP Speedloader Crate" + desc = "Contains four .45 ACP speedloaders for revolvers, each containing six rounds." + contains = list(/obj/item/ammo_box/c45_speedloader, + /obj/item/ammo_box/c45_speedloader, + /obj/item/ammo_box/c45_speedloader, + /obj/item/ammo_box/c45_speedloader) + cost = 1500 + /datum/supply_pack/ammo/c38_mag name = ".38 Speedloader Crate" desc = "Contains four .38 speedloaders for revolvers, each containing six rounds." diff --git a/code/modules/cargo/packs/civilian.dm b/code/modules/cargo/packs/civilian.dm index 953196411f9e..154dce436ee7 100644 --- a/code/modules/cargo/packs/civilian.dm +++ b/code/modules/cargo/packs/civilian.dm @@ -53,6 +53,20 @@ Bundles */ +/datum/supply_pack/civilian/sauna_starter + name = "DIY Sauna Crate" + desc = "A Kalixcian staple. Comes with a set of five freshly cleaned towels, and enough wood to make your very own Sauna. Water not included." + cost = 500 + contains = list(/obj/item/stack/sheet/mineral/wood/twentyfive, + /obj/item/reagent_containers/glass/bucket/wooden, + /obj/item/towel, + /obj/item/towel, + /obj/item/towel, + /obj/item/towel, + /obj/item/towel,) + crate_name = "sauna starter crate" + crate_type = /obj/structure/closet/crate/wooden + /datum/supply_pack/civilian/book_crate name = "Book Crate" desc = "Surplus from the Nanotrasen Archives, these six books are sure to be good reads." @@ -272,7 +286,6 @@ crate_name = "masterwork fishing rod case" crate_type = /obj/structure/closet/crate/wooden - /datum/supply_pack/civilian/fishinghooks name = "Fishing Hook Variety Pack" desc = "A variety of fishing hooks to allow for more specialized fishing." diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index b91fe38e0390..6ca715889855 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -39,12 +39,18 @@ /obj/item/gun/ballistic/revolver) /datum/supply_pack/gun/detrevolver - name = "Revolver crate" + name = "Hunter's Pride Detective Revolver crate" desc = "Contains two concealable Solarian revolvers, chambered in .38." cost = 2000 contains = list(/obj/item/gun/ballistic/revolver/detective, /obj/item/gun/ballistic/revolver/detective) +/datum/supply_pack/gun/cattlemanrevolver + name = "Cattleman Revolver crate" + desc = "Contains two concealable Cattleman revolvers, chambered in .45 ACP." + cost = 2500 + contains = list(/obj/item/gun/ballistic/revolver/cattleman, + /obj/item/gun/ballistic/revolver/cattleman) /* diff --git a/code/modules/cargo/packs/tools.dm b/code/modules/cargo/packs/tools.dm index 2afbe0e85c2f..3d5389e23327 100644 --- a/code/modules/cargo/packs/tools.dm +++ b/code/modules/cargo/packs/tools.dm @@ -116,24 +116,24 @@ crate_type = /obj/structure/closet/crate/large /datum/supply_pack/tools/watertank - name = "Water Tank Crate" + name = "Fresh Water Supply Crate" desc = "Contains a tank of dihydrogen monoxide. Sounds dangerous." - cost = 600 + cost = 500 contains = list(/obj/structure/reagent_dispensers/watertank) crate_name = "water tank crate" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/tools/hightank - name = "Large Water Tank Crate" + name = "Large Fresh Water Supply Crate" desc = "Contains a high-capacity water tank. Useful for botany or other service jobs." - cost = 1200 + cost = 1500 contains = list(/obj/structure/reagent_dispensers/watertank/high) crate_name = "high-capacity water tank crate" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/tools/foamtank name = "Firefighting Foam Tank Crate" - desc = "Contains a tank of firefighting foam. Also known as \"plasmaman's bane\"." + desc = "Contains a tank of firefighting foam. Also known as \"Phorid's Bane\"." cost = 1500 contains = list(/obj/structure/reagent_dispensers/foamtank) crate_name = "foam tank crate" diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm index e1568ae1adee..16b43704df58 100644 --- a/code/modules/cargo/supplypod.dm +++ b/code/modules/cargo/supplypod.dm @@ -264,11 +264,11 @@ var/mob/living/simple_animal/pet/gondola/gondolapod/benis = new(turf_underneath, src) benis.contents |= contents //Move the contents of this supplypod into the gondolapod mob. moveToNullspace() - addtimer(CALLBACK(src, .proc/open_pod, benis), delays[POD_OPENING]) //After the opening delay passes, we use the open proc from this supplyprod while referencing the contents of the "holder", in this case the gondolapod mob + addtimer(CALLBACK(src, PROC_REF(open_pod), benis), delays[POD_OPENING]) //After the opening delay passes, we use the open proc from this supplyprod while referencing the contents of the "holder", in this case the gondolapod mob else if (style == STYLE_SEETHROUGH) open_pod(src) else - addtimer(CALLBACK(src, .proc/open_pod, src), delays[POD_OPENING]) //After the opening delay passes, we use the open proc from this supplypod, while referencing this supplypod's contents + addtimer(CALLBACK(src, PROC_REF(open_pod), src), delays[POD_OPENING]) //After the opening delay passes, we use the open proc from this supplypod, while referencing this supplypod's contents /obj/structure/closet/supplypod/proc/open_pod(atom/movable/holder, broken = FALSE, forced = FALSE) //The holder var represents an atom whose contents we will be working with if (!holder) @@ -297,9 +297,9 @@ startExitSequence(src) else if (reversing) - addtimer(CALLBACK(src, .proc/SetReverseIcon), delays[POD_LEAVING]/2) //Finish up the pod's duties after a certain amount of time + addtimer(CALLBACK(src, PROC_REF(SetReverseIcon)), delays[POD_LEAVING]/2) //Finish up the pod's duties after a certain amount of time if(!stay_after_drop) // Departing should be handled manually - addtimer(CALLBACK(src, .proc/startExitSequence, holder), delays[POD_LEAVING]*(4/5)) //Finish up the pod's duties after a certain amount of time + addtimer(CALLBACK(src, PROC_REF(startExitSequence), holder), delays[POD_LEAVING]*(4/5)) //Finish up the pod's duties after a certain amount of time /obj/structure/closet/supplypod/proc/startExitSequence(atom/movable/holder) if (leavingSound) @@ -320,7 +320,7 @@ take_contents(holder) playsound(holder, close_sound, soundVolume*0.75, TRUE, -3) holder.setClosed() - addtimer(CALLBACK(src, .proc/preReturn, holder), delays[POD_LEAVING] * 0.2) //Start to leave a bit after closing for cinematic effect + addtimer(CALLBACK(src, PROC_REF(preReturn), holder), delays[POD_LEAVING] * 0.2) //Start to leave a bit after closing for cinematic effect /obj/structure/closet/supplypod/take_contents(atom/movable/holder) var/turf/turf_underneath = holder.drop_location() @@ -398,7 +398,7 @@ animate(holder, alpha = 0, time = 8, easing = QUAD_EASING|EASE_IN, flags = ANIMATION_PARALLEL) animate(holder, pixel_z = 400, time = 10, easing = QUAD_EASING|EASE_IN, flags = ANIMATION_PARALLEL) //Animate our rising pod - addtimer(CALLBACK(src, .proc/handleReturnAfterDeparting, holder), 15) //Finish up the pod's duties after a certain amount of time + addtimer(CALLBACK(src, PROC_REF(handleReturnAfterDeparting), holder), 15) //Finish up the pod's duties after a certain amount of time /obj/structure/closet/supplypod/setOpened() //Proc exists here, as well as in any atom that can assume the role of a "holder" of a supplypod. Check the open_pod() proc for more details opened = TRUE @@ -578,8 +578,8 @@ if (soundStartTime < 0) soundStartTime = 1 if (!pod.effectQuiet && !(pod.pod_flags & FIRST_SOUNDS)) - addtimer(CALLBACK(src, .proc/playFallingSound), soundStartTime) - addtimer(CALLBACK(src, .proc/beginLaunch, pod.effectCircle), pod.delays[POD_TRANSIT]) + addtimer(CALLBACK(src, PROC_REF(playFallingSound)), soundStartTime) + addtimer(CALLBACK(src, PROC_REF(beginLaunch), pod.effectCircle), pod.delays[POD_TRANSIT]) /obj/effect/pod_landingzone/proc/playFallingSound() playsound(src, pod.fallingSound, pod.soundVolume, 1, 6) @@ -602,7 +602,7 @@ if (pod.style != STYLE_INVISIBLE) animate(pod.get_filter("motionblur"), y = 0, time = pod.delays[POD_FALLING], flags = ANIMATION_PARALLEL) animate(pod, pixel_z = -1 * abs(sin(rotation))*4, pixel_x = SUPPLYPOD_X_OFFSET + (sin(rotation) * 20), time = pod.delays[POD_FALLING], easing = LINEAR_EASING, flags = ANIMATION_PARALLEL) //Make the pod fall! At an angle! - addtimer(CALLBACK(src, .proc/endLaunch), pod.delays[POD_FALLING], TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation + addtimer(CALLBACK(src, PROC_REF(endLaunch)), pod.delays[POD_FALLING], TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation /obj/effect/pod_landingzone/proc/setupSmoke(rotation) if (pod.style == STYLE_INVISIBLE || pod.style == STYLE_SEETHROUGH) @@ -618,7 +618,7 @@ smoke_part.pixel_y = abs(cos(rotation))*32 * i smoke_part.filters += filter(type = "blur", size = 4) var/time = (pod.delays[POD_FALLING] / length(smoke_effects))*(length(smoke_effects)-i) - addtimer(CALLBACK(smoke_part, /obj/effect/supplypod_smoke/.proc/drawSelf, i), time, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation + addtimer(CALLBACK(smoke_part, TYPE_PROC_REF(/obj/effect/supplypod_smoke, drawSelf), i), time, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation QDEL_IN(smoke_part, pod.delays[POD_FALLING] + 35) /obj/effect/pod_landingzone/proc/drawSmoke() diff --git a/code/modules/cargo/supplypod_beacon.dm b/code/modules/cargo/supplypod_beacon.dm index b5ae8023bb4d..11fd10229e5e 100644 --- a/code/modules/cargo/supplypod_beacon.dm +++ b/code/modules/cargo/supplypod_beacon.dm @@ -23,7 +23,7 @@ launched = TRUE playsound(src,'sound/machines/triple_beep.ogg',50,FALSE) playsound(src,'sound/machines/warning-buzzer.ogg',50,FALSE) - addtimer(CALLBACK(src, .proc/endLaunch), 33)//wait 3.3 seconds (time it takes for supplypod to land), then update icon + addtimer(CALLBACK(src, PROC_REF(endLaunch)), 33)//wait 3.3 seconds (time it takes for supplypod to land), then update icon if (SP_UNLINK) linked = FALSE playsound(src,'sound/machines/synth_no.ogg',50,FALSE) diff --git a/code/modules/client/client_colour.dm b/code/modules/client/client_colour.dm index 6357229e02db..b569faf75b10 100644 --- a/code/modules/client/client_colour.dm +++ b/code/modules/client/client_colour.dm @@ -204,7 +204,7 @@ /datum/client_colour/bloodlust/New(mob/_owner) ..() - addtimer(CALLBACK(src, .proc/update_colour, list(1,0,0,0.8,0.2,0, 0.8,0,0.2,0.1,0,0), 10, SINE_EASING|EASE_OUT), 1) + addtimer(CALLBACK(src, PROC_REF(update_colour), list(1,0,0,0.8,0.2,0, 0.8,0,0.2,0.1,0,0), 10, SINE_EASING|EASE_OUT), 1) /datum/client_colour/thirdeye colour = list( diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 300cbc809cfc..334818c0e1f9 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -139,7 +139,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( //fun fact: Topic() acts like a verb and is executed at the end of the tick like other verbs. So we have to queue it if the server is //overloaded - if(hsrc && hsrc != holder && DEFAULT_TRY_QUEUE_VERB(VERB_CALLBACK(src, .proc/_Topic, hsrc, href, href_list))) + if(hsrc && hsrc != holder && DEFAULT_TRY_QUEUE_VERB(VERB_CALLBACK(src, PROC_REF(_Topic), hsrc, href, href_list))) return ..() //redirect to hsrc.Topic() @@ -347,7 +347,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( // Initialize tgui panel src << browse(file('html/statbrowser.html'), "window=statbrowser") - addtimer(CALLBACK(src, .proc/check_panel_loaded), 30 SECONDS) + addtimer(CALLBACK(src, PROC_REF(check_panel_loaded)), 30 SECONDS) tgui_panel.initialize() if(alert_mob_dupe_login) @@ -954,7 +954,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( //Precache the client with all other assets slowly, so as to not block other browse() calls if (CONFIG_GET(flag/asset_simple_preload)) - addtimer(CALLBACK(SSassets.transport, /datum/asset_transport.proc/send_assets_slow, src, SSassets.transport.preload), 5 SECONDS) + addtimer(CALLBACK(SSassets.transport, TYPE_PROC_REF(/datum/asset_transport, send_assets_slow), src, SSassets.transport.preload), 5 SECONDS) #if (PRELOAD_RSC == 0) for (var/name in GLOB.vox_sounds) diff --git a/code/modules/client/loadout/loadout_uniform.dm b/code/modules/client/loadout/loadout_uniform.dm index 4f88e6d1a905..4edb59b74076 100644 --- a/code/modules/client/loadout/loadout_uniform.dm +++ b/code/modules/client/loadout/loadout_uniform.dm @@ -91,10 +91,6 @@ display_name = "jeans" path = /obj/item/clothing/under/pants/jeans -/datum/gear/uniform/pants/classicjeans - display_name = "classic jeans" - path = /obj/item/clothing/under/pants/classicjeans - /datum/gear/uniform/pants/khaki display_name = "khaki pants" path = /obj/item/clothing/under/pants/khaki @@ -119,10 +115,6 @@ display_name = "black jeans" path = /obj/item/clothing/under/pants/blackjeans -/datum/gear/uniform/pants/mustangjeans - display_name = "Must Hang jeans" - path = /obj/item/clothing/under/pants/mustangjeans - /datum/gear/uniform/pants/black display_name = "black pants" path = /obj/item/clothing/under/pants/black diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index f1fe218b175b..69ea5e634cda 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -609,7 +609,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("spider_legs" in pref_species.default_features) if(!mutant_category) dat += APPEARANCE_CATEGORY_COLUMN - dat += "

Spider Extra Legs Variant

" + dat += "

Extra Legs

" dat += "[features["spider_legs"]]
" @@ -621,7 +621,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("spider_spinneret" in pref_species.default_features) if(!mutant_category) dat += APPEARANCE_CATEGORY_COLUMN - dat += "

Spider Spinneret Markings

" + dat += "

Spinneret

" dat += "[features["spider_spinneret"]]
" @@ -630,18 +630,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "" mutant_category = 0 - if("spider_mandibles" in pref_species.default_features) - if(!mutant_category) - dat += APPEARANCE_CATEGORY_COLUMN - dat += "

Spider Mandible Variant

" - - dat += "[features["spider_mandibles"]]
" - - mutant_category++ - if(mutant_category >= MAX_MUTANT_ROWS) - dat += "" - mutant_category = 0 - if("squid_face" in pref_species.default_features) if(!mutant_category) dat += APPEARANCE_CATEGORY_COLUMN @@ -1906,18 +1894,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(new_spider_spinneret) features["spider_spinneret"] = new_spider_spinneret - if("spider_mandibles") - var/new_spider_mandibles - new_spider_mandibles = input(user, "Choose your character's variant of mandibles:", "Character Preference") as null|anything in GLOB.spider_mandibles_list - if (new_spider_mandibles) - features["spider_mandibles"] = new_spider_mandibles - - if("squid_face") - var/new_squid_face - new_squid_face = input(user, "Choose your character's face type:", "Character Preference") as null|anything in GLOB.squid_face_list - if (new_squid_face) - features["squid_face"] = new_squid_face - if("ipc_screen") var/new_ipc_screen diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 26cea413adb3..e8015ce2fbb7 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -122,7 +122,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(!addedbind) notadded += kb if(length(notadded)) - addtimer(CALLBACK(src, .proc/announce_conflict, notadded), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(announce_conflict), notadded), 5 SECONDS) /datum/preferences/proc/announce_conflict(list/notadded) to_chat(parent, "KEYBINDING CONFLICT!!!\n\ @@ -503,52 +503,51 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car underwear = sanitize_inlist(underwear, GLOB.underwear_list) undershirt = sanitize_inlist(undershirt, GLOB.undershirt_list) - socks = sanitize_inlist(socks, GLOB.socks_list) - age = sanitize_integer(age, pref_species.species_age_min, pref_species.species_age_max, initial(age)) + socks = sanitize_inlist(socks, GLOB.socks_list) + age = sanitize_integer(age, pref_species.species_age_min, pref_species.species_age_max, initial(age)) hair_color = sanitize_hexcolor(hair_color) - facial_hair_color = sanitize_hexcolor(facial_hair_color) - underwear_color = sanitize_hexcolor(underwear_color) - eye_color = sanitize_hexcolor(eye_color) - skin_tone = sanitize_inlist(skin_tone, GLOB.skin_tones) + facial_hair_color = sanitize_hexcolor(facial_hair_color) + underwear_color = sanitize_hexcolor(underwear_color) + eye_color = sanitize_hexcolor(eye_color) + skin_tone = sanitize_inlist(skin_tone, GLOB.skin_tones) backpack = sanitize_inlist(backpack, GLOB.backpacklist, initial(backpack)) - jumpsuit_style = sanitize_inlist(jumpsuit_style, GLOB.jumpsuitlist, initial(jumpsuit_style)) - exowear = sanitize_inlist(exowear, GLOB.exowearlist, initial(exowear)) - uplink_spawn_loc = sanitize_inlist(uplink_spawn_loc, GLOB.uplink_spawn_loc_list, initial(uplink_spawn_loc)) - fbp = sanitize_integer(fbp, FALSE, TRUE, FALSE) - features["grad_style"] = sanitize_inlist(features["grad_style"], GLOB.hair_gradients_list) - features["grad_color"] = sanitize_hexcolor(features["grad_color"]) - features["body_size"] = sanitize_inlist(features["body_size"], GLOB.body_sizes, "Normal") - features["mcolor"] = sanitize_hexcolor(features["mcolor"]) - features["mcolor2"] = sanitize_hexcolor(features["mcolor2"]) - features["ethcolor"] = copytext_char(features["ethcolor"], 1, 7) - features["tail_lizard"] = sanitize_inlist(features["tail_lizard"], GLOB.tails_list_lizard) - features["tail_human"] = sanitize_inlist(features["tail_human"], GLOB.tails_list_human, "None") - features["face_markings"] = sanitize_inlist(features["face_markings"], GLOB.face_markings_list) - features["horns"] = sanitize_inlist(features["horns"], GLOB.horns_list) - features["ears"] = sanitize_inlist(features["ears"], GLOB.ears_list, "None") - features["frills"] = sanitize_inlist(features["frills"], GLOB.frills_list) - features["spines"] = sanitize_inlist(features["spines"], GLOB.spines_list) - features["body_markings"] = sanitize_inlist(features["body_markings"], GLOB.body_markings_list) - features["feature_lizard_legs"] = sanitize_inlist(features["legs"], GLOB.legs_list, "Normal Legs") - features["moth_wings"] = sanitize_inlist(features["moth_wings"], GLOB.moth_wings_list, "Plain") - features["moth_fluff"] = sanitize_inlist(features["moth_fluff"], GLOB.moth_fluff_list, "Plain") - features["spider_legs"] = sanitize_inlist(features["spider_legs"], GLOB.spider_legs_list, "Plain") - features["spider_spinneret"] = sanitize_inlist(features["spider_spinneret"], GLOB.spider_spinneret_list, "Plain") - features["spider_mandibles"] = sanitize_inlist(features["spider_mandibles"], GLOB.spider_mandibles_list, "Plain") - features["moth_markings"] = sanitize_inlist(features["moth_markings"], GLOB.moth_markings_list, "None") - features["squid_face"] = sanitize_inlist(features["squid_face"], GLOB.squid_face_list, "Squidward") - features["ipc_screen"] = sanitize_inlist(features["ipc_screen"], GLOB.ipc_screens_list) - features["ipc_antenna"] = sanitize_inlist(features["ipc_antenna"], GLOB.ipc_antennas_list) - features["ipc_chassis"] = sanitize_inlist(features["ipc_chassis"], GLOB.ipc_chassis_list) - features["ipc_brain"] = sanitize_inlist(features["ipc_brain"], GLOB.ipc_brain_list) - features["kepori_feathers"] = sanitize_inlist(features["kepori_feathers"], GLOB.kepori_feathers_list, "Plain") - features["kepori_body_feathers"] = sanitize_inlist(features["kepori_body_feathers"], GLOB.kepori_body_feathers_list, "Plain") - features["kepori_tail_feathers"] = sanitize_inlist(features["kepori_tail_feathers"], GLOB.kepori_tail_feathers_list, "Fan") - features["vox_head_quills"] = sanitize_inlist(features["vox_head_quills"], GLOB.vox_head_quills_list, "None") - features["vox_neck_quills"] = sanitize_inlist(features["vox_neck_quills"], GLOB.vox_neck_quills_list, "None") - features["elzu_horns"] = sanitize_inlist(features["elzu_horns"], GLOB.elzu_horns_list) - features["tail_elzu"] = sanitize_inlist(features["tail_elzu"], GLOB.tails_list_elzu) - features["flavor_text"] = sanitize_text(features["flavor_text"], initial(features["flavor_text"])) + jumpsuit_style = sanitize_inlist(jumpsuit_style, GLOB.jumpsuitlist, initial(jumpsuit_style)) + exowear = sanitize_inlist(exowear, GLOB.exowearlist, initial(exowear)) + uplink_spawn_loc = sanitize_inlist(uplink_spawn_loc, GLOB.uplink_spawn_loc_list, initial(uplink_spawn_loc)) + fbp = sanitize_integer(fbp, FALSE, TRUE, FALSE) + features["grad_style"] = sanitize_inlist(features["grad_style"], GLOB.hair_gradients_list) + features["grad_color"] = sanitize_hexcolor(features["grad_color"]) + features["body_size"] = sanitize_inlist(features["body_size"], GLOB.body_sizes, "Normal") + features["mcolor"] = sanitize_hexcolor(features["mcolor"]) + features["mcolor2"] = sanitize_hexcolor(features["mcolor2"]) + features["ethcolor"] = copytext_char(features["ethcolor"], 1, 7) + features["tail_lizard"] = sanitize_inlist(features["tail_lizard"], GLOB.tails_list_lizard) + features["tail_human"] = sanitize_inlist(features["tail_human"], GLOB.tails_list_human, "None") + features["face_markings"] = sanitize_inlist(features["face_markings"], GLOB.face_markings_list) + features["horns"] = sanitize_inlist(features["horns"], GLOB.horns_list) + features["ears"] = sanitize_inlist(features["ears"], GLOB.ears_list, "None") + features["frills"] = sanitize_inlist(features["frills"], GLOB.frills_list) + features["spines"] = sanitize_inlist(features["spines"], GLOB.spines_list) + features["body_markings"] = sanitize_inlist(features["body_markings"], GLOB.body_markings_list) + features["feature_lizard_legs"] = sanitize_inlist(features["legs"], GLOB.legs_list, "Normal Legs") + features["moth_wings"] = sanitize_inlist(features["moth_wings"], GLOB.moth_wings_list, "Plain") + features["moth_fluff"] = sanitize_inlist(features["moth_fluff"], GLOB.moth_fluff_list, "Plain") + features["spider_legs"] = sanitize_inlist(features["spider_legs"], GLOB.spider_legs_list, "Plain") + features["spider_spinneret"] = sanitize_inlist(features["spider_spinneret"], GLOB.spider_spinneret_list, "Plain") + features["moth_markings"] = sanitize_inlist(features["moth_markings"], GLOB.moth_markings_list, "None") + features["squid_face"] = sanitize_inlist(features["squid_face"], GLOB.squid_face_list, "Squidward") + features["ipc_screen"] = sanitize_inlist(features["ipc_screen"], GLOB.ipc_screens_list) + features["ipc_antenna"] = sanitize_inlist(features["ipc_antenna"], GLOB.ipc_antennas_list) + features["ipc_chassis"] = sanitize_inlist(features["ipc_chassis"], GLOB.ipc_chassis_list) + features["ipc_brain"] = sanitize_inlist(features["ipc_brain"], GLOB.ipc_brain_list) + features["kepori_feathers"] = sanitize_inlist(features["kepori_feathers"], GLOB.kepori_feathers_list, "Plain") + features["kepori_body_feathers"] = sanitize_inlist(features["kepori_body_feathers"], GLOB.kepori_body_feathers_list, "Plain") + features["kepori_tail_feathers"] = sanitize_inlist(features["kepori_tail_feathers"], GLOB.kepori_tail_feathers_list, "Fan") + features["vox_head_quills"] = sanitize_inlist(features["vox_head_quills"], GLOB.vox_head_quills_list, "None") + features["vox_neck_quills"] = sanitize_inlist(features["vox_neck_quills"], GLOB.vox_neck_quills_list, "None") + features["elzu_horns"] = sanitize_inlist(features["elzu_horns"], GLOB.elzu_horns_list) + features["tail_elzu"] = sanitize_inlist(features["tail_elzu"], GLOB.tails_list_elzu) + features["flavor_text"] = sanitize_text(features["flavor_text"], initial(features["flavor_text"])) all_quirks = SANITIZE_LIST(all_quirks) diff --git a/code/modules/clothing/factions/gezena.dm b/code/modules/clothing/factions/gezena.dm new file mode 100644 index 000000000000..6d2e11ea0010 --- /dev/null +++ b/code/modules/clothing/factions/gezena.dm @@ -0,0 +1,276 @@ +//Jumpsuits +//thgvr TODO: Make more stuff (backpacks, headsets, doodads, part 2?) +/obj/item/clothing/under/gezena + name = "gezenan navywear" + desc = "Made of a slick synthetic material that is both breathable, and resistant to scale and thorn alike." + icon = 'icons/obj/clothing/faction/gezena/uniforms.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/uniforms.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "naval" + item_state = "bluejump" + supports_variations = DIGITIGRADE_VARIATION + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40) + +/obj/item/clothing/under/gezena/captain + name = "gezenan captain's navywear" + desc = "A refined variation of the basic navywear, sporting sleek silver trim." + icon_state = "captain" + item_state = "bluejump" + +/obj/item/clothing/under/gezena/marine + name = "gezenan marine fatigue" + desc = "Rough inside and out, these fatigues have seen their fair share." + icon_state = "marine" + item_state = "marinejump" + +//Unarmored suit + +/obj/item/clothing/suit/toggle/gezena + name = "silkenweave jacket" + desc = "Refined and sturdy, emblazoned below the neck with the Federation's symbol." + icon = 'icons/obj/clothing/faction/gezena/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/suits.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "lightcoat" + item_state = "bluecloth" + blood_overlay_type = "coat" + togglename = "zipper" + body_parts_covered = CHEST|ARMS + pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo + supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + armor = list("melee" = 20, "bullet" = 20, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0) + +//Armored suit + +/obj/item/clothing/suit/armor/gezena + name = "navywear coat" + desc = "Formal navywear, emblazoned across the back with the Gezenan sigil." + icon = 'icons/obj/clothing/faction/gezena/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/suits.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "coat" + item_state = "bluecloth" + blood_overlay_type = "coat" + body_parts_covered = CHEST|ARMS|GROIN|LEGS + pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo + supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + armor = list("melee" = 35, "bullet" = 35, "laser" = 20, "energy" = 40, "bomb" = 20, "bio" = 20, "rad" = 0, "fire" = 50, "acid" = 50) + allowed = list( + /obj/item/flashlight, + /obj/item/tank/internals/emergency_oxygen, + /obj/item/tank/internals/plasmaman, + /obj/item/toy, + /obj/item/storage/fancy/cigarettes, + /obj/item/lighter, + /obj/item/radio, + /obj/item/gun/energy/kalix, + ) + +/obj/item/clothing/suit/armor/gezena/engi + name = "engineer navywear coat" + desc = "Oil and stain resistant, with orange trim signifiying the wearer doesn't mind getting their hands dirty." + icon_state = "engicoat" + item_state = "bluecloth" + +/obj/item/clothing/suit/armor/gezena/captain + name = "captain's navywear coat" + desc = "Blood resistant, with silver trim to denote status. Lined with softer material." + icon_state = "captaincoat" + item_state = "captaincoat" + +/obj/item/clothing/suit/armor/gezena/marine + name = "\improper Raksha-plating vest" + desc = "Raksha - a Kalixcian word for 'protection of the heart'. Sturdy and reliable." + icon_state = "marinevest" + item_state = "marinevest" + +/obj/item/clothing/suit/armor/gezena/marinecoat + name = "coated Raksha-plating" + desc = "Less practical with the coat than without." + icon_state = "marinecoat" + item_state = "bluecloth" + +//Spacesuits + +/obj/item/clothing/suit/space/gezena + name = "\improper Rakalla-suit" + desc = "Rakalla - a Kalixcian word for 'protection among the stars'. Sturdy, flexible, and reliable." + icon = 'icons/obj/clothing/faction/gezena/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/suits.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "spacesuit" + item_state = "spacesuit" + armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 15, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + w_class = WEIGHT_CLASS_NORMAL + supports_variations = DIGITIGRADE_VARIATION + +/obj/item/clothing/head/helmet/space/gezena + name = "\improper Rakalla-helm" + desc = "Featuring rubberized grommets fitting for any length of horn, and an internal monitor for life support." + icon = 'icons/obj/clothing/faction/gezena/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/head.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "spacehelmet" + item_state = "spacehelm" + armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 15, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + w_class = WEIGHT_CLASS_NORMAL + +//Hats + +/obj/item/clothing/head/gezena + name = "\improper PGFN Cap" + desc = "The standard cap of the PGF military, in Navy colors." + icon = 'icons/obj/clothing/faction/gezena/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/head.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "navalhat" + item_state = "bluecloth" + armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + +/obj/item/clothing/head/gezena/flap + name = "\improper PGFN Betzu-il cap" + desc = "The standard cap of the PGF military, in Navy colors. “betzu-il”, translating to “sun-blocker”, refers to the flap at the back for protection against natural hazards such as sunburns, sandstorms, and biting insects." + icon_state = "navalflap" + item_state = "bluecloth" + +/obj/item/clothing/head/gezena/marine + name = "\improper PGFMC Cap" + desc = "The standard cap of the PGF military, in Marine Corps colors." + icon_state = "marinehat" + item_state = "marinecloth" + +/obj/item/clothing/head/gezena/marine/flap + name = "\improper PGFMC Betzu-il cap" + desc = "The standard cap of the PGF military, in Marine Corps colors. “betzu-il”, translating to “sun-blocker”, refers to the flap at the back for protection against natural hazards such as sunburns, sandstorms, and biting insects." + icon_state = "marineflap" + item_state = "marinecloth" + +/obj/item/clothing/head/gezena/medic + name = "\improper PGF medic cap" + desc = "The standard cap of the PGF military. The coloring indicates the wearer as a medical officer." + icon_state = "medichat" + item_state = "whitecloth" + +/obj/item/clothing/head/gezena/medic/flap + name = "\improper PGF medic Betzu-il cap" + desc = "The standard cap of the PGF military. “betzu-il”, translating to “sun-blocker”, refers to the flap at the back for protection against natural hazards such as sunburns, sandstorms, and biting insects. The coloring indicates the wearer as a medical officer." + icon_state = "medicflap" + item_state = "whitecloth" + +/obj/item/clothing/head/gezena/captain // no captain flap yet(?) + name = "\improper PGFN captain's cap" + desc = "The standard cap of the PGF military, in Navy colors. The decoration indicates the wearer as a ship's Captain." + icon_state = "captainhat" + item_state = "bluecloth" + +/obj/item/clothing/head/helmet/gezena + name = "\improper Raksha-helm" + desc = "Far more practical for combat than either type of cap, but not nearly as traditional or comfortable. Features small sections of removable plating to make space for the horns of horned races." + icon = 'icons/obj/clothing/faction/gezena/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/head.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "marinehelmet" + item_state = "marinehelm" + +//Gloves + +/obj/item/clothing/gloves/gezena + name = "\improper PGFN Ihuz-irra Gloves" + desc = "As the name, “ihuz-irra”, or “sure-grip”, suggests, the gloves employed by the PGF military are designed to ensure the highest possible grip is maintained while also providing protection from blisters in work environments." + icon = 'icons/obj/clothing/faction/gezena/hands.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/hands.dmi' + icon_state = "navalgloves" + item_state = "navalgloves" + cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT + armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + +/obj/item/clothing/gloves/gezena/marine + name = "\improper PGFMC Ihuz-irra Gloves" + desc = "As the name, “ihuz-irra”, or “sure-grip”, suggests, the gloves employed by the PGF military are designed to ensure the highest possible grip is maintained while also providing protection from blisters in work environments. Carries extra tactile grip on the fingertips for easy use of firearms." + icon_state = "marinegloves" + item_state = "marinegloves" + armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 50) + +/obj/item/clothing/gloves/gezena/engi + name = "\improper PGFN Engineering Ihuz-irra Gloves" + desc = "As the name, “ihuz-irra”, or “sure-grip”, suggests, the gloves employed by the PGF military are designed to ensure the highest possible grip is maintained while also providing protection from blisters in work environments. Comes with anti-conductive microfibers interwoven to supply the useer with electrical insulation." + icon_state = "engigloves" + item_state = "engigloves" + siemens_coefficient = 0 + +/obj/item/clothing/gloves/gezena/captain + name = "\improper PGFN Captain's Ihuz-irra Gloves" + desc = "As the name, “ihuz-irra”, or “sure-grip”, suggests, the gloves employed by the PGF military are designed to ensure the highest possible grip is maintained while also providing protection from blisters in work environments. Bears the silver standard of a Gezenan captain." + icon_state = "captaingloves" + item_state = "captaingloves" + siemens_coefficient = 0 + +//Boots + +/obj/item/clothing/shoes/combat/gezena + name = "\improper PGF Uhro-sez Boots" + desc = "The word “uhro-sez” translates to “steel-foot”, in reference to the steel toe protection provided by these boots. Standard issue to all members of all branches of the PGF military." + icon = 'icons/obj/clothing/faction/gezena/feet.dmi' + //mob_overlay_icon = 'icons/mob/clothing/faction/gezena/feet.dmi' todo: find out why digi breaks here + icon_state = "pgfboots" + item_state = "pgfboots" + +//Belt + +/obj/item/storage/belt/military/gezena + name = "\improper PGF Iho-Usks" + desc = "The “iho-usks”, translating to “gear-holder”, is a lightweight harness covered in pouches, supplied to the ground troops of the PGF. This variant is designed for carrying ammunition." + icon = 'icons/obj/clothing/faction/gezena/belt.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/belt.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "pouches" + item_state = "bluecloth" + +/obj/item/storage/belt/medical/gezena + name = "\improper PGF Medical Iho-Usks" + desc = "The “iho-usks”, translating to “gear-holder”, is a lightweight harness covered in pouches, supplied to the ground troops of the PGF. This variant is designed for carrying medical supplies." + icon = 'icons/obj/clothing/faction/gezena/belt.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/belt.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "medpouches" + item_state = "whitecloth" + +//Capes + +/obj/item/clothing/neck/cloak/gezena + name = "\improper Aziulhauz" + desc = "The “Aziulhauz”, or “rank-cape”, is the method with which PGF military members display their rank to others. Wearing one while on duty is required by uniform code. This variant displays the wearer's rank as a standard non-officer soldier or crewperson." + icon = 'icons/obj/clothing/faction/gezena/neck.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/neck.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "cape" + item_state = "blackcloth" + +/obj/item/clothing/neck/cloak/gezena/engi + name = "engineering Aziulhauz" + desc = "The “Aziulhauz”, or “rank-cape”, is the method with which PGF military members display their rank to others. Wearing one while on duty is required by uniform code. This variant displays the wearer's rank as an officer with an engineering specialization." + icon_state = "engicape" + item_state = "blackcloth" + +/obj/item/clothing/neck/cloak/gezena/med + name = "medical Aziulhauz" + desc = "The “Aziulhauz”, or “rank-cape”, is the method with which PGF military members display their rank to others. Wearing one while on duty is required by uniform code. This variant displays the wearer's rank as an officer with a medical specialization." + icon_state = "medcape" + item_state = "blackcloth" + +/obj/item/clothing/neck/cloak/gezena/captain + name = "captain's Azuilhauz" + desc = "The “Aziulhauz”, or “rank-cape”, is the method with which PGF military members display their rank to others. Wearing one while on duty is required by uniform code. This variant displays the wearer's rank as a high ranking officer." + icon_state = "captaincape" + item_state = "blackcloth" diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 119312c6902f..291b1c1b25b6 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -49,7 +49,7 @@ /obj/item/clothing/gloves/color/yellow/sprayon/equipped(mob/user, slot) . = ..() - RegisterSignal(user, COMSIG_LIVING_SHOCK_PREVENTED, .proc/Shocked) + RegisterSignal(user, COMSIG_LIVING_SHOCK_PREVENTED, PROC_REF(Shocked)) /obj/item/clothing/gloves/color/yellow/sprayon/proc/Shocked() shocks_remaining-- @@ -73,7 +73,7 @@ /obj/item/clothing/gloves/color/yellow/sprayon/tape/equipped(mob/user, slot) . = ..() - RegisterSignal(user, COMSIG_LIVING_SHOCK_PREVENTED, .proc/Shocked) + RegisterSignal(user, COMSIG_LIVING_SHOCK_PREVENTED, PROC_REF(Shocked)) /obj/item/clothing/gloves/color/yellow/sprayon/tape/Shocked(mob/user) if(prob(50)) //Fear the unpredictable @@ -202,6 +202,12 @@ strip_delay = 60 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 50) +/obj/item/clothing/gloves/color/captain/nt + desc = "Regal blue gloves, with a nice gold trim, a diamond anti-shock coating, and an integrated thermal barrier, and armoured bracers. Swanky." + name = "captain's gloves" + icon_state = "captainnt" + item_state = "egloves" + /obj/item/clothing/gloves/color/latex name = "latex gloves" desc = "Cheap sterile gloves made from latex. Transfers minor paramedic knowledge to the user via budget nanochips." diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 2cd8c28602c8..e6400198864e 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -145,7 +145,7 @@ attached_light.update_brightness() to_chat(user, "You toggle the helmet light [attached_light.on ? "on":"off"].") - playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) + playsound(user, attached_light.on ? attached_light.toggle_on_sound : attached_light.toggle_off_sound, 100, TRUE) update_helmlight() /obj/item/clothing/head/helmet/proc/update_helmlight() @@ -559,11 +559,17 @@ item_state = "solgov_envirohelm" /obj/item/clothing/head/helmet/operator - name = "\improper Operator helmet" + name = "\improper operator helmet" desc = "A robust combat helmet commonly employed by Syndicate forces, regardless of alignment." icon_state = "operator" item_state = "operator" +/obj/item/clothing/head/helmet/medical + name = "\improper trauma team helmet" + desc = "A robust combat helmet commonly employed by cybersun medical trauma teams, with its distinctive turquoise." + icon_state = "traumahelm" + item_state = "traumahelm" + /obj/item/clothing/head/helmet/bulletproof/m10 name = "\improper M10 pattern Helmet" desc = "A classic looking helmet, derived from numerous convergently-similar designs from all across inhabited space. A faded tag reads: 'The difference between an open-casket and closed-casket funeral. Wear on head for best results.'" diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 06bdf4de0e7f..ae7ecd5b121e 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -184,6 +184,12 @@ name = "syndicate cap" desc = "A black cap fit for a high ranking syndicate officer." +/obj/item/clothing/head/HoS/cybersun + name = "cybersun hat" + desc = "A crimson-red hat fit for a high ranking cybersun officer." + icon_state = "cybersunhat" + item_state = "cybersunhat" + /obj/item/clothing/head/HoS/beret/syndicate name = "syndicate beret" desc = "A black beret with thick armor padding inside. Stylish and robust." @@ -248,7 +254,7 @@ /obj/item/clothing/head/warden/drill/equipped(mob/M, slot) . = ..() if (slot == ITEM_SLOT_HEAD) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) else UnregisterSignal(M, COMSIG_MOB_SAY) diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 73261bf69ebb..d63003422e29 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -386,7 +386,7 @@ /obj/item/clothing/head/frenchberet/equipped(mob/M, slot) . = ..() if (slot == ITEM_SLOT_HEAD) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) else UnregisterSignal(M, COMSIG_MOB_SAY) diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 94cd299b3cc0..3e188c253169 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -323,7 +323,7 @@ /obj/item/clothing/head/foilhat/Initialize(mapload) . = ..() if(!warped) - AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, ITEM_SLOT_HEAD, 6, TRUE, null, CALLBACK(src, .proc/warp_up)) + AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, ITEM_SLOT_HEAD, 6, TRUE, null, CALLBACK(src, PROC_REF(warp_up))) else warp_up() diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index dd689223380c..bc2036523bd7 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -137,6 +137,13 @@ dog_fashion = null /obj/item/clothing/head/soft/cybersun + name = "cybersun agent cap" + desc = "A black baseball hat emblazoned with a reflective Cybersun patch." + icon_state = "agentsoft" + soft_type = "black" + dog_fashion = null + +/obj/item/clothing/head/soft/cybersun/medical name = "cybersun medic cap" desc = "A turquoise baseball hat emblazoned with a reflective cross. Typical of Cybersun Industries field medics." icon_state = "cybersunsoft" diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index f4e8ca45f697..739e0f832faa 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -19,7 +19,7 @@ /obj/item/clothing/mask/equipped(mob/M, slot) . = ..() if (slot == ITEM_SLOT_MASK && modifies_speech) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) else UnregisterSignal(M, COMSIG_MOB_SAY) diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm index e3f90d1070b5..aa0b01ff5398 100644 --- a/code/modules/clothing/outfits/ert.dm +++ b/code/modules/clothing/outfits/ert.dm @@ -58,13 +58,13 @@ id = /obj/item/card/id/ert/security suit = /obj/item/clothing/suit/space/hardsuit/ert/sec + suit_store = /obj/item/gun/energy/e_gun/hades glasses = /obj/item/clothing/glasses/hud/security/sunglasses gloves = /obj/item/clothing/gloves/tackler/combat/insulated back = /obj/item/storage/backpack/ert/security belt = /obj/item/storage/belt/security/full backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/storage/box/handcuffs=1,\ - /obj/item/gun/energy/e_gun/stun=1,\ /obj/item/melee/baton/loaded=1) /datum/outfit/centcom/ert/security/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) @@ -83,8 +83,8 @@ mask = /obj/item/clothing/mask/gas/sechailer/swat backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ /obj/item/storage/box/handcuffs=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/gun/energy/pulse/carbine/loyalpin=1) + /obj/item/melee/baton/loaded=1) + suit_store = /obj/item/gun/energy/pulse/carbine/loyalpin /datum/outfit/centcom/ert/medic @@ -201,10 +201,10 @@ name = "Inquisition Security" suit = /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor + suit_store = /obj/item/gun/energy/e_gun/hades backpack_contents = list(/obj/item/storage/box/survival/engineer=1, /obj/item/storage/box/handcuffs=1, - /obj/item/gun/energy/e_gun/stun=1, /obj/item/melee/baton/loaded=1, /obj/item/construction/rcd/loaded=1) diff --git a/code/modules/clothing/outfits/gezena.dm b/code/modules/clothing/outfits/gezena.dm new file mode 100644 index 000000000000..b9fc26afeff1 --- /dev/null +++ b/code/modules/clothing/outfits/gezena.dm @@ -0,0 +1,17 @@ +/datum/outfit/job/gezena + +/datum/outfit/job/gezena/post_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(visualsOnly) + return + H.faction |= list("playergezena") + +/datum/outfit/job/gezena/assistant + name = "Deckhand (PGF)" + jobtype = /datum/job/assistant + + head = /obj/item/clothing/head/gezena + uniform = /obj/item/clothing/under/gezena + suit = /obj/item/clothing/suit/toggle/gezena + gloves = /obj/item/clothing/gloves/gezena + shoes = /obj/item/clothing/shoes/combat/gezena diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 1d19f894f302..82ad3aae38d6 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -389,7 +389,7 @@ id = /obj/item/card/id/silver head = /obj/item/clothing/head/beret/lt - uniform = /obj/item/clothing/under/rank/command/lieutenant + uniform = /obj/item/clothing/under/rank/command alt_uniform = /obj/item/clothing/under/rank/command suit = /obj/item/clothing/suit/toggle/lieutenant alt_suit = /obj/item/clothing/suit/armor/lieutenant_trenchcoat diff --git a/code/modules/clothing/outfits/syndicate.dm b/code/modules/clothing/outfits/syndicate.dm new file mode 100644 index 000000000000..fbe35ec5738a --- /dev/null +++ b/code/modules/clothing/outfits/syndicate.dm @@ -0,0 +1,823 @@ +//top outfit of everything syndicate. Don't change this. + +/datum/outfit/job/syndicate + name = "Syndicate (mostly) Empty" + + uniform = /obj/item/clothing/under/syndicate + box = /obj/item/storage/box/survival/syndie + id = /obj/item/card/id/syndicate_command/crew_id + + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/syndie + courierbag = /obj/item/storage/backpack/messenger/sec + +/datum/outfit/job/syndicate/post_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(visualsOnly) + return + H.faction |= list(FACTION_PLAYER_SYNDICATE) + +//generates a codename and assigns syndicate access, used in the twinkleshine. +/datum/outfit/job/syndicate/proc/assign_codename(mob/living/carbon/human/H) + var/obj/item/card/id/I = H.wear_id + I.registered_name = pick(GLOB.twinkle_names) + "-" + num2text(rand(1, 12)) // squidquest real + I.access |= list(ACCESS_SYNDICATE) + I.update_label() + +//and now, for the Assistants + +/datum/outfit/job/syndicate/assistant + name = "Junior Agent (Assistant)" + jobtype = /datum/job/assistant + + uniform = /obj/item/clothing/under/syndicate/intern + alt_uniform = null + + shoes = /obj/item/clothing/shoes/jackboots + gloves = /obj/item/clothing/gloves/color/black + ears = /obj/item/radio/headset + back = /obj/item/storage/backpack + + id = /obj/item/card/id/syndicate_command/crew_id + r_pocket = /obj/item/radio + belt = /obj/item/pda + + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/syndie + courierbag = /obj/item/storage/backpack/messenger/sec + + box = /obj/item/storage/box/survival/syndie + +/datum/outfit/job/syndicate/assistant/gorlex + name = "Junior Agent (Gorlex Marauders)" + + uniform = /obj/item/clothing/under/syndicate/gorlex + alt_uniform = /obj/item/clothing/under/syndicate + +/datum/outfit/job/syndicate/assistant/gec + name = "Deckhand (GEC)" + + uniform = /obj/item/clothing/under/syndicate + suit = /obj/item/clothing/suit/toggle/hazard + + head = /obj/item/clothing/head/safety_helmet + +/datum/outfit/job/syndicate/assistant/cybersun + name = "Junior Agent (Cybersun)" + + uniform = /obj/item/clothing/under/syndicate/cybersun + shoes = /obj/item/clothing/shoes/jackboots + r_pocket = /obj/item/radio + head = /obj/item/clothing/head/soft/cybersun + +/datum/outfit/job/syndicate/assistant/twink + name = "Deck Assistant (Twinkleshine)" + + uniform = /obj/item/clothing/under/syndicate/intern + shoes = /obj/item/clothing/shoes/combat + gloves = /obj/item/clothing/gloves/combat + ears = /obj/item/radio/headset/syndicate/alt + mask = /obj/item/clothing/mask/chameleon + r_pocket = /obj/item/kitchen/knife/combat/survival + back = /obj/item/storage/backpack + belt = /obj/item/storage/belt/military/assault + implants = list(/obj/item/implant/weapons_auth) + id = /obj/item/card/id/syndicate_command/crew_id + + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/syndie + courierbag = /obj/item/storage/backpack/messenger/sec + + box = /obj/item/storage/box/survival/syndie + +/datum/outfit/job/syndicate/assistant/twink/post_equip(mob/living/carbon/human/H) + . = ..() + + assign_codename(H) + +//atmos techs + +//Shiptest +/datum/outfit/job/syndicate/atmos + name = "Atmospheric Technician (Syndicate)" + jobtype = /datum/job/atmos + + belt = /obj/item/storage/belt/utility/atmostech + + uniform = /obj/item/clothing/under/rank/engineering/atmospheric_technician + alt_uniform = /obj/item/clothing/under/rank/engineering/engineer/hazard + alt_suit = /obj/item/clothing/suit/hazardvest + dcoat = /obj/item/clothing/suit/hooded/wintercoat/engineering + + r_pocket = /obj/item/analyzer + l_pocket = /obj/item/pda/atmos + + backpack = /obj/item/storage/backpack/industrial + satchel = /obj/item/storage/backpack/satchel/eng + duffelbag = /obj/item/storage/backpack/duffelbag/engineering + courierbag = /obj/item/storage/backpack/messenger/engi + + box = /obj/item/storage/box/survival/engineer + + pda_slot = ITEM_SLOT_LPOCKET + backpack_contents = list(/obj/item/modular_computer/tablet/preset/advanced=1) + +/datum/outfit/job/syndicate/atmos/gec + name = "Atmospheric Technician (GEC)" + + uniform = /obj/item/clothing/under/syndicate/gec/atmos_tech + suit = /obj/item/clothing/suit/toggle/hazard + head = /obj/item/clothing/head/hardhat + id = /obj/item/card/id/syndicate_command/crew_id + + +//bartenders + +/datum/outfit/job/syndicate/bartender + name = "Bartender (Syndicate)" + jobtype = /datum/job/bartender + + id = /obj/item/card/id/syndicate_command/crew_id + head = /obj/item/clothing/head/HoS/beret/syndicate + glasses = /obj/item/clothing/glasses/sunglasses/reagent + belt = /obj/item/pda/bar + uniform = /obj/item/clothing/under/rank/civilian/bartender + alt_uniform = /obj/item/clothing/under/rank/civilian/bartender/purple + alt_suit = /obj/item/clothing/suit/apron/purple_bartender + suit = /obj/item/clothing/suit/armor/vest + backpack_contents = list(/obj/item/storage/box/beanbag=1) + shoes = /obj/item/clothing/shoes/laceup + + +/datum/outfit/job/syndicate/bartender/post_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + + var/obj/item/card/id/W = H.wear_id + if(H.age < AGE_MINOR) + W.registered_age = AGE_MINOR + to_chat(H, "You're not technically old enough to access or serve alcohol, but your ID has been discreetly modified to display your age as [AGE_MINOR]. Try to keep that a secret!") + + +/datum/outfit/job/syndicate/bartender/twink + name = "Bartender (Twinkleshine)" + + uniform = /obj/item/clothing/under/syndicate/donk + shoes = /obj/item/clothing/shoes/laceup + gloves = /obj/item/clothing/gloves/color/white + ears = /obj/item/radio/headset/syndicate + mask = /obj/item/clothing/mask/chameleon + belt = /obj/item/storage/belt/bandolier + implants = list(/obj/item/implant/weapons_auth) + id = /obj/item/card/id/syndicate_command/crew_id + + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/syndie + courierbag = /obj/item/storage/backpack/messenger/sec + + box = /obj/item/storage/box/survival/syndie + +/datum/outfit/job/syndicate/bartender/twink/post_equip(mob/living/carbon/human/H) + . = ..() + assign_codename(H) + +//botanist +/datum/outfit/job/syndicate/botanist + name = "Botanist (Syndicate)" + jobtype = /datum/job/hydro + belt = /obj/item/pda/botanist + suit = /obj/item/clothing/suit/apron + alt_suit = /obj/item/clothing/suit/apron/overalls + gloves =/obj/item/clothing/gloves/botanic_leather + suit_store = /obj/item/plant_analyzer + +/datum/outfit/job/syndicate/botanist/suns + name = "Botanist-Chemist (SUNS)" + + id = /obj/item/card/id/syndicate_command/crew_id + shoes = /obj/item/clothing/shoes/jackboots + glasses = /obj/item/clothing/glasses/science + suit = /obj/item/clothing/suit/toggle/labcoat/chemist + suit_store = null + +//Capitan (Captain) + +/datum/outfit/job/syndicate/captain + name = "Captain (Syndicate)" + jobtype = /datum/job/captain + + id = /obj/item/card/id/syndicate_command/captain_id + ears = /obj/item/radio/headset/syndicate/alt/captain + uniform = /obj/item/clothing/under/syndicate/aclf + shoes = /obj/item/clothing/shoes/jackboots + head = /obj/item/clothing/head/HoS/syndicate + gloves = /obj/item/clothing/gloves/combat + suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate + backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/pda/captain) + + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/sec + courierbag = /obj/item/storage/backpack/messenger/sec + + box = /obj/item/storage/box/survival/syndie + +/datum/outfit/job/syndicate/captain/aclf + name = "Captain (ACLF)" + + +/datum/outfit/job/syndicate/captain/twink + name = "Captain (Twinkleshine)" + + uniform = /obj/item/clothing/under/syndicate/aclf + gloves = /obj/item/clothing/gloves/combat + shoes = /obj/item/clothing/shoes/combat + ears = /obj/item/radio/headset/syndicate/alt/captain + mask = /obj/item/clothing/mask/chameleon + l_pocket = /obj/item/melee/transforming/energy/sword/saber/red + suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate + suit_store = /obj/item/gun/ballistic/revolver/mateba + r_pocket = /obj/item/kitchen/knife/combat/survival + belt = /obj/item/storage/belt/military/assault + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch + implants = list(/obj/item/implant/weapons_auth) + + +/datum/outfit/job/syndicate/captain/sbc/post_equip(mob/living/carbon/human/H) + . = ..() + assign_codename(H) + + +/datum/outfit/job/syndicate/captain/gorlex + name = "Captain (Gorlex Marauders)" + uniform = /obj/item/clothing/under/syndicate/aclf + + head = /obj/item/clothing/head/aclfcap + suit = /obj/item/clothing/suit/aclf + +/datum/outfit/job/syndicate/captain/cybersun + name = "Captain (Cybersun)" + + uniform = /obj/item/clothing/under/syndicate/cybersun/officer + suit = /obj/item/clothing/suit/armor/vest/capcarapace/cybersun + head = /obj/item/clothing/head/HoS/cybersun + gloves = /obj/item/clothing/gloves/combat + + +//cargo tech + +/datum/outfit/job/syndicate/cargo_tech + name = "Cargo Tech (Syndicate)" + jobtype = /datum/job/cargo_tech + + id = /obj/item/card/id/syndicate_command/crew_id + uniform = /obj/item/clothing/under/syndicate/donk + suit = /obj/item/clothing/suit/hazardvest/donk + + belt = /obj/item/pda/cargo + alt_suit = /obj/item/clothing/suit/hazardvest + l_hand = /obj/item/export_scanner + backpack_contents = list(/obj/item/modular_computer/tablet/preset/cargo=1) + + +/datum/outfit/job/syndicate/cargo_tech/donk + name = "Customer Associate (Donk! Co)" + +//chemist + +/datum/outfit/job/syndicate/chemist + name = "Chemist (Syndicate)" + jobtype = /datum/job/chemist + + uniform = /obj/item/clothing/under/syndicate/intern + id = /obj/item/card/id/syndicate_command/crew_id + l_pocket =/obj/item/pda/chemist + + glasses = /obj/item/clothing/glasses/science + belt = /obj/item/pda/chemist + shoes = /obj/item/clothing/shoes/sneakers/white + suit = /obj/item/clothing/suit/toggle/labcoat/chemist + + box = /obj/item/storage/box/survival/medical + +/datum/outfit/job/syndicate/chemist/gec + name = "Chemist (GEC)" + + uniform = /obj/item/clothing/under/syndicate/intern + suit = /obj/item/clothing/suit/toggle/hazard + head = /obj/item/clothing/head/hardhat + belt = /obj/item/storage/belt/utility/full/engi + id = /obj/item/card/id/syndicate_command/crew_id + l_pocket =/obj/item/pda/chemist + +//Chief Engineer + +/datum/outfit/job/syndicate/ce + name = "Chief Engineer (Syndicate)" + jobtype = /datum/job/chief_engineer + + id = /obj/item/card/id/syndicate_command/crew_id + ears = /obj/item/radio/headset/syndicate/alt + glasses = /obj/item/clothing/glasses/sunglasses + + belt = /obj/item/storage/belt/utility/chief/full + l_pocket = /obj/item/pda/heads/ce + uniform = /obj/item/clothing/under/rank/engineering/chief_engineer + shoes = /obj/item/clothing/shoes/sneakers/brown + head = /obj/item/clothing/head/hardhat/white + gloves = /obj/item/clothing/gloves/color/black + backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced=1) + + backpack = /obj/item/storage/backpack/industrial + satchel = /obj/item/storage/backpack/satchel/eng + duffelbag = /obj/item/storage/backpack/duffelbag/engineering + courierbag = /obj/item/storage/backpack/messenger/engi + box = /obj/item/storage/box/survival/engineer + pda_slot = ITEM_SLOT_LPOCKET + chameleon_extras = /obj/item/stamp/ce + + +/datum/outfit/job/syndicate/ce/gec + name = "Chief Engineer (GEC)" + + uniform = /obj/item/clothing/under/syndicate/gec/chief_engineer + suit = /obj/item/clothing/suit/toggle/hazard + head = /obj/item/clothing/head/hardhat/white + shoes =/obj/item/clothing/shoes/laceup + ears = /obj/item/radio/headset/syndicate/alt/captain + id = /obj/item/card/id/syndicate_command/captain_id + gloves = /obj/item/clothing/gloves/combat + +/datum/outfit/job/syndicate/ce/gorlex + name = "Foreman (Gorlex Marauders)" + + ears = /obj/item/radio/headset/syndicate/alt + uniform = /obj/item/clothing/under/syndicate/gorlex + alt_uniform = null + suit = /obj/item/clothing/suit/toggle/hazard + alt_suit = null + shoes = /obj/item/clothing/shoes/jackboots + gloves = /obj/item/clothing/gloves/combat + +//Chief Medical Officer + +/datum/outfit/job/syndicate/cmo + name = "Chief Medical Officer (Syndicate)" + jobtype = /datum/job/cmo + + uniform = /obj/item/clothing/under/syndicate + ears = /obj/item/radio/headset/syndicate/alt/captain + id = /obj/item/card/id/syndicate_command/captain_id + shoes = /obj/item/clothing/shoes/jackboots + belt = /obj/item/pda/heads/cmo + l_pocket = /obj/item/pinpointer/crew + shoes = /obj/item/clothing/shoes/sneakers/brown + suit = /obj/item/clothing/suit/toggle/labcoat/cmo + l_hand = /obj/item/storage/firstaid/medical + suit_store = /obj/item/flashlight/pen + backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) + +/datum/outfit/job/syndicate/cmo/suns + name = "Medical Director (SUNS)" + +//"Head Of Personnel" + +/datum/outfit/job/syndicate/head_of_personnel + name = "Bridge Officer (Syndicate)" + jobtype = /datum/job/head_of_personnel + + ears = /obj/item/radio/headset/syndicate/alt + uniform = /obj/item/clothing/under/syndicate/aclfgrunt + shoes = /obj/item/clothing/shoes/jackboots + head = /obj/item/clothing/head/HoS/beret/syndicate + gloves = /obj/item/clothing/gloves/color/white + id = /obj/item/card/id/syndicate_command/crew_id + r_pocket = /obj/item/kitchen/knife/combat/survival + glasses = /obj/item/clothing/glasses/hud/health + belt = /obj/item/pda/heads/head_of_personnel + backpack_contents = list(/obj/item/storage/box/ids=1,\ + /obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1) + +/datum/outfit/job/syndicate/head_of_personnel/cybersun + name = "Intelligence Officer (Cybersun)" + + ears = /obj/item/radio/headset/syndicate/alt + uniform = /obj/item/clothing/under/syndicate/cybersun/officer + suit = /obj/item/clothing/suit/cybersun_suit + shoes = /obj/item/clothing/shoes/jackboots + head = /obj/item/clothing/head/HoS/cybersun + gloves = /obj/item/clothing/gloves/combat + id = /obj/item/card/id/syndicate_command/crew_id + r_pocket = /obj/item/kitchen/knife/combat/survival + glasses = /obj/item/clothing/glasses/sunglasses + +//head of security + +/datum/outfit/job/syndicate/hos + name = "Head Of Security (Syndicate)" + jobtype = /datum/job/hos + + ears = /obj/item/radio/headset/syndicate/alt + uniform = /obj/item/clothing/under/syndicate/combat + head = /obj/item/clothing/head/HoS/syndicate + suit = /obj/item/clothing/suit/armor/vest/syndie + id = /obj/item/card/id/syndicate_command/crew_id + belt = /obj/item/pda/heads/hos + shoes = /obj/item/clothing/shoes/jackboots + glasses = /obj/item/clothing/glasses/hud/security/sunglasses + suit_store = /obj/item/gun/energy/e_gun + r_pocket = /obj/item/assembly/flash/handheld + l_pocket = /obj/item/restraints/handcuffs + backpack_contents = list(/obj/item/melee/baton/loaded=1) + +/datum/outfit/job/syndicate/hos/gorlex + name = "Sergeant (Syndicate)" + +/datum/outfit/job/syndicate/hos/twink + name = "Lieutenant (Twinkleshine)" + uniform = /obj/item/clothing/under/syndicate/aclf + head = /obj/item/clothing/head/HoS/beret/syndicate + ears = /obj/item/radio/headset/syndicate/alt + mask = /obj/item/clothing/mask/chameleon + gloves = /obj/item/clothing/gloves/combat + l_pocket = /obj/item/gun/ballistic/automatic/pistol + r_pocket = /obj/item/kitchen/knife/combat/survival + belt = /obj/item/storage/belt/military/assault + shoes = /obj/item/clothing/shoes/combat + suit = /obj/item/clothing/suit/armor/vest + alt_suit = /obj/item/clothing/suit/aclf + id = /obj/item/card/id/syndicate_command/lieutenant + implants = list(/obj/item/implant/weapons_auth) + backpack_contents = list(/obj/item/melee/baton) + + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/syndie + courierbag = /obj/item/storage/backpack/messenger/sec + + box = /obj/item/storage/box/survival/syndie + +/datum/outfit/job/syndicate/hos/twink/post_equip(mob/living/carbon/human/H) + . = ..() + assign_codename(H) + +//medical doctors (assorted) + +/datum/outfit/job/syndicate/doctor + name = "Medical Doctor (Syndicate)" + jobtype = /datum/job/doctor + + uniform = /obj/item/clothing/under/syndicate + id = /obj/item/card/id/syndicate_command/crew_id + shoes = /obj/item/clothing/shoes/jackboots + belt = /obj/item/pda/medical + shoes = /obj/item/clothing/shoes/sneakers/white + suit = /obj/item/clothing/suit/toggle/labcoat + alt_suit = /obj/item/clothing/suit/apron/surgical + l_hand = /obj/item/storage/firstaid/medical + suit_store = /obj/item/flashlight/pen + +/datum/outfit/job/syndicate/doctor/suns + name = "Medical Doctor (SUNS)" + +/datum/outfit/job/syndicate/doctor/cybersun + name = "Medical Doctor (Cybersun)" + + uniform = /obj/item/clothing/under/syndicate/medic + accessory = /obj/item/clothing/accessory/armband/medblue + shoes = /obj/item/clothing/shoes/jackboots + +/datum/outfit/job/syndicate/doctor/gorlex + name = "Medical Doctor (Gorlex)" + + uniform = /obj/item/clothing/under/syndicate/gorlex + glasses = /obj/item/clothing/glasses/hud/health/prescription + r_pocket = /obj/item/kitchen/knife/combat/survival + back = /obj/item/storage/backpack/duffelbag/syndie/med + id = /obj/item/card/id/syndicate_command/crew_id + backpack_contents = list(/obj/item/storage/box/survival/syndie=1, /obj/item/storage/firstaid/medical,) + +//paramedics + + +/datum/outfit/job/syndicate/paramedic + name = "Paramedic (Syndicate)" + jobtype = /datum/job/paramedic + + + id = /obj/item/card/id/syndicate_command/crew_id + uniform = /obj/item/clothing/under/syndicate/gorlex + alt_uniform = null + shoes = /obj/item/clothing/shoes/jackboots + + head = /obj/item/clothing/head/soft/paramedic + suit = /obj/item/clothing/suit/toggle/labcoat/paramedic + alt_suit = /obj/item/clothing/suit/apron/surgical + gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil + belt = /obj/item/storage/belt/medical/paramedic + id = /obj/item/card/id + l_pocket = /obj/item/pda/medical + suit_store = /obj/item/flashlight/pen + backpack_contents = list(/obj/item/roller=1) + pda_slot = ITEM_SLOT_LPOCKET + +/datum/outfit/job/syndicate/paramedic/gorlex + name = "Paramedic (Gorlex)" + +/datum/outfit/job/syndicate/paramedic/cybersun + name = "Field Medic (Cybersun Industries)" + + uniform = /obj/item/clothing/under/syndicate/medic + head = /obj/item/clothing/head/soft/cybersun/medical + shoes = /obj/item/clothing/shoes/combat + suit = /obj/item/clothing/suit/toggle/labcoat/raincoat + +/datum/outfit/job/syndicate/paramedic/twink + name = "Medic (Twinkleshine)" + + gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil + uniform = /obj/item/clothing/under/syndicate/medic + glasses = /obj/item/clothing/glasses/hud/health + belt = /obj/item/storage/belt/medical + back = /obj/item/storage/backpack/duffelbag/syndie/med + shoes = /obj/item/clothing/shoes/combat + suit = /obj/item/clothing/suit/longcoat/roboblack + alt_suit = /obj/item/clothing/suit/toggle/labcoat + suit_store = null + ears = /obj/item/radio/headset/syndicate + mask = /obj/item/clothing/mask/chameleon + id = /obj/item/card/id/syndicate_command/crew_id/med + implants = list(/obj/item/implant/weapons_auth) + backpack_contents = list(/obj/item/pda/brig_phys) + + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/syndie/med + courierbag = /obj/item/storage/backpack/messenger/sec + + box = /obj/item/storage/box/survival/syndie + +/datum/outfit/job/syndicate/paramedic/twink/post_equip(mob/living/carbon/human/H) + . = ..() + assign_codename(H) + +//psychologist + +/datum/outfit/job/syndicate/psychologist + name = "Psychologist (Syndicate)" + jobtype = /datum/job/psychologist + + id = /obj/item/card/id/syndicate_command/crew_id + uniform = /obj/item/clothing/under/rank/medical/psychiatrist + suit = /obj/item/clothing/suit/toggle/labcoat + shoes = /obj/item/clothing/shoes/laceup + alt_uniform = null + l_hand = /obj/item/clipboard + belt = /obj/item/pda/medical + pda_slot = ITEM_SLOT_BELT + +/datum/outfit/job/syndicate/psychologist/suns + name = "Ship Psychologist (SUNS)" + +//patient (prisoner) + +/datum/outfit/job/syndicate/patient + name = "Long Term Patient" + jobtype = /datum/job/prisoner + + id = /obj/item/card/id/patient + uniform = /obj/item/clothing/under/rank/medical/gown + alt_suit = null + shoes = /obj/item/clothing/shoes/sandal/slippers + +//Quartermaster + +/datum/outfit/job/syndicate/quartermaster + name = "Quartermaster (Syndicate)" + jobtype = /datum/job/qm + + id = /obj/item/card/id/syndicate_command/captain_id + + ears = /obj/item/radio/headset/syndicate/alt + uniform = /obj/item/clothing/under/syndicate/donk/qm + suit = /obj/item/clothing/suit/hazardvest/donk/qm + ears = /obj/item/radio/headset/syndicate/alt + shoes = /obj/item/clothing/shoes/laceup + belt = /obj/item/pda/quartermaster + glasses = /obj/item/clothing/glasses/sunglasses + l_hand = /obj/item/clipboard + backpack_contents = list(/obj/item/modular_computer/tablet/preset/cargo=1) + +/datum/outfit/job/syndicate/quartermaster/donk + name = "Manager (Donk! Co.)" + id = /obj/item/card/id/syndicate_command/captain_id + + ears = /obj/item/radio/headset/syndicate/alt + uniform = /obj/item/clothing/under/syndicate/donk/qm + suit = /obj/item/clothing/suit/hazardvest/donk/qm + ears = /obj/item/radio/headset/syndicate/alt + shoes = /obj/item/clothing/shoes/laceup + +//security officers + +/datum/outfit/job/syndicate/security + name = "Operative (Syndicate)" + jobtype = /datum/job/officer + + + uniform = /obj/item/clothing/under/syndicate + r_pocket = /obj/item/kitchen/knife/combat/survival + belt = /obj/item/storage/belt/military + back = /obj/item/storage/backpack + suit = /obj/item/clothing/suit/armor/vest + id = /obj/item/card/id/syndicate_command/crew_id + + ears = /obj/item/radio/headset/alt + gloves = /obj/item/clothing/gloves/color/black + head = /obj/item/clothing/head/helmet/sec + shoes = /obj/item/clothing/shoes/jackboots + l_pocket = /obj/item/restraints/handcuffs + r_pocket = /obj/item/assembly/flash/handheld + + backpack_contents = list( + /obj/item/melee/baton/loaded=1, + ) + + +/datum/outfit/job/syndicate/security/gorlex + name = "Assault Operative (Gorlex)" + +/datum/outfit/job/syndicate/security/twink + name = "Operative (Twinkleshine)" + uniform = /obj/item/clothing/under/syndicate/combat + ears = /obj/item/radio/headset/syndicate/alt + mask = /obj/item/clothing/mask/chameleon + gloves = /obj/item/clothing/gloves/combat + shoes = /obj/item/clothing/shoes/combat + l_pocket = /obj/item/gun/ballistic/automatic/pistol + r_pocket = /obj/item/kitchen/knife/combat/survival + belt = /obj/item/storage/belt/military/assault + id = /obj/item/card/id/syndicate_command/crew_id + implants = list(/obj/item/implant/weapons_auth) + backpack_contents = list(/obj/item/gun_voucher/syndicate=1) + + head = null + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/syndie + courierbag = /obj/item/storage/backpack/messenger/sec + + box = /obj/item/storage/box/survival/syndie + +/datum/outfit/job/syndicate/security/twink/post_equip(mob/living/carbon/human/H) + . = ..() + assign_codename(H) + +//Miners + +/datum/outfit/job/syndicate/miner + name = "Miner (Syndicate)" + jobtype = /datum/job/mining + + belt = /obj/item/pda/shaftminer + ears = /obj/item/radio/headset/headset_cargo/mining + shoes = /obj/item/clothing/shoes/workboots/mining + gloves = /obj/item/clothing/gloves/explorer + uniform = /obj/item/clothing/under/rank/cargo/miner/lavaland + l_pocket = /obj/item/reagent_containers/hypospray/medipen/survival + r_pocket = /obj/item/storage/bag/ore + backpack_contents = list( + /obj/item/flashlight/seclite=1,\ + /obj/item/kitchen/knife/combat/survival=1,\ + /obj/item/mining_voucher=1,\ + /obj/item/stack/marker_beacon/ten=1) + +/datum/outfit/job/syndicate/miner/gorlex + name = "Wrecker (Gorlex Marauders)" + + uniform = /obj/item/clothing/under/syndicate/gorlex + shoes = /obj/item/clothing/shoes/workboots + ears = /obj/item/radio/headset/alt + +/datum/outfit/job/syndicate/miner/twink + name = "Miner (Twinkleshine)" + + uniform = /obj/item/clothing/under/syndicate/gorlex + shoes = /obj/item/clothing/shoes/workboots + glasses = /obj/item/clothing/glasses/meson/night + gloves = /obj/item/clothing/gloves/explorer + ears = /obj/item/radio/headset/syndicate + mask = /obj/item/clothing/mask/chameleon + r_pocket = /obj/item/kitchen/knife/combat/survival + belt = /obj/item/storage/belt/mining/alt + implants = list(/obj/item/implant/weapons_auth) + id = /obj/item/card/id/syndicate_command/crew_id/engi + + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/syndie + courierbag = /obj/item/storage/backpack/messenger/sec + + box = /obj/item/storage/box/survival/mining + +/datum/outfit/job/syndicate/miner/twink/post_equip(mob/living/carbon/human/H) + . = ..() + assign_codename(H) + +/datum/outfit/job/syndicate/miner/cybersun + name = "Field Agent (Cybersun)" + + id = /obj/item/card/id/syndicate_command/crew_id + ears = /obj/item/radio/headset + uniform = /obj/item/clothing/under/syndicate/cybersun + accessory = /obj/item/clothing/accessory/armband/cargo + head = /obj/item/clothing/head/soft/cybersun + r_pocket = /obj/item/radio + +/datum/outfit/job/syndicate/miner/gec + name = "Shaft Miner (GEC)" + + id = /obj/item/card/id/syndicate_command/crew_id + ears = /obj/item/radio/headset + uniform = /obj/item/clothing/under/syndicate + alt_uniform = null + accessory = /obj/item/clothing/accessory/armband/cargo + head = /obj/item/clothing/head/soft/black + r_pocket = /obj/item/radio + head = /obj/item/clothing/head/hardhat/orange + suit = /obj/item/clothing/suit/toggle/industrial + suit_store = /obj/item/tank/internals/emergency_oxygen/double + +//"station" engineers + +/datum/outfit/job/syndicate/engineer + name = "Ship Technician (Syndicate)" + jobtype = /datum/job/engineer + + id = /obj/item/card/id/syndicate_command/crew_id + uniform = /obj/item/clothing/under/syndicate/aclfgrunt + accessory = /obj/item/clothing/accessory/armband/engine + glasses = /obj/item/clothing/glasses/sunglasses + shoes = /obj/item/clothing/shoes/jackboots + + belt = /obj/item/storage/belt/utility/full/engi + l_pocket = /obj/item/pda/engineering + head = /obj/item/clothing/head/hardhat/dblue + r_pocket = /obj/item/t_scanner + + box = /obj/item/storage/box/survival/engineer + pda_slot = ITEM_SLOT_LPOCKET + backpack_contents = list(/obj/item/modular_computer/tablet/preset/advanced=1) + +/datum/outfit/job/syndicate/engineer/gec + name = "Ship Engineer (GEC)" + + uniform = /obj/item/clothing/under/syndicate/gec + suit = /obj/item/clothing/suit/toggle/hazard + head = /obj/item/clothing/head/hardhat + id = /obj/item/card/id/syndicate_command/crew_id + +/datum/outfit/job/syndicate/engineer/gorlex + name = "Mechanic (Gorlex Marauders)" + + uniform = /obj/item/clothing/under/syndicate/gorlex + shoes = /obj/item/clothing/shoes/workboots + alt_uniform = null + glasses = null + +/datum/outfit/job/syndicate/engineer/twink + name = "Ship Engineer (Twinkleshine)" + + uniform = /obj/item/clothing/under/syndicate/gec + accessory = null + glasses = /obj/item/clothing/glasses/meson/night + head = /obj/item/clothing/head/hardhat/orange + gloves = /obj/item/clothing/gloves/tackler/combat/insulated + ears = /obj/item/radio/headset/syndicate + mask = /obj/item/clothing/mask/chameleon + back = /obj/item/storage/backpack/industrial + belt = /obj/item/storage/belt/utility/syndicate + shoes = /obj/item/clothing/shoes/combat + suit = /obj/item/clothing/suit/hazardvest + alt_suit = /obj/item/clothing/suit/toggle/hazard + implants = list(/obj/item/implant/weapons_auth) + id = /obj/item/card/id/syndicate_command/crew_id/engi + backpack_contents = list(/obj/item/construction/rcd/combat, /obj/item/rcd_ammo/large) + + box = /obj/item/storage/box/survival/syndie + +/datum/outfit/job/syndicate/engineer/twink/post_equip(mob/living/carbon/human/H) + . = ..() + assign_codename(H) + +/datum/outfit/job/syndicate/engineer/cybersun + name = "Engineer (Cybersun)" + + uniform = /obj/item/clothing/under/syndicate/cybersun/research + shoes = /obj/item/clothing/shoes/workboots + r_pocket = /obj/item/radio + head = /obj/item/clothing/head/soft/cybersun + accessory = /obj/item/clothing/accessory/armband/engine diff --git a/code/modules/clothing/outfits/vr.dm b/code/modules/clothing/outfits/vr.dm deleted file mode 100644 index 825dd8e46c32..000000000000 --- a/code/modules/clothing/outfits/vr.dm +++ /dev/null @@ -1,41 +0,0 @@ -/datum/outfit/vr - name = "Basic VR" - uniform = /obj/item/clothing/under/color/random - shoes = /obj/item/clothing/shoes/sneakers/black - ears = /obj/item/radio/headset - id = /obj/item/card/id - -/datum/outfit/vr/pre_equip(mob/living/carbon/human/H) - H.dna.species.before_equip_job(null, H) - -/datum/outfit/vr/post_equip(mob/living/carbon/human/H) - var/obj/item/card/id/id = H.wear_id - if (istype(id)) - id.access |= get_all_accesses() - -/datum/outfit/vr/syndicate - name = "Syndicate VR Operative - Basic" - uniform = /obj/item/clothing/under/syndicate - shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/tackler/combat/insulated - back = /obj/item/storage/backpack - id = /obj/item/card/id/syndicate - belt = /obj/item/gun/ballistic/automatic/pistol - l_pocket = /obj/item/paper/fluff/vr/fluke_ops - backpack_contents = list(/obj/item/storage/box/survival/syndie=1,\ - /obj/item/kitchen/knife/combat/survival) - -/datum/outfit/vr/syndicate/post_equip(mob/living/carbon/human/H) - . = ..() - var/obj/item/uplink/U = new /obj/item/uplink/nuclear_restricted(H, H.key, 80) - H.equip_to_slot_or_del(U, ITEM_SLOT_BACKPACK) - var/obj/item/implant/weapons_auth/W = new/obj/item/implant/weapons_auth(H) - W.implant(H) - var/obj/item/implant/explosive/E = new/obj/item/implant/explosive(H) - E.implant(H) - H.faction |= ROLE_SYNDICATE - H.update_icons() - -/obj/item/paper/fluff/vr/fluke_ops - name = "Where is my uplink?" - default_raw_text = "Use the radio in your backpack." diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index c24759933dd6..05db2331fc49 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -59,7 +59,7 @@ . = ..() if(can_be_tied && tied == SHOES_UNTIED) our_alert = user.throw_alert("shoealert", /atom/movable/screen/alert/shoes/untied) - RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, .proc/check_trip, override=TRUE) + RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, PROC_REF(check_trip), override=TRUE) /obj/item/clothing/shoes/proc/restore_offsets(mob/user) @@ -110,7 +110,7 @@ else if(tied == SHOES_UNTIED && our_guy && user == our_guy) our_alert = our_guy.throw_alert("shoealert", /atom/movable/screen/alert/shoes/untied) // if we're the ones unknotting our own laces, of course we know they're untied - RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, .proc/check_trip, override=TRUE) + RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, PROC_REF(check_trip), override=TRUE) /** * handle_tying deals with all the actual tying/untying/knotting, inferring your intent from who you are in relation to the state of the laces @@ -134,7 +134,7 @@ if(user == loc && tied != SHOES_TIED) // if they're our own shoes, go tie-wards user.visible_message("[user] begins [tied ? "unknotting" : "tying"] the laces of [user.p_their()] [src.name].", "You begin [tied ? "unknotting" : "tying"] the laces of your [src.name]...") - if(do_after(user, lace_time, needhand=TRUE, target=our_guy, extra_checks=CALLBACK(src, .proc/still_shoed, our_guy))) + if(do_after(user, lace_time, needhand=TRUE, target=our_guy, extra_checks=CALLBACK(src, PROC_REF(still_shoed), our_guy))) to_chat(user, "You [tied ? "unknot" : "tie"] the laces of your [src.name].") if(tied == SHOES_UNTIED) adjust_laces(SHOES_TIED, user) @@ -155,7 +155,7 @@ if(HAS_TRAIT(user, TRAIT_CLUMSY)) // based clowns trained their whole lives for this mod_time *= 0.75 - if(do_after(user, mod_time, needhand=TRUE, target=our_guy, extra_checks=CALLBACK(src, .proc/still_shoed, our_guy))) + if(do_after(user, mod_time, needhand=TRUE, target=our_guy, extra_checks=CALLBACK(src, PROC_REF(still_shoed), our_guy))) to_chat(user, "You [tied ? "untie" : "knot"] the laces on [loc]'s [src.name].") if(tied == SHOES_UNTIED) adjust_laces(SHOES_KNOTTED, user) @@ -210,7 +210,7 @@ to_chat(our_guy, "You stumble a bit on your untied shoelaces!") if(!our_guy.has_movespeed_modifier(/datum/movespeed_modifier/shove)) our_guy.add_movespeed_modifier(/datum/movespeed_modifier/shove) - addtimer(CALLBACK(our_guy, /mob/living/carbon/proc/clear_shove_slowdown), SHOVE_SLOWDOWN_LENGTH) + addtimer(CALLBACK(our_guy, TYPE_PROC_REF(/mob/living/carbon, clear_shove_slowdown)), SHOVE_SLOWDOWN_LENGTH) if(26 to 1000) wiser = FALSE @@ -232,6 +232,6 @@ to_chat(user, "You begin [tied ? "untying" : "tying"] the laces on [src]...") - if(do_after(user, lace_time, needhand=TRUE, target=src,extra_checks=CALLBACK(src, .proc/still_shoed, user))) + if(do_after(user, lace_time, needhand=TRUE, target=src,extra_checks=CALLBACK(src, PROC_REF(still_shoed), user))) to_chat(user, "You [tied ? "untie" : "tie"] the laces on [src].") adjust_laces(tied ? SHOES_TIED : SHOES_UNTIED, user) diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 90e9248fbe6c..03abdf1325f8 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -362,13 +362,13 @@ active = TRUE set_light_color(rgb(rand(0, 255), rand(0, 255), rand(0, 255))) set_light_on(active) - addtimer(CALLBACK(src, .proc/lightUp), 0.5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(lightUp)), 0.5 SECONDS) /obj/item/clothing/shoes/kindleKicks/proc/lightUp(mob/user) if(lightCycle < 15) set_light_color(rgb(rand(0, 255), rand(0, 255), rand(0, 255))) lightCycle++ - addtimer(CALLBACK(src, .proc/lightUp), 0.5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(lightUp)), 0.5 SECONDS) else lightCycle = 0 active = FALSE diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index 9c1bf3acdc0c..6bbde7b4a4dc 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -142,12 +142,12 @@ user.Stun(INFINITY) animate(user, color = "#00ccee", time = 3) - phase_timer_id = addtimer(CALLBACK(src, .proc/phase_2, user, to_turf, phase_in_ds), 3, TIMER_STOPPABLE) + phase_timer_id = addtimer(CALLBACK(src, PROC_REF(phase_2), user, to_turf, phase_in_ds), 3, TIMER_STOPPABLE) /obj/item/clothing/suit/space/chronos/proc/phase_2(mob/living/carbon/human/user, turf/to_turf, phase_in_ds) if(teleporting && activated && user) animate(user, color = list(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 1,1,1,0), time = 2) - phase_timer_id = addtimer(CALLBACK(src, .proc/phase_3, user, to_turf, phase_in_ds), 2, TIMER_STOPPABLE) + phase_timer_id = addtimer(CALLBACK(src, PROC_REF(phase_3), user, to_turf, phase_in_ds), 2, TIMER_STOPPABLE) else finish_chronowalk(user, to_turf) @@ -155,14 +155,14 @@ if(teleporting && activated && user) user.forceMove(to_turf) animate(user, color = "#00ccee", time = phase_in_ds) - phase_timer_id = addtimer(CALLBACK(src, .proc/phase_4, user, to_turf), phase_in_ds, TIMER_STOPPABLE) + phase_timer_id = addtimer(CALLBACK(src, PROC_REF(phase_4), user, to_turf), phase_in_ds, TIMER_STOPPABLE) else finish_chronowalk(user, to_turf) /obj/item/clothing/suit/space/chronos/proc/phase_4(mob/living/carbon/human/user, turf/to_turf) if(teleporting && activated && user) animate(user, color = "#ffffff", time = 3) - phase_timer_id = addtimer(CALLBACK(src, .proc/finish_chronowalk, user, to_turf), 3, TIMER_STOPPABLE) + phase_timer_id = addtimer(CALLBACK(src, PROC_REF(finish_chronowalk), user, to_turf), 3, TIMER_STOPPABLE) else finish_chronowalk(user, to_turf) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index de5874c98d38..b4fa1a1282f6 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -637,7 +637,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/rd/Initialize() . = ..() - RegisterSignal(SSdcs, COMSIG_GLOB_EXPLOSION, .proc/sense_explosion) + RegisterSignal(SSdcs, COMSIG_GLOB_EXPLOSION, PROC_REF(sense_explosion)) /obj/item/clothing/head/helmet/space/hardsuit/rd/equipped(mob/living/carbon/human/user, slot) ..() @@ -820,7 +820,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/on_mob_move) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_mob_move)) listeningTo = user /obj/item/clothing/suit/space/hardsuit/ancient/dropped() diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index e6e15c51aecc..9f7afba9fb4b 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -326,7 +326,7 @@ //bomb scanner for RD helmet /obj/item/clothing/head/helmet/space/plasmaman/rd/Initialize() . = ..() - RegisterSignal(SSdcs, COMSIG_GLOB_EXPLOSION, .proc/sense_explosion) + RegisterSignal(SSdcs, COMSIG_GLOB_EXPLOSION, PROC_REF(sense_explosion)) /obj/item/clothing/head/helmet/space/plasmaman/rd/equipped(mob/living/carbon/human/user, slot) ..() diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 4ea59b14384a..d0eba4833ea5 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -56,6 +56,11 @@ name = "large tactical armor vest" icon_state = "marine_heavy" +/obj/item/clothing/suit/armor/vest/marine/trauma + name = "cybersun trauma team armor vest" + icon_state = "traumavest" + desc = "A set of stamped plasteel armor plates decorated with a medical cross and colors associated with the medical division of Cybersun." + /obj/item/clothing/suit/armor/vest/old name = "degrading armor vest" desc = "Older generation Type 1 armored vest. Due to degradation over time the vest is far less maneuverable to move in." @@ -143,12 +148,23 @@ desc = "A sinister looking vest of advanced armor worn over a black and red fireproof jacket. The gold collar and shoulders denote that this belongs to a high ranking syndicate officer." icon_state = "carapace_syndie" +/obj/item/clothing/suit/armor/vest/capcarapace/cybersun + name = "cybersun captain's haori" + desc = "An extraordinarily fashionable haori, utilized by cybersun captains. Weaved with armored fabric to protect the user from gunshots." + icon_state = "cybersunhaori" + /obj/item/clothing/suit/armor/vest/capcarapace/alt name = "captain's parade jacket" desc = "For when an armoured vest isn't fashionable enough." icon_state = "carapace_ntformal" item_state = "capspacesuit" +/obj/item/clothing/suit/armor/vest/capcarapace/captunic + name = "captain's parade coat" + desc = "Worn by a Captain to show their class." + icon_state = "carapace_formal" + item_state = "bio_suit" + /obj/item/clothing/suit/armor/vest/capcarapace/minutemen name = "colonial minutemen general coat" desc = "A very fancy coat used by generals of the Colonial Minutemen." diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index d584d07b9bfd..14f721334462 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -12,7 +12,6 @@ greyscale_colors = list(list(11, 15), list(12, 22), list(12, 22)) greyscale_icon_state = "cloak" - /obj/item/clothing/neck/cloak/hos name = "head of security's cloak" desc = "Worn by Securistan, ruling their watch with an iron fist." diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 241b231043fe..c9c0edd2def8 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -22,16 +22,6 @@ body_parts_covered = CHEST|GROIN|LEGS permeability_coefficient = 0.5 -//Captain -/obj/item/clothing/suit/captunic - name = "captain's parade tunic" - desc = "Worn by a Captain to show their class." - icon_state = "captunic" - item_state = "bio_suit" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - flags_inv = HIDEJUMPSUIT - allowed = list(/obj/item/disk, /obj/item/stamp, /obj/item/reagent_containers/food/drinks/flask, /obj/item/melee, /obj/item/storage/lockbox/medal, /obj/item/assembly/flash/handheld, /obj/item/storage/box/matches, /obj/item/lighter, /obj/item/clothing/mask/cigarette, /obj/item/storage/fancy/cigarettes, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) - //Chef /obj/item/clothing/suit/toggle/chef name = "chef's apron" diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 466e75b012f7..5bb6923dec73 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -343,6 +343,12 @@ * Misc */ +/obj/item/clothing/suit/cybersun_suit + name = "cybersun suit" + desc = "A plain white suit commonly used by Cybersun's officers." + icon_state = "cybersun_suit" + item_state = "cybersun_suit" + /obj/item/clothing/suit/straight_jacket name = "straight jacket" desc = "A suit that completely restrains the wearer. Manufactured by Antyphun Corp." //Straight jacket is antifun diff --git a/code/modules/clothing/towels.dm b/code/modules/clothing/towels.dm new file mode 100644 index 000000000000..22c1b29976fc --- /dev/null +++ b/code/modules/clothing/towels.dm @@ -0,0 +1,206 @@ +/// Default shape of the towel, when it's folded. +#define TOWEL_FOLDED "" +/// Chest-down variant of the towel. +#define TOWEL_FULL "chest" +/// Waist-down variant of the towel. +#define TOWEL_WAIST "waist" +/// Head variant of the towel. +#define TOWEL_HEAD "head" +/// Shape of the towel when it has been used, and is no longer neatly folded. +#define TOWEL_USED "used" + +/// Icon path to the obj icon of the towel. +#define TOWEL_OBJ_ICON 'icons/obj/clothing/towel.dmi' +/// Icon path to the worn icon of the towel. +#define TOWEL_WORN_ICON 'icons/mob/clothing/towel.dmi' + +/// How much cloth goes into a towel. +#define TOWEL_CLOTH_AMOUNT 2 + +/obj/item/towel + name = "towel" + desc = "Everyone knows what a towel is. Use it to dry yourself, or wear it around your chest, your waist or even your head!" + icon = TOWEL_OBJ_ICON + mob_overlay_icon = TOWEL_WORN_ICON + icon_state = "towel" + base_icon_state = "towel" + force = 0 + throwforce = 0 + throw_speed = 1 + throw_range = 3 // They're not very aerodynamic. + w_class = WEIGHT_CLASS_SMALL // Don't ask me why other cloth-related items are considered tiny, and not small like this one. + item_flags = NOBLUDGEON + resistance_flags = FLAMMABLE + flags_inv = HIDEHAIR // Only relevant when in head shape, but useful to keep around regardless. + supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + /// The shape we're currently in. + var/shape = TOWEL_FOLDED + +/obj/item/towel/examine(mob/user) + . = ..() + + if(!ishuman(user) && !iscyborg(user)) + return + + . += "" // Just for an empty line + + var/in_hands = TRUE + if(ishuman(user)) + in_hands = user.get_active_held_item() == src || user.get_inactive_held_item() == src + + if(in_hands) + . += span_notice("Use in hand to shape [src] into something different.") + + if(iscyborg(user)) + return + + if(in_hands && shape != TOWEL_FOLDED) + . += span_notice("Ctrl-click to fold [src] neatly.") + + if(shape == TOWEL_FULL || shape == TOWEL_WAIST) + . += span_notice("Alt-click to adjust the fit of [src].") + +/obj/item/towel/attack_self(mob/user, modifiers) + . = ..() + + /// Initializing this only once to avoid having to do it every time + var/static/list/datum/radial_menu_choice/worn_options = list() + + if(!length(worn_options)) + for(var/variant in list(TOWEL_FULL, TOWEL_WAIST, TOWEL_HEAD)) + var/datum/radial_menu_choice/option = new + var/image/variant_image = image(icon = TOWEL_OBJ_ICON, icon_state = "[base_icon_state]-[variant]") + + option.image = variant_image + worn_options[capitalize(variant)] = option + + var/choice = show_radial_menu(user, src, worn_options, require_near = TRUE, tooltips = TRUE) + + if(!choice) + return + + change_towel_shape(user, lowertext(choice)) + +/obj/item/towel/attackby(obj/item/I, mob/user, params) + if(I.tool_behaviour == TOOL_WIRECUTTER || I.get_sharpness()) + var/obj/item/stack/sheet/cotton/cloth/shreds = new (get_turf(src), 3) + if(!QDELETED(shreds)) //stacks merged + transfer_fingerprints_to(shreds) + shreds.add_fingerprint(user) + qdel(src) + to_chat(user, "You tear [src] up.") + else + return ..() + +/obj/item/towel/CtrlClick(mob/user) + . = ..() + + if(. == FALSE) + return + if(shape == TOWEL_FOLDED) + to_chat(user, span_warning("You can't fold a towel that's already folded!")) + var/in_hands = TRUE + if(ishuman(user) && shape == TOWEL_USED) + in_hands = user.get_active_held_item() == src || user.get_inactive_held_item() == src + if(in_hands) + change_towel_shape(user, TOWEL_FOLDED, silent = TRUE) + to_chat(user, span_notice("You fold [src] up neatly.")) + return + +/obj/item/towel/AltClick(mob/user) + . = ..() + + if(. == FALSE) + return + + if(!(shape == TOWEL_FULL || shape == TOWEL_WAIST)) + return FALSE + + if(!ishuman(user)) + return FALSE + + var/mob/living/carbon/human/towel_user = user + var/worn = towel_user.wear_suit == src + + change_towel_shape(user, shape == TOWEL_FULL ? TOWEL_WAIST : TOWEL_FULL, silent = worn) + + // No need to display the different message if they're not wearing it. + if(!worn) + return + + to_chat(user, span_notice(shape == TOWEL_FULL ? "You raise \the [src] over your [shape]." : "You lower \the [src] down to your [shape].")) + +/obj/item/towel/machine_wash(obj/machinery/washing_machine/washer) + . = ..() // This isn't really needed, including it in case we ever get dyeable towels. + make_used(null, silent = TRUE) + +/obj/item/towel/dropped(mob/user, silent) + . = ..() + + if(!ishuman(loc) && shape != TOWEL_FOLDED) + make_used(user, silent = TRUE) + +/* + * Helper to change the shape of the towel, so that it updates its look both + * in-hand and on the body of the wearer. + * + * Arguments: + * * user - Mob that's trying to change the shape of the towel. + * * new_shape - The new shape that the towel can be in. + * * silent (optional) - Whether we produce a to_chat to the user to elaborate on + * the new shape it is now in. Requires `user` to be non-null if `TRUE` in order to + * do anything. Defaults to `FALSE`. + */ +/obj/item/towel/proc/change_towel_shape(mob/user, new_shape, silent = FALSE) + if(new_shape == shape) + return + + shape = new_shape + + icon_state = "[base_icon_state][shape ? "-[shape]" : ""]" + + if(shape == TOWEL_HEAD) + flags_inv |= HIDEHAIR + else + flags_inv &= ~HIDEHAIR + + update_appearance() + update_slot_related_flags() + + if(!silent && user) + to_chat(user, span_notice(shape ? "You adjust [src] so that it can be worn over your [shape]." : "You fold [src] neatly.")) + +/* + * Helper proc to change the slot flags of the towel based on its shape. + */ +/obj/item/towel/proc/update_slot_related_flags() + switch(shape) + if(TOWEL_FULL) + slot_flags = ITEM_SLOT_OCLOTHING + body_parts_covered = CHEST | GROIN | LEGS + + if(TOWEL_WAIST) + slot_flags = ITEM_SLOT_OCLOTHING + body_parts_covered = GROIN | LEGS + + if(TOWEL_HEAD) + slot_flags = ITEM_SLOT_HEAD + body_parts_covered = HEAD + + else + slot_flags = NONE + body_parts_covered = NONE + + update_slot_icon() + +/* + * Simple helper to make the towel into a used towel shape. + * + * Arguments: + * * user - Mob that's making the towel used. Can be null if `silent` is `FALSE`. + * * silent (optional) - Whether we produce a to_chat to the user to elaborate on + * the new shape it is now in. Requires `user` to be non-null if `TRUE` in order to + * do anything. Defaults to `FALSE`. + */ +/obj/item/towel/proc/make_used(mob/user, silent = FALSE) + change_towel_shape(user, TOWEL_USED, silent) diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index e3e8be62bab7..5fc4cc67390b 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -75,7 +75,7 @@ UnregisterSignal(detached_pockets, COMSIG_PARENT_QDELETING) detached_pockets = new_pocket if(detached_pockets) - RegisterSignal(detached_pockets, COMSIG_PARENT_QDELETING, .proc/handle_pockets_del) + RegisterSignal(detached_pockets, COMSIG_PARENT_QDELETING, PROC_REF(handle_pockets_del)) /obj/item/clothing/accessory/proc/handle_pockets_del(datum/source) SIGNAL_HANDLER diff --git a/code/modules/clothing/under/jobs/command.dm b/code/modules/clothing/under/jobs/command.dm index 5c319344bf56..8edb11ba91cc 100644 --- a/code/modules/clothing/under/jobs/command.dm +++ b/code/modules/clothing/under/jobs/command.dm @@ -20,7 +20,7 @@ /obj/item/clothing/under/rank/command/nt/skirt desc = "A standard command jumpskirt." name = "command jumpskirt" - icon_state = "cmd_skirt" + icon_state = "cmd_nt_skirt" body_parts_covered = CHEST|GROIN|ARMS supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION @@ -113,13 +113,13 @@ //Lieutenant -/obj/item/clothing/under/rank/command/lieutenant +/obj/item/clothing/under/rank/command desc = "A standard command jumpsuit in the colours of the Lieutenant." name = "\improper lieutenant jumpsuit" icon_state = "lt" can_adjust = FALSE -/obj/item/clothing/under/rank/command/lieutenant/skirt +/obj/item/clothing/under/rank/command/skirt desc = "A command jumpskirt in the colours of the Lieutenant." name = "\improper lieutenant jumpskirt" icon_state = "lt_skirt" @@ -127,13 +127,13 @@ can_adjust = FALSE supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION -/obj/item/clothing/under/rank/command/lieutenant/nt +/obj/item/clothing/under/rank/command/nt desc = "A standard command jumpsuit in the colours of the Lieutenant." name = "\improper lieutenant blue jumpsuit" icon_state = "lt_nt" item_state = "b_suit" -/obj/item/clothing/under/rank/command/lieutenant/nt/skirt +/obj/item/clothing/under/rank/command/nt/skirt desc = "A command jumpskirt in the colours of the Lieutenant." name = "\improper lieutenant blue jumpskirt" icon_state = "lt_nt_skirt" diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 0f5472a80407..251743a5cdad 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -276,6 +276,7 @@ icon_state = "minuteman" item_state = "b_suit" can_adjust = FALSE + supports_variations = DIGITIGRADE_VARIATION /obj/item/clothing/under/rank/security/officer/camo name = "fatigues" diff --git a/code/modules/clothing/under/pants.dm b/code/modules/clothing/under/pants.dm index 23800bf4a799..3a2475129acc 100644 --- a/code/modules/clothing/under/pants.dm +++ b/code/modules/clothing/under/pants.dm @@ -7,28 +7,13 @@ mob_overlay_icon = 'icons/mob/clothing/under/shorts_pants.dmi' greyscale_colors = list(list(14, 10), list(16, 10), list(16, 9)) greyscale_icon_state = "pants" - -/obj/item/clothing/under/pants/classicjeans - name = "classic jeans" - desc = "You feel cooler already." - icon_state = "jeansclassic" - -/obj/item/clothing/under/pants/mustangjeans - name = "Must Hang jeans" - desc = "Made in the finest space jeans factory this side of Alpha Centauri." - icon_state = "jeans" - custom_price = 180 + supports_variations = DIGITIGRADE_VARIATION /obj/item/clothing/under/pants/blackjeans name = "black jeans" desc = "Only for those who can pull it off." icon_state = "jeansblack" -/obj/item/clothing/under/pants/youngfolksjeans - name = "Young Folks jeans" - desc = "For those tired of boring old jeans. Relive the passion of your youth!" - icon_state = "jeansclassic" - /obj/item/clothing/under/pants/white name = "white pants" desc = "Plain white pants. Boring." diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index 30b47b4c3287..e2e972ab70ae 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -115,6 +115,12 @@ supports_variations = DIGITIGRADE_VARIATION | KEPORI_VARIATION /obj/item/clothing/under/syndicate/cybersun + name = "cybersun jumpsuit" + desc = "The standard jumpsuit used by the agents employed by Cybersun, in its distinctive half-black-half-white aesthetic." + icon_state = "cybersun_agent" + alt_covers_chest = TRUE + +/obj/item/clothing/under/syndicate/cybersun/research name = "Cybersun coveralls" desc = "Nomex coveralls worn by workers and research personnel employed by Cybersun industries." icon_state = "cybersun" @@ -122,12 +128,20 @@ alt_covers_chest = TRUE supports_variations = DIGITIGRADE_VARIATION | KEPORI_VARIATION +/obj/item/clothing/under/syndicate/cybersun/officer + name = "cybersun officer's suit" + desc = "A crimson-red suit used by the officers employed by Cybersun." + icon_state = "cybersun_officer" + alt_covers_chest = TRUE + supports_variations = DIGITIGRADE_VARIATION + /obj/item/clothing/under/syndicate/medic name = "Cybersun medical jumpsuit" desc = "Sterile coveralls worn by Cybersun Industries field medics for protection against biological hazards." icon_state = "cybersun_med" permeability_coefficient = 0.5 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) + supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION | KEPORI_VARIATION /obj/item/clothing/under/syndicate/medic/skirt name = "Cybersun medical jumpskirt" diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index ffc7737284df..6b7f6f19fa2f 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -35,7 +35,7 @@ if(log.len && !scanning) scanning = 1 to_chat(user, "Printing report, please wait...") - addtimer(CALLBACK(src, .proc/PrintReport), 100) + addtimer(CALLBACK(src, PROC_REF(PrintReport)), 100) else to_chat(user, "The scanner has no logs or is in use.") diff --git a/code/modules/donator/_donator.dm b/code/modules/donator/_donator.dm index 02631ee8ea28..b18dbe8f78b3 100644 --- a/code/modules/donator/_donator.dm +++ b/code/modules/donator/_donator.dm @@ -12,8 +12,8 @@ GLOBAL_PROTECT(donators) . = ..() donator = GLOB.donators[ckey] || new /datum/donator(src) donator.owner = src - add_verb(src, .proc/do_donator_redemption) - add_verb(src, .proc/do_donator_wcir) + add_verb(src, /client/proc/do_donator_redemption) + add_verb(src, /client/proc/do_donator_wcir) /client/Destroy() . = ..() diff --git a/code/modules/economy/selling_pad.dm b/code/modules/economy/selling_pad.dm index 56cafbc35a72..46d660c5cec3 100644 --- a/code/modules/economy/selling_pad.dm +++ b/code/modules/economy/selling_pad.dm @@ -176,7 +176,7 @@ status_report = "Sending..." sell_pad.visible_message("[sell_pad] starts charging up.") sell_pad.icon_state = "lpad-idle" - sending_timer = addtimer(CALLBACK(src,.proc/send),warmup_time, TIMER_STOPPABLE) + sending_timer = addtimer(CALLBACK(src, PROC_REF(send)),warmup_time, TIMER_STOPPABLE) /obj/machinery/computer/selling_pad_control/proc/stop_sending() if(!sending) diff --git a/code/modules/events/fake_virus.dm b/code/modules/events/fake_virus.dm index 0e21622c72c5..9e4ac8f570a0 100644 --- a/code/modules/events/fake_virus.dm +++ b/code/modules/events/fake_virus.dm @@ -25,7 +25,7 @@ for(var/i=1; i<=rand(1,defacto_min); i++) var/mob/living/carbon/human/onecoughman = pick(fake_virus_victims) if(prob(25))//1/4 odds to get a spooky message instead of coughing out loud - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, onecoughman, "[pick("Your head hurts.", "Your head pounds.")]"), rand(30,150)) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), onecoughman, "[pick("Your head hurts.", "Your head pounds.")]"), rand(30,150)) else addtimer(CALLBACK(onecoughman, .mob/proc/emote, pick("cough", "sniff", "sneeze")), rand(30,150))//deliver the message with a slightly randomized time interval so there arent multiple people coughing at the exact same time fake_virus_victims -= onecoughman diff --git a/code/modules/events/fugitive_spawning.dm b/code/modules/events/fugitive_spawning.dm deleted file mode 100644 index 8cf295310282..000000000000 --- a/code/modules/events/fugitive_spawning.dm +++ /dev/null @@ -1,112 +0,0 @@ -/datum/round_event_control/fugitives - name = "Spawn Fugitives" - typepath = /datum/round_event/ghost_role/fugitives - max_occurrences = 1 - min_players = 20 - earliest_start = 30 MINUTES //deadchat sink, lets not even consider it early on. - gamemode_blacklist = list("nuclear") - -/datum/round_event/ghost_role/fugitives - minimum_required = 1 - role_name = "fugitive" - fakeable = FALSE - -/datum/round_event/ghost_role/fugitives/spawn_role() - var/list/possible_spawns = list()//Some xeno spawns are in some spots that will instantly kill the refugees, like atmos - for(var/turf/X in GLOB.xeno_spawn) - if(istype(X.loc, /area/ship/maintenance)) - possible_spawns += X - if(!possible_spawns.len) - message_admins("No valid spawn locations found, aborting...") - return MAP_ERROR - var/turf/landing_turf = pick(possible_spawns) - var/list/possible_backstories = list() - var/list/candidates = get_candidates(ROLE_TRAITOR, null, ROLE_TRAITOR) - if(candidates.len >= 1) //solo refugees - if(prob(30)) - possible_backstories.Add("waldo") //less common as it comes with magicks and is kind of immershun shattering - else //For accurate deadchat feedback - minimum_required = 4 - if(candidates.len >= 4)//group refugees - possible_backstories.Add("prisoner", "cultist", "synth") - if(!possible_backstories.len) - return NOT_ENOUGH_PLAYERS - - var/backstory = pick(possible_backstories) - var/member_size = 3 - var/leader - switch(backstory) - if("synth") - leader = pick_n_take(candidates) - if("waldo") - member_size = 0 //solo refugees have no leader so the member_size gets bumped to one a bit later - var/list/members = list() - var/list/spawned_mobs = list() - if(isnull(leader)) - member_size++ //if there is no leader role, then the would be leader is a normal member of the team. - - for(var/i in 1 to member_size) - members += pick_n_take(candidates) - - for(var/mob/dead/selected in members) - var/mob/living/carbon/human/S = gear_fugitive(selected, landing_turf, backstory) - spawned_mobs += S - if(!isnull(leader)) - gear_fugitive_leader(leader, landing_turf, backstory) - -//after spawning - playsound(src, 'sound/weapons/emitter.ogg', 50, TRUE) - new /obj/item/storage/toolbox/mechanical(landing_turf) //so they can actually escape maint - addtimer(CALLBACK(src, .proc/spawn_hunters), 10 MINUTES) - role_name = "fugitive hunter" - return SUCCESSFUL_SPAWN - -/datum/round_event/ghost_role/fugitives/proc/gear_fugitive(mob/dead/selected, turf/landing_turf, backstory) //spawns normal fugitive - var/datum/mind/player_mind = new /datum/mind(selected.key) - player_mind.active = TRUE - var/mob/living/carbon/human/S = new(landing_turf) - player_mind.transfer_to(S) - player_mind.assigned_role = "Fugitive" - player_mind.special_role = "Fugitive" - player_mind.add_antag_datum(/datum/antagonist/fugitive) - var/datum/antagonist/fugitive/fugitiveantag = player_mind.has_antag_datum(/datum/antagonist/fugitive) - INVOKE_ASYNC(fugitiveantag, /datum/antagonist/fugitive.proc/greet, backstory) //some fugitives have a sleep on their greet, so we don't want to stop the entire antag granting proc with fluff - - switch(backstory) - if("prisoner") - S.equipOutfit(/datum/outfit/prisoner) - if("cultist") - S.equipOutfit(/datum/outfit/yalp_cultist) - if("waldo") - S.equipOutfit(/datum/outfit/waldo) - if("synth") - S.equipOutfit(/datum/outfit/synthetic) - message_admins("[ADMIN_LOOKUPFLW(S)] has been made into a Fugitive by an event.") - log_game("[key_name(S)] was spawned as a Fugitive by an event.") - spawned_mobs += S - return S - -//special spawn for one member. it can be used for a special mob or simply to give one normal member special items. -/datum/round_event/ghost_role/fugitives/proc/gear_fugitive_leader(mob/dead/leader, turf/landing_turf, backstory) - var/datum/mind/player_mind = new /datum/mind(leader.key) - player_mind.active = TRUE - //if you want to add a fugitive with a special leader in the future, make this switch with the backstory - var/mob/living/carbon/human/S = gear_fugitive(leader, landing_turf, backstory) - var/obj/item/choice_beacon/augments/A = new(S) - S.put_in_hands(A) - new /obj/item/autosurgeon(landing_turf) - -//security team gets called in after 10 minutes of prep to find the refugees -/datum/round_event/ghost_role/fugitives/proc/spawn_hunters() - var/backstory = pick( "russian", "bounty hunter") - var/datum/map_template/shuttle/template - if (backstory == "russian") - template = new /datum/map_template/shuttle/hunter/russian - else - template = new /datum/map_template/shuttle/hunter/bounty - - var/datum/overmap/ship/controlled/ship = new(SSovermap.get_unused_overmap_square(), template) - - if(!ship) - CRASH("Loading [backstory] ship failed!") - priority_announce("Unidentified ship detected near the station.") diff --git a/code/modules/events/ghost_role.dm b/code/modules/events/ghost_role.dm index 5d7637332353..aecf7c481415 100644 --- a/code/modules/events/ghost_role.dm +++ b/code/modules/events/ghost_role.dm @@ -28,7 +28,7 @@ var/waittime = 300 * (2^retry) message_admins("The event will not spawn a [role_name] until certain \ conditions are met. Waiting [waittime/10]s and then retrying.") - addtimer(CALLBACK(src, .proc/try_spawning, 0, ++retry), waittime) + addtimer(CALLBACK(src, PROC_REF(try_spawning), 0, ++retry), waittime) return if(status == MAP_ERROR) diff --git a/code/modules/events/pirates.dm b/code/modules/events/pirates.dm deleted file mode 100644 index 186922c76a8f..000000000000 --- a/code/modules/events/pirates.dm +++ /dev/null @@ -1,324 +0,0 @@ -/datum/round_event_control/pirates - name = "Space Pirates" - typepath = /datum/round_event/pirates - weight = 8 - max_occurrences = 1 - min_players = 10 - earliest_start = 30 MINUTES - gamemode_blacklist = list("nuclear") - -/datum/round_event/pirates - startWhen = 60 //2 minutes to answer - var/datum/comm_message/threat - var/payoff = 0 - var/payoff_min = 20000 - var/paid_off = FALSE - var/ship_name = "Space Privateers Association" - var/shuttle_spawned = FALSE - -/datum/round_event/pirates/setup() - ship_name = pick(strings(PIRATE_NAMES_FILE, "ship_names")) - -/datum/round_event/pirates/announce(fake) - priority_announce("Incoming subspace communication. Secure channel opened at all communication consoles.", "Incoming Message", 'sound/ai/commandreport.ogg') - if(fake) - return - threat = new - var/datum/bank_account/D = SSeconomy.get_dep_account(ACCOUNT_CAR) - if(D) - payoff = max(payoff_min, FLOOR(D.account_balance * 0.80, 1000)) - threat.title = "Business proposition" - threat.content = "This is [ship_name]. Pay up [payoff] credits or you'll walk the plank." - threat.possible_answers = list("We'll pay.","No way.") - threat.answer_callback = CALLBACK(src,.proc/answered) - SScommunications.send_message(threat,unique = TRUE) - -/datum/round_event/pirates/proc/answered() - if(threat && threat.answered == 1) - var/datum/bank_account/D = SSeconomy.get_dep_account(ACCOUNT_CAR) - if(D) - if(D.adjust_money(-payoff)) - priority_announce("Thanks for the credits, landlubbers.",sender_override = ship_name) - paid_off = TRUE - return - else - priority_announce("Trying to cheat us? You'll regret this!",sender_override = ship_name) - if(!shuttle_spawned) - spawn_shuttle() - else - priority_announce("Too late to beg for mercy!",sender_override = ship_name) - -/datum/round_event/pirates/start() - if(threat && !threat.answered) - threat.possible_answers = list("Too late") - threat.answered = 1 - if(!paid_off && !shuttle_spawned) - spawn_shuttle() - -/datum/round_event/pirates/proc/spawn_shuttle() - shuttle_spawned = TRUE - - var/list/candidates = pollGhostCandidates("Do you wish to be considered for pirate crew?", ROLE_TRAITOR) - shuffle_inplace(candidates) - - var/datum/map_template/shuttle/pirate/default/template = new - var/datum/overmap/ship/controlled/ship = new(SSovermap.get_unused_overmap_square(), template) - - if(!ship) - CRASH("Loading pirate ship failed!") - - for(var/turf/A in ship.shuttle_port.return_turfs()) - for(var/obj/effect/mob_spawn/human/pirate/spawner in A) - if(candidates.len > 0) - var/mob/M = candidates[1] - spawner.create(M.ckey) - candidates -= M - announce_to_ghosts(M) - else - announce_to_ghosts(spawner) - - priority_announce("Unidentified armed ship detected near the station.") - -/obj/docking_port/mobile/pirate - name = "pirate shuttle" - rechargeTime = 3 MINUTES - -/obj/machinery/suit_storage_unit/pirate - suit_type = /obj/item/clothing/suit/space - helmet_type = /obj/item/clothing/head/helmet/space - mask_type = /obj/item/clothing/mask/breath - storage_type = /obj/item/tank/internals/oxygen - -/obj/machinery/loot_locator - name = "Booty Locator" - desc = "This sophisticated machine scans the nearby space for items of value." - icon = 'icons/obj/machines/research.dmi' - icon_state = "tdoppler" - density = TRUE - var/cooldown = 300 - var/next_use = 0 - -/obj/machinery/loot_locator/interact(mob/user) - if(world.time <= next_use) - to_chat(user,"[src] is recharging.") - return - next_use = world.time + cooldown - var/atom/movable/AM = find_random_loot() - if(!AM) - say("No valuables located. Try again later.") - else - say("Located: [AM.name] at [get_area_name(AM)]") - -/obj/machinery/loot_locator/proc/find_random_loot() - if(!GLOB.exports_list.len) - setupExports() - var/list/possible_loot = list() - for(var/datum/export/pirate/E in GLOB.exports_list) - possible_loot += E - var/datum/export/pirate/P - var/atom/movable/AM - while(!AM && possible_loot.len) - P = pick_n_take(possible_loot) - AM = P.find_loot() - return AM - -//Pad & Pad Terminal -/obj/machinery/piratepad - name = "cargo hold pad" - icon = 'icons/obj/telescience.dmi' - icon_state = "lpad-idle-o" - var/idle_state = "lpad-idle-o" - var/warmup_state = "lpad-idle" - var/sending_state = "lpad-beam" - var/cargo_hold_id - -/obj/machinery/piratepad/multitool_act(mob/living/user, obj/item/multitool/I) - . = ..() - if (istype(I)) - to_chat(user, "You register [src] in [I]s buffer.") - I.buffer = src - return TRUE - -/obj/machinery/computer/piratepad_control - name = "cargo hold control terminal" - icon_screen = "bounty" - var/status_report = "Ready for delivery." - var/obj/machinery/piratepad/pad - var/warmup_time = 100 - var/sending = FALSE - var/points = 0 - var/datum/export_report/total_report - var/sending_timer - var/cargo_hold_id - -/obj/machinery/computer/piratepad_control/Initialize() - ..() - return INITIALIZE_HINT_LATELOAD - -/obj/machinery/computer/piratepad_control/multitool_act(mob/living/user, obj/item/multitool/I) - . = ..() - if (istype(I) && istype(I.buffer,/obj/machinery/piratepad)) - to_chat(user, "You link [src] with [I.buffer] in [I] buffer.") - pad = I.buffer - return TRUE - -/obj/machinery/computer/piratepad_control/LateInitialize() - . = ..() - if(cargo_hold_id) - for(var/obj/machinery/piratepad/P in GLOB.machines) - if(P.cargo_hold_id == cargo_hold_id) - pad = P - return - else - pad = locate() in range(4,src) - -/obj/machinery/computer/piratepad_control/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "CargoHoldTerminal", name) - ui.open() - -/obj/machinery/computer/piratepad_control/ui_data(mob/user) - var/list/data = list() - data["points"] = points - data["pad"] = pad ? TRUE : FALSE - data["sending"] = sending - data["status_report"] = status_report - return data - -/obj/machinery/computer/piratepad_control/ui_act(action, params) - . = ..() - if(.) - return - if(!pad) - return - - switch(action) - if("recalc") - recalc() - . = TRUE - if("send") - start_sending() - . = TRUE - if("stop") - stop_sending() - . = TRUE - -/obj/machinery/computer/piratepad_control/proc/recalc() - if(sending) - return - - status_report = "Predicted value: " - var/value = 0 - var/datum/export_report/ex = new - for(var/atom/movable/AM in get_turf(pad)) - if(AM == pad) - continue - export_item_and_contents(AM, EXPORT_PIRATE | EXPORT_CARGO | EXPORT_CONTRABAND | EXPORT_EMAG, apply_elastic = FALSE, dry_run = TRUE, external_report = ex) - - for(var/datum/export/E in ex.total_amount) - status_report += E.total_printout(ex,notes = FALSE) - status_report += " " - value += ex.total_value[E] - - if(!value) - status_report += "0" - -/obj/machinery/computer/piratepad_control/proc/send() - if(!sending) - return - - var/datum/export_report/ex = new - - for(var/atom/movable/AM in get_turf(pad)) - if(AM == pad) - continue - export_item_and_contents(AM, EXPORT_PIRATE | EXPORT_CARGO | EXPORT_CONTRABAND | EXPORT_EMAG, apply_elastic = FALSE, delete_unsold = FALSE, external_report = ex) - - status_report = "Sold: " - var/value = 0 - for(var/datum/export/E in ex.total_amount) - var/export_text = E.total_printout(ex,notes = FALSE) //Don't want nanotrasen messages, makes no sense here. - if(!export_text) - continue - - status_report += export_text - status_report += " " - value += ex.total_value[E] - - if(!total_report) - total_report = ex - else - total_report.exported_atoms += ex.exported_atoms - for(var/datum/export/E in ex.total_amount) - total_report.total_amount[E] += ex.total_amount[E] - total_report.total_value[E] += ex.total_value[E] - - points += value - - if(!value) - status_report += "Nothing" - - pad.visible_message("[pad] activates!") - flick(pad.sending_state,pad) - pad.icon_state = pad.idle_state - sending = FALSE - -/obj/machinery/computer/piratepad_control/proc/start_sending() - if(sending) - return - sending = TRUE - status_report = "Sending..." - pad.visible_message("[pad] starts charging up.") - pad.icon_state = pad.warmup_state - sending_timer = addtimer(CALLBACK(src,.proc/send),warmup_time, TIMER_STOPPABLE) - -/obj/machinery/computer/piratepad_control/proc/stop_sending() - if(!sending) - return - sending = FALSE - status_report = "Ready for delivery." - pad.icon_state = pad.idle_state - deltimer(sending_timer) - -/datum/export/pirate - export_category = EXPORT_PIRATE - -//Attempts to find the thing on station -/datum/export/pirate/proc/find_loot() - return - -/datum/export/pirate/ransom - cost = 3000 - unit_name = "hostage" - export_types = list(/mob/living/carbon/human) - -/datum/export/pirate/ransom/get_cost(atom/movable/AM) - var/mob/living/carbon/human/H = AM - if(H.stat != CONSCIOUS || !H.mind || !H.mind.assigned_role) //mint condition only - return 0 - else if("pirate" in H.faction) //can't ransom your fellow pirates to CentCom! - return 0 - else - if(H.mind.assigned_role in GLOB.command_positions) - return 3000 - else - return 1000 - -/datum/export/pirate/cash - cost = 1 - unit_name = "bills" - export_types = list(/obj/item/spacecash/bundle) - -/datum/export/pirate/cash/get_amount(obj/O) - var/obj/item/spacecash/bundle/C = O - return ..() * C.value - -/datum/export/pirate/holochip - cost = 1 - unit_name = "holochip" - export_types = list(/obj/item/holochip) - -/datum/export/pirate/holochip/get_cost(atom/movable/AM) - var/obj/item/holochip/H = AM - return H.credits diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index 45e9551ae25a..ede24c643c43 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -289,7 +289,7 @@ . = ..() add_atom_colour("#ffffff", FIXED_COLOUR_PRIORITY) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/events/wizard/greentext.dm b/code/modules/events/wizard/greentext.dm index 5232f81bb696..890bbc0f1f2b 100644 --- a/code/modules/events/wizard/greentext.dm +++ b/code/modules/events/wizard/greentext.dm @@ -35,7 +35,7 @@ /obj/item/greentext/Initialize(mapload) . = ..() GLOB.poi_list |= src - roundend_callback = CALLBACK(src,.proc/check_winner) + roundend_callback = CALLBACK(src, PROC_REF(check_winner)) SSticker.OnRoundend(roundend_callback) /obj/item/greentext/equipped(mob/living/user as mob) diff --git a/code/modules/fishing/aquarium/aquarium.dm b/code/modules/fishing/aquarium/aquarium.dm index 4bb131f49460..1850d7afee22 100644 --- a/code/modules/fishing/aquarium/aquarium.dm +++ b/code/modules/fishing/aquarium/aquarium.dm @@ -43,7 +43,7 @@ /obj/structure/aquarium/Initialize(mapload) . = ..() update_appearance() - RegisterSignal(src,COMSIG_PARENT_ATTACKBY, .proc/feed_feedback) + RegisterSignal(src,COMSIG_PARENT_ATTACKBY, PROC_REF(feed_feedback)) /obj/structure/aquarium/Entered(atom/movable/arrived, atom/old_loc, list/atom/old_locs) . = ..() diff --git a/code/modules/fishing/fish/_fish.dm b/code/modules/fishing/fish/_fish.dm index c906bd170e86..48219cf98f2f 100644 --- a/code/modules/fishing/fish/_fish.dm +++ b/code/modules/fishing/fish/_fish.dm @@ -103,8 +103,8 @@ . = ..() /* if(fillet_type) AddElement(/datum/element/processable, TOOL_KNIFE, fillet_type, 1, 5) */ - AddComponent(/datum/component/aquarium_content, .proc/get_aquarium_animation, list(COMSIG_FISH_STATUS_CHANGED,COMSIG_FISH_STIRRED)) - RegisterSignal(src, COMSIG_ATOM_TEMPORARY_ANIMATION_START, .proc/on_temp_animation) + AddComponent(/datum/component/aquarium_content, PROC_REF(get_aquarium_animation), list(COMSIG_FISH_STATUS_CHANGED,COMSIG_FISH_STIRRED)) + RegisterSignal(src, COMSIG_ATOM_TEMPORARY_ANIMATION_START, PROC_REF(on_temp_animation)) check_environment_after_movement() if(status != FISH_DEAD) @@ -165,8 +165,8 @@ /obj/item/fish/proc/on_aquarium_insertion(obj/structure/aquarium) if(isnull(last_feeding)) //Fish start fed. last_feeding = world.time - RegisterSignal(aquarium, COMSIG_ATOM_EXITED, .proc/aquarium_exited) - RegisterSignal(aquarium, COMSIG_PARENT_ATTACKBY, .proc/attack_reaction) + RegisterSignal(aquarium, COMSIG_ATOM_EXITED, PROC_REF(aquarium_exited)) + RegisterSignal(aquarium, COMSIG_PARENT_ATTACKBY, PROC_REF(attack_reaction)) /obj/item/fish/proc/aquarium_exited(datum/source, atom/movable/gone, direction) SIGNAL_HANDLER @@ -365,7 +365,7 @@ /// Refreshes flopping animation after temporary animation finishes /obj/item/fish/proc/on_temp_animation(datum/source, animation_duration) if(animation_duration > 0) - addtimer(CALLBACK(src, .proc/refresh_flopping), animation_duration) + addtimer(CALLBACK(src, PROC_REF(refresh_flopping)), animation_duration) /obj/item/fish/proc/refresh_flopping() if(flopping) diff --git a/code/modules/fishing/fishing_minigame.dm b/code/modules/fishing/fishing_minigame.dm index ce91cbf03321..18db513aa6ee 100644 --- a/code/modules/fishing/fishing_minigame.dm +++ b/code/modules/fishing/fishing_minigame.dm @@ -77,10 +77,10 @@ /// Create fishing line visuals fishing_line = used_rod.create_fishing_line(lure, target_py = 5) // If fishing line breaks los / rod gets dropped / deleted - RegisterSignal(fishing_line, COMSIG_FISHING_LINE_SNAPPED, .proc/interrupt) + RegisterSignal(fishing_line, COMSIG_FISHING_LINE_SNAPPED, PROC_REF(interrupt)) ADD_TRAIT(user, TRAIT_GONE_FISHING, REF(src)) SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "fishing", /datum/mood_event/fishing) - RegisterSignal(user, COMSIG_MOB_CLICKON, .proc/handle_click) + RegisterSignal(user, COMSIG_MOB_CLICKON, PROC_REF(handle_click)) start_baiting_phase() to_chat(user, span_notice("You start fishing...")) playsound(lure, 'sound/effects/splash.ogg', 100) @@ -137,7 +137,7 @@ animate(pixel_y = -1, time = 1 SECONDS, flags = ANIMATION_RELATIVE) //Setup next phase var/wait_time = rand(1 SECONDS, 30 SECONDS) - next_phase_timer = addtimer(CALLBACK(src, .proc/start_biting_phase), wait_time, TIMER_STOPPABLE) + next_phase_timer = addtimer(CALLBACK(src, PROC_REF(start_biting_phase)), wait_time, TIMER_STOPPABLE) /datum/fishing_challenge/proc/start_biting_phase() phase = BITING_PHASE @@ -148,7 +148,7 @@ animate(pixel_y = -3, time = 5, flags = ANIMATION_RELATIVE) // Setup next phase var/wait_time = rand(3 SECONDS, 6 SECONDS) - next_phase_timer = addtimer(CALLBACK(src, .proc/start_baiting_phase), wait_time, TIMER_STOPPABLE) + next_phase_timer = addtimer(CALLBACK(src, PROC_REF(start_baiting_phase)), wait_time, TIMER_STOPPABLE) /datum/fishing_challenge/proc/start_minigame_phase() phase = MINIGAME_PHASE diff --git a/code/modules/fishing/fishing_rod.dm b/code/modules/fishing/fishing_rod.dm index 1c4c0aa5377f..aa6841f7f355 100644 --- a/code/modules/fishing/fishing_rod.dm +++ b/code/modules/fishing/fishing_rod.dm @@ -88,10 +88,10 @@ var/beam_color = line?.line_color || default_line_color var/datum/beam/fishing_line/fishing_line_beam = new(user, target, icon_state = "fishing_line", beam_color = beam_color, override_target_pixel_y = target_py) fishing_line_beam.lefthand = user.get_held_index_of_item(src) % 2 == 1 - RegisterSignal(fishing_line_beam, COMSIG_BEAM_BEFORE_DRAW, .proc/check_los) - RegisterSignal(fishing_line_beam, COMSIG_PARENT_QDELETING, .proc/clear_line) + RegisterSignal(fishing_line_beam, COMSIG_BEAM_BEFORE_DRAW, PROC_REF(check_los)) + RegisterSignal(fishing_line_beam, COMSIG_PARENT_QDELETING, PROC_REF(clear_line)) fishing_lines += fishing_line_beam - INVOKE_ASYNC(fishing_line_beam, /datum/beam/.proc/Start) + INVOKE_ASYNC(fishing_line_beam, TYPE_PROC_REF(/datum/beam, Start)) user.update_inv_hands() return fishing_line_beam @@ -118,7 +118,7 @@ return currently_hooked_item = target_atom hooked_item_fishing_line = create_fishing_line(target_atom) - RegisterSignal(hooked_item_fishing_line, COMSIG_FISHING_LINE_SNAPPED, .proc/clear_hooked_item) + RegisterSignal(hooked_item_fishing_line, COMSIG_FISHING_LINE_SNAPPED, PROC_REF(clear_hooked_item)) /// Checks what can be hooked /obj/item/fishing_rod/proc/can_be_hooked(atom/movable/target) @@ -411,7 +411,7 @@ /datum/beam/fishing_line/Start() update_offsets(origin.dir) . = ..() - RegisterSignal(origin, COMSIG_ATOM_DIR_CHANGE, .proc/handle_dir_change) + RegisterSignal(origin, COMSIG_ATOM_DIR_CHANGE, PROC_REF(handle_dir_change)) /datum/beam/fishing_line/Destroy() UnregisterSignal(origin, COMSIG_ATOM_DIR_CHANGE) @@ -420,7 +420,7 @@ /datum/beam/fishing_line/proc/handle_dir_change(atom/movable/source, olddir, newdir) SIGNAL_HANDLER update_offsets(newdir) - INVOKE_ASYNC(src, /datum/beam/.proc/redrawing) + INVOKE_ASYNC(src, TYPE_PROC_REF(/datum/beam, redrawing)) /datum/beam/fishing_line/proc/update_offsets(user_dir) switch(user_dir) diff --git a/code/modules/flufftext/Dreaming.dm b/code/modules/flufftext/Dreaming.dm index 3f0ba7f94ff8..ac6fae8bc53f 100644 --- a/code/modules/flufftext/Dreaming.dm +++ b/code/modules/flufftext/Dreaming.dm @@ -64,7 +64,7 @@ dream_fragments.Cut(1,2) to_chat(src, "... [next_message] ...") if(LAZYLEN(dream_fragments)) - dream_timer = addtimer(CALLBACK(src, .proc/dream_sequence, dream_fragments), rand(1, 3) SECONDS, TIMER_STOPPABLE) + dream_timer = addtimer(CALLBACK(src, PROC_REF(dream_sequence), dream_fragments), rand(1, 3) SECONDS, TIMER_STOPPABLE) else stop_dreaming() diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 7c604a15c22b..9ca494d431e9 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -321,7 +321,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( target.client.images |= fakerune target.playsound_local(wall,'sound/effects/meteorimpact.ogg', 150, 1) bubblegum = new(wall, target) - addtimer(CALLBACK(src, .proc/bubble_attack, landing), 10) + addtimer(CALLBACK(src, PROC_REF(bubble_attack), landing), 10) /datum/hallucination/oh_yeah/proc/bubble_attack(turf/landing) var/charged = FALSE //only get hit once @@ -365,10 +365,10 @@ GLOBAL_LIST_INIT(hallucination_list, list( for(var/i in 1 to rand(5, 10)) target.playsound_local(source, 'sound/weapons/laser.ogg', 25, 1) if(prob(50)) - addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/sear.ogg', 25, 1), rand(5,10)) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob, playsound_local), source, 'sound/weapons/sear.ogg', 25, 1), rand(5,10)) hits++ else - addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(5,10)) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob, playsound_local), source, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(5,10)) sleep(rand(CLICK_CD_RANGE, CLICK_CD_RANGE + 6)) if(hits >= 4 && prob(70)) target.playsound_local(source, get_sfx("bodyfall"), 25, 1) @@ -378,10 +378,10 @@ GLOBAL_LIST_INIT(hallucination_list, list( for(var/i in 1 to rand(5, 10)) target.playsound_local(source, 'sound/weapons/taser2.ogg', 25, 1) if(prob(50)) - addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/tap.ogg', 25, 1), rand(5,10)) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob, playsound_local), source, 'sound/weapons/tap.ogg', 25, 1), rand(5,10)) hits++ else - addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(5,10)) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob, playsound_local), source, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(5,10)) sleep(rand(CLICK_CD_RANGE, CLICK_CD_RANGE + 6)) if(hits >= 3 && prob(70)) target.playsound_local(source, get_sfx("bodyfall"), 25, 1) @@ -399,10 +399,10 @@ GLOBAL_LIST_INIT(hallucination_list, list( for(var/i in 1 to rand(3, 6)) target.playsound_local(source, 'sound/weapons/gun/shotgun/shot.ogg', 25, TRUE) if(prob(60)) - addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/pierce.ogg', 25, 1), rand(5,10)) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob, playsound_local), source, 'sound/weapons/pierce.ogg', 25, 1), rand(5,10)) hits++ else - addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, "ricochet", 25, 1), rand(5,10)) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob, playsound_local), source, "ricochet", 25, 1), rand(5,10)) sleep(rand(CLICK_CD_RANGE, CLICK_CD_RANGE + 6)) if(hits >= 2 && prob(80)) target.playsound_local(source, get_sfx("bodyfall"), 25, 1) @@ -728,7 +728,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( // Display message if (!is_radio && !target.client?.prefs.chat_on_map) var/image/speech_overlay = image('icons/mob/talk.dmi', person, "default0", layer = ABOVE_MOB_LAYER) - INVOKE_ASYNC(GLOBAL_PROC, /proc/flick_overlay, speech_overlay, list(target.client), 30) + INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay), speech_overlay, list(target.client), 30) if (target.client?.prefs.chat_on_map) target.create_chat_message(speaker || person, understood_language, chosen, spans) to_chat(target, message) @@ -954,10 +954,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( if("too_much_tox") target.throw_alert(alert_type, /atom/movable/screen/alert/too_much_tox, override = TRUE) if("nutrition") - if(prob(50)) - target.throw_alert(alert_type, /atom/movable/screen/alert/fat, override = TRUE) - else - target.throw_alert(alert_type, /atom/movable/screen/alert/starving, override = TRUE) + target.throw_alert(alert_type, /atom/movable/screen/alert/starving, override = TRUE) if("gravity") target.throw_alert(alert_type, /atom/movable/screen/alert/weightless, override = TRUE) if("fire") @@ -1098,7 +1095,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( /obj/effect/hallucination/danger/lava/Initialize(mapload, _target) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -1119,7 +1116,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( /obj/effect/hallucination/danger/chasm/Initialize(mapload, _target) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -1136,7 +1133,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( return to_chat(target, "You fall into the chasm!") target.Paralyze(40) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, target, "It's surprisingly shallow."), 15) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), target, "It's surprisingly shallow."), 15) QDEL_IN(src, 30) /obj/effect/hallucination/danger/anomaly @@ -1146,7 +1143,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( . = ..() START_PROCESSING(SSobj, src) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -1263,13 +1260,13 @@ GLOBAL_LIST_INIT(hallucination_list, list( if(target.client) target.client.images |= shock_image target.client.images |= electrocution_skeleton_anim - addtimer(CALLBACK(src, .proc/reset_shock_animation), 40) + addtimer(CALLBACK(src, PROC_REF(reset_shock_animation)), 40) target.playsound_local(get_turf(src), "sparks", 100, 1) target.staminaloss += 50 target.Stun(40) target.jitteriness += 1000 target.do_jitter_animation(target.jitteriness) - addtimer(CALLBACK(src, .proc/shock_drop), 20) + addtimer(CALLBACK(src, PROC_REF(shock_drop)), 20) /datum/hallucination/shock/proc/reset_shock_animation() if(target.client) diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 8db4c2846dcb..cd372392b927 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -79,7 +79,7 @@ if(iscyborg(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell var/mob/living/silicon/robot/bro = user bro.cell.use(30) - addtimer(CALLBACK(reagents, /datum/reagents.proc/add_reagent, refill, trans), 600) + addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, add_reagent), refill, trans), 600) else if(target.is_drainable()) //A dispenser. Transfer FROM it TO us. if (!is_refillable()) diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index d002c8aab70c..b4d8cf8090c9 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -532,7 +532,7 @@ to_chat(user, "You light [src] on fire.") add_overlay(custom_fire_overlay ? custom_fire_overlay : GLOB.fire_overlay) if(!isGlass) - addtimer(CALLBACK(src, .proc/explode), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(explode)), 5 SECONDS) /obj/item/reagent_containers/food/drinks/bottle/molotov/proc/explode() if(!active) @@ -567,7 +567,7 @@ /obj/item/reagent_containers/food/drinks/bottle/pruno/Initialize() . = ..() - RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/check_fermentation) + RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(check_fermentation)) /obj/item/reagent_containers/food/drinks/bottle/pruno/Destroy() UnregisterSignal(src, COMSIG_MOVABLE_MOVED) @@ -587,7 +587,7 @@ return if(!fermentation_time_remaining) fermentation_time_remaining = fermentation_time - fermentation_timer = addtimer(CALLBACK(src, .proc/do_fermentation), fermentation_time_remaining, TIMER_UNIQUE|TIMER_STOPPABLE) + fermentation_timer = addtimer(CALLBACK(src, PROC_REF(do_fermentation)), fermentation_time_remaining, TIMER_UNIQUE|TIMER_STOPPABLE) fermentation_time_remaining = null // actually ferment diff --git a/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm b/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm new file mode 100644 index 000000000000..922e74ee9a3b --- /dev/null +++ b/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm @@ -0,0 +1,84 @@ +/obj/item/reagent_containers/food/drinks/breakawayflask + name = "breakaway flask" + desc = "A special flask designed to stabilize trick wines and shatter violently on contact." + icon_state = "breakawayflask" + item_state = "breakawayflask" + w_class = WEIGHT_CLASS_SMALL + gulp_size = 25 + amount_per_transfer_from_this = 25 + volume = 50 + throwforce = 10 + custom_materials = list(/datum/material/glass=2500, /datum/material/plasma=500) + max_integrity = 20 + spillable = TRUE + resistance_flags = ACID_PROOF + obj_flags = UNIQUE_RENAME + drop_sound = 'sound/items/handling/drinkglass_drop.ogg' + pickup_sound = 'sound/items/handling/drinkglass_pickup.ogg' + custom_price = 25 + can_have_cap = TRUE + cap_icon_state = "baflask_cap" + cap_on = TRUE + var/vintage = FALSE + +/obj/item/reagent_containers/food/drinks/breakawayflask/on_reagent_change(changetype) + cut_overlays() + + gulp_size = max(round(reagents.total_volume / 25), 25) + var/datum/reagent/largest_reagent = reagents.get_master_reagent() + if (reagents.reagent_list.len > 0) + if(!renamedByPlayer && vintage == FALSE) + name = largest_reagent.glass_name + desc = largest_reagent.glass_desc + if(largest_reagent.breakaway_flask_icon_state) + icon_state = largest_reagent.breakaway_flask_icon_state + else + var/mutable_appearance/baflask_overlay = mutable_appearance(icon, "baflaskoverlay") + icon_state = "baflaskclear" + baflask_overlay.color = mix_color_from_reagents(reagents.reagent_list) + add_overlay(baflask_overlay) + + else + icon_state = "breakawayflask" + name = "breakaway flask" + desc = "A special flask designed to stabilize trick wines and shatter violently on contact." + return + +/obj/item/reagent_containers/food/drinks/breakawayflask/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + spillable = TRUE + . = ..() + +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage + name = "Vintage Saint-Roumain Trickwine" + desc = "Supposedly one of the first bottles made" + vintage = TRUE + +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine + name = "Vintage Saint-Roumain Ashwine" + list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/ash_wine = 45, /datum/reagent/consumable/ethanol/absinthe = 5) + desc = "Ashwine was originally created using herbs native to Illestren, as a means of relaxing after a long hunt. The Saint-Roumain Militia has no prohibition on a little fun." + +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/icewine + name = "Vintage Saint-Roumain Icewine" + list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/ice_wine = 45, /datum/reagent/consumable/ethanol/sake = 5) + desc = "Icewine, inspired by the frigid slopes of the 'Godforsaken Precipice' that forged the group's reputation as valiant survivalists, was engineered to both soothe overheated Hunters and freeze their foes in their tracks." + +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/shockwine + name = "Vintage Saint-Roumain Shockwine" + list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/shock_wine = 45, /datum/reagent/consumable/ethanol/vodka = 5) + desc = "Shockwine, made to invigorate consumers and incapacitate targets, took inspiration from an incident early in the Saint-Roumain Militia's history, when a young Shadow stopped a rampaging beast by plunging an electrical cable that had been dislodged in the fighting into its side." + +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/hearthwine + name = "Vintage Saint-Roumain Hearthwine" + list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/hearth_wine = 45, /datum/reagent/consumable/ethanol/hcider = 5) + desc = "Hearthwine is one of the most important tonics devised by the SRM – both for its potent abilities in staunching wounds or setting enemies aflame, and for its closeness to the divine fire associated with the Ashen Huntsman." + +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/forcewine + name = "Vintage Saint-Roumain Forcewine" + list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/force_wine = 45, /datum/reagent/consumable/ethanol/tequila = 5) + desc = "Forcewine was originally created as a means to create temporary shelters during long tracking expeditions. While the structures proved to be not as versatile in shape as its brewers had hoped, its utility in creating barricades or heming in hostiles was still greatly appreciated." + +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/prismwine + name = "Vintage Saint-Roumain Prismwine" + list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/prism_wine = 45, /datum/reagent/consumable/ethanol/gin = 5) + desc = "Prismwine is one of the most recent additions to the Saint-Roumain Militia's reserve of trickwines. It was purpose-created for fighting hostiles that utilized more advanced energy projection attacks, such as the cryonic beams of watchers or the laser guns of interstellar pirates." diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index 4ca34b224689..1d7adb7db4f2 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -88,63 +88,6 @@ if(ishumanbasic(user)) . += "You feel like this might be in poor taste." -//Breakaway Flasks! - -/obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask - name = "breakaway flask" - desc = "A special flask designed to stabilize trick wines and shatter violently on contact" - icon_state = "breakawayflask" - gulp_size = 25 - amount_per_transfer_from_this = 25 - volume = 50 - throwforce = 20 - custom_materials = list(/datum/material/glass=2500, /datum/material/plasma=500) - max_integrity = 20 - spillable = TRUE - resistance_flags = ACID_PROOF - obj_flags = UNIQUE_RENAME - drop_sound = 'sound/items/handling/drinkglass_drop.ogg' - pickup_sound = 'sound/items/handling/drinkglass_pickup.ogg' - custom_price = 25 - -/obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask/on_reagent_change(changetype) - cut_overlays() - - gulp_size = max(round(reagents.total_volume / 25), 25) - var/datum/reagent/largest_reagent = reagents.get_master_reagent() - if (reagents.reagent_list.len > 0) - if(!renamedByPlayer) - name = largest_reagent.glass_name - desc = largest_reagent.glass_desc - if(largest_reagent.breakaway_flask_icon_state) - icon_state = largest_reagent.breakaway_flask_icon_state - else - var/mutable_appearance/baflask_overlay = mutable_appearance(icon, "baflaskoverlay") - icon_state = "baflaskclear" - baflask_overlay.color = mix_color_from_reagents(reagents.reagent_list) - add_overlay(baflask_overlay) - - else - icon_state = "breakawayflask" - name = initial(src.name) - desc = initial(src.desc) - return - -/obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask/vintageash - name = "Vintange Saint-Roumain Ashwine" - desc = "Supposedly one of the first bottles of ashwine made" - list_reagents = list(/datum/reagent/consumable/ethanol/ash_wine = 45, /datum/reagent/uranium = 5) - -/obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask/vintageice - name = "Vintange Saint-Roumain Icewine" - desc = "Supposedly one of the first bottles of icewine made" - list_reagents = list(/datum/reagent/consumable/ethanol/ice_wine = 45, /datum/reagent/uranium = 5) - -/obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask/vintageshock - name = "Vintange Saint-Roumain Shockwine" - desc = "Supposedly one of the first bottles of shockwine made" - list_reagents = list(/datum/reagent/consumable/ethanol/shock_wine = 45, /datum/reagent/uranium = 5) - /obj/item/reagent_containers/food/drinks/drinkingglass/filled/Initialize() . = ..() on_reagent_change(ADD_REAGENT) diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index 78999078193c..7151c3fd9811 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -227,7 +227,7 @@ /obj/item/reagent_containers/food/snacks/sausage/Initialize() . = ..() - eatverb = pick("bite","chew","nibble","deep throat","gobble","chomp") + eatverb = pick("bite","chew","nibble","gobble","chomp") /obj/item/reagent_containers/food/snacks/salami name = "salami" diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index 66c3c87a82da..3d5adf18e6fd 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -506,7 +506,7 @@ /obj/item/reagent_containers/food/snacks/chewable/lollipop/cyborg/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/spamcheck), 1200) + addtimer(CALLBACK(src, PROC_REF(spamcheck)), 1200) /obj/item/reagent_containers/food/snacks/chewable/lollipop/cyborg/equipped(mob/living/user, slot) . = ..(user, slot) @@ -584,7 +584,7 @@ /obj/item/reagent_containers/food/snacks/gumball/cyborg/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/spamcheck), 1200) + addtimer(CALLBACK(src, PROC_REF(spamcheck)), 1200) /obj/item/reagent_containers/food/snacks/gumball/cyborg/equipped(mob/living/user, slot) . = ..(user, slot) diff --git a/code/modules/food_and_drinks/kitchen_machinery/big_mortar.dm b/code/modules/food_and_drinks/kitchen_machinery/big_mortar.dm index 2dbbb4f5cc86..3024c188facf 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/big_mortar.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/big_mortar.dm @@ -113,6 +113,7 @@ juice_target_item(target_item, user) else grind_target_item(target_item, user) + target_item = null if("Grind") for(var/obj/item/target_item as anything in contents) @@ -120,6 +121,7 @@ grind_target_item(target_item, user) else juice_target_item(target_item, user) + target_item = null return if(!attacking_item.juice_results && !attacking_item.grind_results) diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index 3a7c7245955c..fad3c3bc963f 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -186,7 +186,7 @@ newmeat.name = "[sourcename] [newmeat.name]" if(istype(newmeat)) newmeat.subjectname = sourcename - newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, sourcenutriment / meat_produced) // Thehehe. Fat guys go first + newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, sourcenutriment / meat_produced) if(occupant_volume) occupant.reagents.trans_to(newmeat, occupant_volume / meat_produced, remove_blacklisted = TRUE) if(sourcejob) @@ -200,7 +200,7 @@ mob_occupant.death(1) mob_occupant.ghostize() qdel(src.occupant) - addtimer(CALLBACK(src, .proc/make_meat, skin, allmeat, meat_produced, gibtype, diseases), gibtime) + addtimer(CALLBACK(src, PROC_REF(make_meat), skin, allmeat, meat_produced, gibtype, diseases), gibtime) /obj/machinery/gibber/proc/make_meat(obj/item/stack/sheet/animalhide/skin, list/obj/item/reagent_containers/food/snacks/meat/slab/allmeat, meat_produced, gibtype, list/datum/disease/diseases) playsound(src.loc, 'sound/effects/splat.ogg', 50, TRUE) diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index 5736d187fc78..13a35b579679 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -309,7 +309,7 @@ return time-- use_power(500) - addtimer(CALLBACK(src, .proc/loop, type, time, wait), wait) + addtimer(CALLBACK(src, PROC_REF(loop), type, time, wait), wait) /obj/machinery/microwave/proc/loop_finish() operating = FALSE @@ -382,7 +382,7 @@ tocook = target RegisterSignal(tocook, COMSIG_PARENT_QDELETING, PROC_REF(clear_cooking)) target.add_overlay(ration_overlay) - addtimer(CALLBACK(src, .proc/cook), 100) + addtimer(CALLBACK(src, PROC_REF(cook)), 100) target.visible_message("\The [target] rapidly begins cooking...") playsound(src, 'sound/items/cig_light.ogg', 50, 1) moveToNullspace() diff --git a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm index 0566a655dc3e..005ffa7632ba 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm @@ -82,7 +82,7 @@ GLOBAL_LIST_EMPTY(monkey_recyclers) use_power(500) stored_matter += cube_production addtimer(VARSET_CALLBACK(src, pixel_x, base_pixel_x)) - addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, user, "The machine now has [stored_matter] monkey\s worth of material stored.")) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), user, "The machine now has [stored_matter] monkey\s worth of material stored.")) /obj/machinery/monkey_recycler/interact(mob/user) if(stored_matter >= 1) diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 2625b25233e5..3d759bce3fd2 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -634,19 +634,37 @@ mix_sound = 'sound/effects/clockcult_gateway_closing.ogg' /datum/chemical_reaction/ash_wine - results = list(/datum/reagent/consumable/ethanol/ash_wine = 5) + results = list(/datum/reagent/consumable/ethanol/trickwine/ash_wine = 5) required_reagents = list(/datum/reagent/consumable/ethanol/absinthe = 3, /datum/reagent/ash = 1, /datum/reagent/drug/mushroomhallucinogen = 1) - required_container = /obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask + required_container = /obj/structure/fermenting_barrel/distiller mix_sound ='sound/weather/ashstorm/inside/weak_end.ogg' /datum/chemical_reaction/ice_wine - results = list(/datum/reagent/consumable/ethanol/ice_wine = 5) + results = list(/datum/reagent/consumable/ethanol/trickwine/ice_wine = 5) required_reagents = list(/datum/reagent/consumable/ethanol/sake = 3, /datum/reagent/polar_bear_fur = 1, /datum/reagent/consumable/frostoil = 1) - required_container = /obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask + required_container = /obj/structure/fermenting_barrel/distiller mix_sound ='sound/effects/glassbr3.ogg' /datum/chemical_reaction/shock_wine - results = list(/datum/reagent/consumable/ethanol/shock_wine = 5) + results = list(/datum/reagent/consumable/ethanol/trickwine/shock_wine = 5) required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 3, /datum/reagent/calcium = 1, /datum/reagent/consumable/lemonjuice = 1) - required_container = /obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask + required_container = /obj/structure/fermenting_barrel/distiller mix_sound ='sound/machines/defib_zap.ogg' + +/datum/chemical_reaction/hearth_wine + results = list(/datum/reagent/consumable/ethanol/trickwine/hearth_wine = 5) + required_reagents = list(/datum/reagent/consumable/ethanol/hcider = 3, /datum/reagent/consumable/pyre_elementum = 1, /datum/reagent/fuel = 1) + required_container = /obj/structure/fermenting_barrel/distiller + mix_sound ='sound/items/welder.ogg' + +/datum/chemical_reaction/force_wine + results = list(/datum/reagent/consumable/ethanol/trickwine/force_wine = 5) + required_reagents = list(/datum/reagent/consumable/ethanol/tequila = 3, /datum/reagent/calcium = 1, /datum/reagent/consumable/spacemountainwind = 1) + required_container = /obj/structure/fermenting_barrel/distiller + mix_sound ='sound/magic/forcewall.ogg' + +/datum/chemical_reaction/prism_wine + results = list(/datum/reagent/consumable/ethanol/trickwine/prism_wine = 5) + required_reagents = list(/datum/reagent/consumable/ethanol/gin = 3, /datum/reagent/toxin/plasma = 1, /datum/reagent/consumable/tinlux = 1) + required_container = /obj/structure/fermenting_barrel/distiller + mix_sound ='sound/weapons/laser.ogg' diff --git a/code/modules/holiday/halloween.dm b/code/modules/holiday/halloween.dm index af1a89a1a38a..e95bdb2063a8 100644 --- a/code/modules/holiday/halloween.dm +++ b/code/modules/holiday/halloween.dm @@ -205,7 +205,7 @@ ///Adds a timer to call stalk() on Aggro /mob/living/simple_animal/hostile/clown_insane/Aggro() . = ..() - timer = addtimer(CALLBACK(src, .proc/stalk), 30, TIMER_STOPPABLE|TIMER_UNIQUE) + timer = addtimer(CALLBACK(src, PROC_REF(stalk)), 30, TIMER_STOPPABLE|TIMER_UNIQUE) /mob/living/simple_animal/hostile/clown_insane/LoseAggro() . = ..() @@ -224,8 +224,8 @@ qdel(src) return playsound(M, pick('sound/spookoween/scary_horn.ogg','sound/spookoween/scary_horn2.ogg', 'sound/spookoween/scary_horn3.ogg'), 100, TRUE) - timer = addtimer(CALLBACK(src, .proc/stalk), 30, TIMER_STOPPABLE|TIMER_UNIQUE) - addtimer(CALLBACK(src, .proc/teleport_to_target), 12, TIMER_STOPPABLE|TIMER_UNIQUE) + timer = addtimer(CALLBACK(src, PROC_REF(stalk)), 30, TIMER_STOPPABLE|TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(teleport_to_target)), 12, TIMER_STOPPABLE|TIMER_UNIQUE) ///Does what's in the name. Teleports to target.loc. Called from a timer. /mob/living/simple_animal/hostile/clown_insane/proc/teleport_to_target() diff --git a/code/modules/holiday/holidays.dm b/code/modules/holiday/holidays.dm index e962dbb520a1..ae19b1dea376 100644 --- a/code/modules/holiday/holidays.dm +++ b/code/modules/holiday/holidays.dm @@ -528,7 +528,7 @@ return "Have a merry Christmas!" /datum/holiday/xmas/celebrate() - SSticker.OnRoundstart(CALLBACK(src, .proc/roundstart_celebrate)) + SSticker.OnRoundstart(CALLBACK(src, PROC_REF(roundstart_celebrate))) GLOB.maintenance_loot += list( /obj/item/toy/xmas_cracker = 3, /obj/item/clothing/head/santa = 1, diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm index c7a911b6cf3f..e6a1c90ede6e 100644 --- a/code/modules/holodeck/computer.dm +++ b/code/modules/holodeck/computer.dm @@ -248,7 +248,7 @@ and clear when youre done! if you dont i will use :newspaper2: on you continue atoms.flags_1 |= HOLOGRAM_1 - RegisterSignal(atoms, COMSIG_PARENT_PREQDELETED, .proc/remove_from_holo_lists) + RegisterSignal(atoms, COMSIG_PARENT_PREQDELETED, PROC_REF(remove_from_holo_lists)) if (isholoeffect(atoms))//activates holo effects and transfers them from the spawned list into the effects list var/obj/effect/holodeck_effect/holo_effect = atoms @@ -333,7 +333,7 @@ and clear when youre done! if you dont i will use :newspaper2: on you if(toggleOn) if(last_program && (last_program != offline_program)) - addtimer(CALLBACK(src,.proc/load_program, last_program, TRUE), 25) + addtimer(CALLBACK(src, PROC_REF(load_program), last_program, TRUE), 25) active = TRUE else last_program = program @@ -342,7 +342,7 @@ and clear when youre done! if you dont i will use :newspaper2: on you /obj/machinery/computer/holodeck/power_change() . = ..() - INVOKE_ASYNC(src, .proc/toggle_power, !machine_stat) + INVOKE_ASYNC(src, PROC_REF(toggle_power), !machine_stat) ///shuts down the holodeck and force loads the offline_program /obj/machinery/computer/holodeck/proc/emergency_shutdown() diff --git a/code/modules/holodeck/holo_effect.dm b/code/modules/holodeck/holo_effect.dm index 9c69b8e89812..122c852fbc9a 100644 --- a/code/modules/holodeck/holo_effect.dm +++ b/code/modules/holodeck/holo_effect.dm @@ -34,7 +34,7 @@ deck = new(loc) safety(!(HC.obj_flags & EMAGGED)) deck.holo = HC - RegisterSignal(deck, COMSIG_PARENT_QDELETING, .proc/handle_card_delete) + RegisterSignal(deck, COMSIG_PARENT_QDELETING, PROC_REF(handle_card_delete)) return deck /obj/effect/holodeck_effect/cards/proc/handle_card_delete(datum/source) @@ -84,7 +84,7 @@ // these vars are not really standardized but all would theoretically create stuff on death for(var/v in list("butcher_results","corpse","weapon1","weapon2","blood_volume") & our_mob.vars) our_mob.vars[v] = null - RegisterSignal(our_mob, COMSIG_PARENT_QDELETING, .proc/handle_mob_delete) + RegisterSignal(our_mob, COMSIG_PARENT_QDELETING, PROC_REF(handle_mob_delete)) return our_mob /obj/effect/holodeck_effect/mobspawner/deactivate(obj/machinery/computer/holodeck/HC) diff --git a/code/modules/holodeck/turfs.dm b/code/modules/holodeck/turfs.dm index 26ea485474aa..b69c05e34653 100644 --- a/code/modules/holodeck/turfs.dm +++ b/code/modules/holodeck/turfs.dm @@ -147,7 +147,7 @@ /turf/open/floor/holofloor/carpet/Initialize(mapload, inherited_virtual_z) . = ..() - addtimer(CALLBACK(src, /atom/.proc/update_icon), 1) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 1) /turf/open/floor/holofloor/carpet/update_icon() . = ..() diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index 4c9eb274dcb0..a91ad2b90050 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -7,6 +7,7 @@ anchored = FALSE pressure_resistance = 2 * ONE_ATMOSPHERE max_integrity = 300 + var/closed_state = "barrel" var/open = FALSE var/speed_multiplier = 1 //How fast it distills. Defaults to 100% (1.0). Lower is better. @@ -48,7 +49,7 @@ to_chat(user, "[I] is stuck to your hand!") return TRUE to_chat(user, "You place [I] into [src] to start the fermentation process.") - addtimer(CALLBACK(src, .proc/makeWine, fruit), rand(80, 120) * speed_multiplier) + addtimer(CALLBACK(src, PROC_REF(makeWine), fruit), rand(80, 120) * speed_multiplier) return TRUE if(I) if(I.is_refillable()) @@ -70,14 +71,13 @@ /obj/structure/fermenting_barrel/update_icon_state() if(open) - icon_state = "barrel_open" + icon_state = closed_state+"_open" else - icon_state = "barrel" + icon_state = closed_state return ..() -/datum/crafting_recipe/fermenting_barrel - name = "Wooden Barrel" - result = /obj/structure/fermenting_barrel - reqs = list(/obj/item/stack/sheet/mineral/wood = 8) - time = 50 - category = CAT_PRIMAL +/obj/structure/fermenting_barrel/distiller + name = "Distiller" + icon_state = "distiller" + closed_state = "distiller" + desc = "A repurposed barrel and keg host to a special culture of bacteria native to Illestren" diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm index 75e9b3fbfcdc..ec05b821371a 100644 --- a/code/modules/hydroponics/grown/citrus.dm +++ b/code/modules/hydroponics/grown/citrus.dm @@ -126,7 +126,7 @@ log_bomber(user, "primed a", src, "for detonation") icon_state = "firelemon_active" playsound(loc, 'sound/weapons/armbomb.ogg', 75, TRUE, -3) - addtimer(CALLBACK(src, .proc/prime), rand(10, 60)) + addtimer(CALLBACK(src, PROC_REF(prime)), rand(10, 60)) /obj/item/reagent_containers/food/snacks/grown/firelemon/burn() prime() diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm index 627a13354078..1378fb0253fc 100644 --- a/code/modules/hydroponics/grown/melon.dm +++ b/code/modules/hydroponics/grown/melon.dm @@ -58,7 +58,7 @@ var/uses = 1 if(seed) uses = round(seed.potency / 20) - AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, ITEM_SLOT_HANDS, uses, TRUE, CALLBACK(src, .proc/block_magic), CALLBACK(src, .proc/expire)) //deliver us from evil o melon god + AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, ITEM_SLOT_HANDS, uses, TRUE, CALLBACK(src, PROC_REF(block_magic)), CALLBACK(src, PROC_REF(expire))) //deliver us from evil o melon god /obj/item/reagent_containers/food/snacks/grown/holymelon/proc/block_magic(mob/user, major) if(major) diff --git a/code/modules/hydroponics/grown/tomato.dm b/code/modules/hydroponics/grown/tomato.dm index 0ec5046e659c..6c44d2ad3788 100644 --- a/code/modules/hydroponics/grown/tomato.dm +++ b/code/modules/hydroponics/grown/tomato.dm @@ -137,7 +137,7 @@ return to_chat(user, "You begin to awaken the Killer Tomato...") awakening = TRUE - addtimer(CALLBACK(src, .proc/awaken), 3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(awaken)), 3 SECONDS) log_game("[key_name(user)] awakened a killer tomato at [AREACOORD(user)].") /obj/item/reagent_containers/food/snacks/grown/tomato/killer/proc/awaken() diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index b786c854dba6..e9be7685e152 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -171,7 +171,7 @@ /obj/structure/bonfire/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index b38eeac048cb..74d004849a2a 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -85,7 +85,7 @@ /obj/item/cultivator/rake/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index fee6a3857d67..7063207255f5 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -35,7 +35,7 @@ // Here lies irrigation. You won't be missed, because you were never used. /obj/machinery/hydroponics/Initialize() - RegisterSignal(src, COMSIG_ATOM_EXITED, .proc/on_exited) + RegisterSignal(src, COMSIG_ATOM_EXITED, PROC_REF(on_exited)) //Here lies "nutrilevel", killed by ArcaneMusic 20??-2019. Finally, we strive for a better future. Please use "reagents" instead create_reagents(20) reagents.add_reagent(/datum/reagent/plantnutriment/eznutriment, 10) //Half filled nutrient trays for dirt trays to have more to grow with in prison/lavaland. @@ -48,7 +48,7 @@ /obj/machinery/hydroponics/constructable/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, .proc/can_be_rotated)) + AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated))) AddComponent(/datum/component/plumbing/simple_demand) /obj/machinery/hydroponics/constructable/proc/can_be_rotated(mob/user, rotation_type) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index bc18ce87377b..a57934dc551d 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -241,7 +241,7 @@ if(!istype(G, /obj/item/grown/bananapeel) && (!G.reagents || !G.reagents.has_reagent(/datum/reagent/lube))) stun_len /= 3 - G.AddComponent(/datum/component/slippery, min(stun_len,140), NONE, CALLBACK(src, .proc/handle_slip, G)) + G.AddComponent(/datum/component/slippery, min(stun_len,140), NONE, CALLBACK(src, PROC_REF(handle_slip), G)) /datum/plant_gene/trait/slip/proc/handle_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/M) for(var/datum/plant_gene/trait/T in G.seed.genes) diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm index 146d8e32d7e2..149f78437fa4 100644 --- a/code/modules/instruments/items.dm +++ b/code/modules/instruments/items.dm @@ -85,8 +85,8 @@ /obj/item/instrument/piano_synth/headphones/ComponentInitialize() . = ..() AddElement(/datum/element/update_icon_updates_onmob) - RegisterSignal(src, COMSIG_SONG_START, .proc/start_playing) - RegisterSignal(src, COMSIG_SONG_END, .proc/stop_playing) + RegisterSignal(src, COMSIG_SONG_START, PROC_REF(start_playing)) + RegisterSignal(src, COMSIG_SONG_END, PROC_REF(stop_playing)) /** * Called by a component signal when our song starts playing. @@ -249,7 +249,7 @@ /obj/item/instrument/harmonica/equipped(mob/M, slot) . = ..() - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /obj/item/instrument/harmonica/dropped(mob/M) . = ..() diff --git a/code/modules/instruments/songs/editor.dm b/code/modules/instruments/songs/editor.dm index f672c0ecac61..ba411709edfc 100644 --- a/code/modules/instruments/songs/editor.dm +++ b/code/modules/instruments/songs/editor.dm @@ -160,7 +160,7 @@ tempo = sanitize_tempo(tempo + text2num(href_list["tempo"])) else if(href_list["play"]) - INVOKE_ASYNC(src, .proc/start_playing, usr) + INVOKE_ASYNC(src, PROC_REF(start_playing), usr) else if(href_list["newline"]) var/newline = html_encode(input("Enter your line: ", parent.name) as text|null) diff --git a/code/modules/interview/interview.dm b/code/modules/interview/interview.dm index 452ce2a9b5f5..c1ed4dcd87ec 100644 --- a/code/modules/interview/interview.dm +++ b/code/modules/interview/interview.dm @@ -65,7 +65,7 @@ SEND_SOUND(owner, sound('sound/effects/adminhelp.ogg')) to_chat(owner, "-- Interview Update --" \ + "\nYour interview was approved, you will now be reconnected in 5 seconds.", confidential = TRUE) - addtimer(CALLBACK(src, .proc/reconnect_owner), 50) + addtimer(CALLBACK(src, PROC_REF(reconnect_owner)), 50) /** * Denies the interview and adds the owner to the cooldown for new interviews. @@ -80,7 +80,7 @@ GLOB.interviews.cooldown_ckeys |= owner_ckey log_admin_private("[key_name(denied_by)] has denied interview #[id] for [owner_ckey][!owner ? "(DC)": ""].") message_admins("[key_name(denied_by)] has denied interview #[id] for [owner_ckey][!owner ? "(DC)": ""].") - addtimer(CALLBACK(GLOB.interviews, /datum/interview_manager.proc/release_from_cooldown, owner_ckey), 180) + addtimer(CALLBACK(GLOB.interviews, TYPE_PROC_REF(/datum/interview_manager, release_from_cooldown), owner_ckey), 180) if (owner) SEND_SOUND(owner, sound('sound/effects/adminhelp.ogg')) to_chat(owner, "-- Interview Update --" \ diff --git a/code/modules/jobs/job_exp.dm b/code/modules/jobs/job_exp.dm index 5f04f8c31000..159c1e1df6aa 100644 --- a/code/modules/jobs/job_exp.dm +++ b/code/modules/jobs/job_exp.dm @@ -191,7 +191,7 @@ GLOBAL_PROTECT(exp_to_update) "ckey" = ckey, "minutes" = jvalue))) prefs.exp[jtype] += jvalue - addtimer(CALLBACK(SSblackbox,/datum/controller/subsystem/blackbox/proc/update_exp_db),20,TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(SSblackbox, TYPE_PROC_REF(/datum/controller/subsystem/blackbox, update_exp_db)),20,TIMER_OVERRIDE|TIMER_UNIQUE) //ALWAYS call this at beginning to any proc touching player flags, or your database admin will probably be mad diff --git a/code/modules/jobs/job_types/assistant.dm b/code/modules/jobs/job_types/assistant.dm index b6e6c9e2b731..b098e79dadac 100644 --- a/code/modules/jobs/job_types/assistant.dm +++ b/code/modules/jobs/job_types/assistant.dm @@ -78,7 +78,6 @@ Assistant /datum/outfit/job/assistant/inteq name = "IRMG Recruit (Inteq)" - uniform = /obj/item/clothing/under/syndicate/inteq /datum/outfit/job/assistant/intern @@ -121,60 +120,6 @@ Assistant shoes = /obj/item/clothing/shoes/laceup suit = /obj/item/clothing/suit/toggle/lawyer/black -/datum/outfit/job/assistant/syndicate - name = "Junior Agent (Assistant)" - - id = /obj/item/card/id/syndicate_command/crew_id - uniform = /obj/item/clothing/under/syndicate - alt_uniform = null - shoes = /obj/item/clothing/shoes/jackboots - -/datum/outfit/job/assistant/syndicate/gorlex - name = "Junior Agent (Gorlex Marauders)" - - uniform = /obj/item/clothing/under/syndicate/gorlex - alt_uniform = /obj/item/clothing/under/syndicate - -/datum/outfit/job/assistant/syndicate/gec - name = "Deckhand (GEC)" - - id = /obj/item/card/id/syndicate_command/crew_id - uniform = /obj/item/clothing/under/syndicate - suit = /obj/item/clothing/suit/toggle/hazard - alt_uniform = null - shoes = /obj/item/clothing/shoes/jackboots - head = /obj/item/clothing/head/safety_helmet - -/datum/outfit/job/assistant/syndicate/sbc - name = "Deck Assistant (Twinkleshine)" - - uniform = /obj/item/clothing/under/syndicate - alt_uniform = /obj/item/clothing/under/syndicate/intern - shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat - ears = /obj/item/radio/headset/syndicate/alt - mask = /obj/item/clothing/mask/gas/syndicate/voicechanger - r_pocket = /obj/item/kitchen/knife/combat/survival - back = /obj/item/storage/backpack - implants = list(/obj/item/implant/weapons_auth) - id = /obj/item/card/id/syndicate_command/crew_id - - backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel/sec - duffelbag = /obj/item/storage/backpack/duffelbag/syndie - courierbag = /obj/item/storage/backpack/messenger/sec - - box = /obj/item/storage/box/survival/syndie - -/datum/outfit/job/assistant/syndicate/sbc/post_equip(mob/living/carbon/human/H) - H.faction |= list("PlayerSyndicate") - - var/obj/item/card/id/I = H.wear_id - I.registered_name = pick(GLOB.twinkle_names) + "-" + num2text(rand(1, 4)) // squidquest real - I.assignment = "Deck Assistant" - I.access |= list(ACCESS_SYNDICATE) - I.update_label() - /datum/outfit/job/assistant/independent/crewmatefancy name = "Crewmate (Independent)" @@ -208,10 +153,6 @@ Assistant gloves = /obj/item/clothing/gloves/color/white accessory = /obj/item/clothing/neck/scarf/darkblue -/datum/outfit/job/assistant/waiter/syndicate - name = "Assistant (Syndicate Waiter)" - uniform = /obj/item/clothing/under/suit/waiter/syndicate - /datum/outfit/job/assistant/roumain name = "Shadow (Saint-Roumain Militia)" @@ -222,13 +163,8 @@ Assistant head = /obj/item/clothing/head/cowboy/sec/roumain/shadow -/datum/outfit/job/assistant/syndicate/cyberagent - name = "Junior Agent (Cybersun)" - - uniform = /obj/item/clothing/under/syndicate - shoes = /obj/item/clothing/shoes/jackboots - r_pocket = /obj/item/radio - head = /obj/item/clothing/head/soft/black +/datum/outfit/job/assistant/roumain/post_equip(mob/living/carbon/human/H) + H.faction |= list("roumain") /datum/outfit/job/assistant/pharma name = "Pharmacology Student" diff --git a/code/modules/jobs/job_types/atmospheric_technician.dm b/code/modules/jobs/job_types/atmospheric_technician.dm index eb2df5a68039..f00d87eb6ba4 100644 --- a/code/modules/jobs/job_types/atmospheric_technician.dm +++ b/code/modules/jobs/job_types/atmospheric_technician.dm @@ -40,14 +40,6 @@ suit_store = /obj/item/tank/internals/oxygen internals_slot = ITEM_SLOT_SUITSTORE -/datum/outfit/job/atmos/gec - name = "Atmospheric Technician (GEC)" - - uniform = /obj/item/clothing/under/syndicate/gec/atmos_tech - suit = /obj/item/clothing/suit/toggle/hazard - head = /obj/item/clothing/head/hardhat - id = /obj/item/card/id/syndicate_command/crew_id - /datum/outfit/job/atmos/frontiersmen name = "Atmospheric Technician (Frontiersmen)" diff --git a/code/modules/jobs/job_types/bartender.dm b/code/modules/jobs/job_types/bartender.dm index 680fe6ee880d..f704f1c62139 100644 --- a/code/modules/jobs/job_types/bartender.dm +++ b/code/modules/jobs/job_types/bartender.dm @@ -1,6 +1,7 @@ /datum/job/bartender name = "Bartender" - wiki_page = "Drinks" //WS Edit - Wikilinks/Warning + wiki_page = "Drinks" + outfit = /datum/outfit/job/bartender @@ -17,16 +18,12 @@ belt = /obj/item/pda/bar ears = /obj/item/radio/headset/headset_srv uniform = /obj/item/clothing/under/rank/civilian/bartender - alt_uniform = /obj/item/clothing/under/rank/civilian/bartender/purple //WS Edit - Alt Uniforms + alt_uniform = /obj/item/clothing/under/rank/civilian/bartender/purple alt_suit = /obj/item/clothing/suit/apron/purple_bartender suit = /obj/item/clothing/suit/armor/vest backpack_contents = list(/obj/item/storage/box/beanbag=1) shoes = /obj/item/clothing/shoes/laceup -/datum/outfit/job/bartender/syndicate - id = /obj/item/card/id/syndicate_command/crew_id - head = /obj/item/clothing/head/HoS/beret/syndicate - /datum/outfit/job/bartender/post_equip(mob/living/carbon/human/H, visualsOnly) . = ..() @@ -35,34 +32,6 @@ W.registered_age = AGE_MINOR to_chat(H, "You're not technically old enough to access or serve alcohol, but your ID has been discreetly modified to display your age as [AGE_MINOR]. Try to keep that a secret!") -/datum/outfit/job/bartender/syndicate/sbc - name = "Bartender (Twinkleshine)" - - uniform = /obj/item/clothing/under/syndicate/donk - shoes = /obj/item/clothing/shoes/laceup - gloves = /obj/item/clothing/gloves/color/white - ears = /obj/item/radio/headset/syndicate - mask = /obj/item/clothing/mask/gas/syndicate/voicechanger - belt = /obj/item/storage/belt/bandolier - implants = list(/obj/item/implant/weapons_auth) - id = /obj/item/card/id/syndicate_command/crew_id - - backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel/sec - duffelbag = /obj/item/storage/backpack/duffelbag/syndie - courierbag = /obj/item/storage/backpack/messenger/sec - - box = /obj/item/storage/box/survival/syndie - -/datum/outfit/job/bartender/syndicate/sbc/post_equip(mob/living/carbon/human/H) - H.faction |= list("PlayerSyndicate") - - var/obj/item/card/id/I = H.wear_id - I.registered_name = pick(GLOB.twinkle_names) + "-" + num2text(rand(2, 5)) // squidquest real - I.assignment = "Bartender" - I.access |= list(ACCESS_SYNDICATE) - I.update_label() - /datum/outfit/job/bartender/pharma name = "Mixologist" diff --git a/code/modules/jobs/job_types/botanist.dm b/code/modules/jobs/job_types/botanist.dm index 27906b1d8bac..17820864e57f 100644 --- a/code/modules/jobs/job_types/botanist.dm +++ b/code/modules/jobs/job_types/botanist.dm @@ -27,17 +27,6 @@ satchel = /obj/item/storage/backpack/satchel/hyd courierbag = /obj/item/storage/backpack/messenger/hyd -//shiptest!!!!!!!!!! -/datum/outfit/job/botanist/syndicate/nsv - name = "Botanist-Chemist (NSV-M)" - - uniform = /obj/item/clothing/under/syndicate - id = /obj/item/card/id/syndicate_command/crew_id - shoes = /obj/item/clothing/shoes/jackboots - glasses = /obj/item/clothing/glasses/science - suit = /obj/item/clothing/suit/toggle/labcoat/chemist - suit_store = null - /datum/outfit/job/botanist/pharma name = "Herbalist" diff --git a/code/modules/jobs/job_types/brig_physician.dm b/code/modules/jobs/job_types/brig_physician.dm index 6b670693186e..d27f2df6b859 100644 --- a/code/modules/jobs/job_types/brig_physician.dm +++ b/code/modules/jobs/job_types/brig_physician.dm @@ -45,39 +45,3 @@ suit = /obj/item/clothing/suit/toggle/labcoat/brig_phys l_pocket = /obj/item/reagent_containers/syringe alt_suit = null - -/datum/outfit/job/brig_phys/syndicate/sbc - name = "Medic (Twinkleshine)" - - uniform = /obj/item/clothing/under/rank/medical/doctor/red - gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil - alt_uniform = /obj/item/clothing/under/syndicate/cybersun - glasses = /obj/item/clothing/glasses/hud/health - belt = /obj/item/storage/belt/medical - back = /obj/item/storage/backpack/duffelbag/syndie/med - shoes = /obj/item/clothing/shoes/combat - suit = /obj/item/clothing/suit/longcoat/roboblack - alt_suit = /obj/item/clothing/suit/toggle/labcoat - suit_store = null - head = null - ears = /obj/item/radio/headset/syndicate - mask = /obj/item/clothing/mask/gas/syndicate/voicechanger - id = /obj/item/card/id/syndicate_command/crew_id/med - implants = list(/obj/item/implant/weapons_auth) - backpack_contents = list(/obj/item/pda/brig_phys) - - backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel/sec - duffelbag = /obj/item/storage/backpack/duffelbag/syndie/med - courierbag = /obj/item/storage/backpack/messenger/sec - - box = /obj/item/storage/box/survival/syndie - -/datum/outfit/job/brig_phys/syndicate/sbc/post_equip(mob/living/carbon/human/H) - H.faction |= list("PlayerSyndicate") - - var/obj/item/card/id/I = H.wear_id - I.registered_name = pick(GLOB.twinkle_names) + "-" + num2text(rand(6, 8)) // squidquest real - I.assignment = "Medic" - I.access |= list(ACCESS_SYNDICATE) - I.update_label() diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index 42be4234f7f6..78e7eb8dde74 100644 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -54,6 +54,7 @@ ears = /obj/item/radio/headset/nanotrasen/captain uniform = /obj/item/clothing/under/rank/command/captain/nt + gloves = /obj/item/clothing/gloves/color/captain/nt shoes = /obj/item/clothing/shoes/laceup head = /obj/item/clothing/head/caphat/nt @@ -61,20 +62,10 @@ name = "Captain (Nanotrasen)" uniform = /obj/item/clothing/under/rank/centcom/officer + gloves = /obj/item/clothing/gloves/combat head = /obj/item/clothing/head/centhat suit = /obj/item/clothing/suit/armor/vest/bulletproof -/datum/outfit/job/captain/solgov - name = "Captain (SolGov)" - - ears = /obj/item/radio/headset/solgov/captain - shoes = /obj/item/clothing/shoes/laceup - suit = /obj/item/clothing/suit/toggle/solgov - -/datum/outfit/job/captain/solgov/rebel - name = "Captain (Deserter)" - suit = /obj/item/clothing/suit/toggle/solgov/terragov - /datum/outfit/job/captain/pirate name = "Captain (Pirate)" @@ -99,71 +90,6 @@ glasses = /obj/item/clothing/glasses/sunglasses alt_suit = null -/datum/outfit/job/captain/syndicate - name = "Captain (ACLF)" - id = /obj/item/card/id/syndicate_command/captain_id - ears = /obj/item/radio/headset/syndicate/alt/captain - uniform = /obj/item/clothing/under/syndicate/aclf - shoes = /obj/item/clothing/shoes/jackboots - head = /obj/item/clothing/head/HoS/syndicate - gloves = /obj/item/clothing/gloves/combat - suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate - - backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel/sec - duffelbag = /obj/item/storage/backpack/duffelbag/sec - courierbag = /obj/item/storage/backpack/messenger/sec - -/datum/outfit/job/captain/syndicate/sbc - name = "Captain (Twinkleshine)" - - uniform = /obj/item/clothing/under/syndicate/aclf - gloves = /obj/item/clothing/gloves/combat - shoes = /obj/item/clothing/shoes/combat - ears = /obj/item/radio/headset/syndicate/alt/captain - mask = /obj/item/clothing/mask/gas/syndicate/voicechanger - l_pocket = /obj/item/melee/transforming/energy/sword/saber/red - suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate - suit_store = /obj/item/gun/ballistic/revolver/mateba - r_pocket = /obj/item/kitchen/knife/combat/survival - belt = /obj/item/storage/belt/military/assault - glasses = /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch - id = /obj/item/card/id/syndicate_command/captain_id - implants = list(/obj/item/implant/weapons_auth) - backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/pda/captain) - - backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel/sec - duffelbag = /obj/item/storage/backpack/duffelbag/syndie - courierbag = /obj/item/storage/backpack/messenger/sec - - box = /obj/item/storage/box/survival/syndie - -/datum/outfit/job/captain/syndicate/sbc/post_equip(mob/living/carbon/human/H) - H.faction |= list("PlayerSyndicate") - - var/obj/item/card/id/I = H.wear_id - I.registered_name = pick(GLOB.twinkle_names) + "-" + num2text(rand(9, 12)) // squidquest real - I.access = get_all_accesses()+get_all_syndicate_access() - I.update_label() - -/datum/outfit/job/captain/syndicate/gorlex - name = "Captain (Gorlex Marauders)" - - uniform = /obj/item/clothing/under/syndicate/aclf - shoes = /obj/item/clothing/shoes/jackboots - head = /obj/item/clothing/head/aclfcap - suit = /obj/item/clothing/suit/aclf - -/datum/outfit/job/captain/syndicate/cybersun - name = "Cybersun Commander" - - uniform = /obj/item/clothing/under/suit/black_really - shoes = /obj/item/clothing/shoes/jackboots - head = /obj/item/clothing/head/HoS/syndicate - gloves = /obj/item/clothing/gloves/combat - suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate - /datum/outfit/job/captain/minutemen name = "Captain (Colonial Minutemen)" diff --git a/code/modules/jobs/job_types/cargo_technician.dm b/code/modules/jobs/job_types/cargo_technician.dm index c5d2b14aa0eb..22f85ed9f57a 100644 --- a/code/modules/jobs/job_types/cargo_technician.dm +++ b/code/modules/jobs/job_types/cargo_technician.dm @@ -35,11 +35,6 @@ gloves = /obj/item/clothing/gloves/fingerless glasses = /obj/item/clothing/glasses/sunglasses/big -/datum/outfit/job/cargo_tech/donk - name = "Customer Associate (Donk! Co.)" - id = /obj/item/card/id/syndicate_command/crew_id - uniform = /obj/item/clothing/under/syndicate/donk - suit = /obj/item/clothing/suit/hazardvest/donk /datum/outfit/job/cargo_tech/frontiersmen name = "Cargo Tech (frontiersmen)" diff --git a/code/modules/jobs/job_types/chaplain.dm b/code/modules/jobs/job_types/chaplain.dm index 97a2a2403717..9dd36c1e201a 100644 --- a/code/modules/jobs/job_types/chaplain.dm +++ b/code/modules/jobs/job_types/chaplain.dm @@ -115,7 +115,6 @@ belt = /obj/item/pda/chaplain ears = /obj/item/radio/headset/headset_srv uniform = /obj/item/clothing/under/rank/civilian/chaplain - alt_uniform = /obj/item/clothing/under/pants/youngfolksjeans //WS Edit - Alt Uniforms backpack_contents = list( /obj/item/stamp/chap = 1, /obj/item/camera/spooky = 1 diff --git a/code/modules/jobs/job_types/chemist.dm b/code/modules/jobs/job_types/chemist.dm index 9e26a0787865..d98181af7324 100644 --- a/code/modules/jobs/job_types/chemist.dm +++ b/code/modules/jobs/job_types/chemist.dm @@ -76,15 +76,6 @@ backpack_contents = list(/obj/item/clothing/glasses/science=1) //Shiptest -/datum/outfit/job/chemist/gec - name = "Chemist (GEC)" - - uniform = /obj/item/clothing/under/syndicate/intern - suit = /obj/item/clothing/suit/toggle/hazard - head = /obj/item/clothing/head/hardhat - belt = /obj/item/storage/belt/utility/full/engi - id = /obj/item/card/id/syndicate_command/crew_id - l_pocket =/obj/item/pda/chemist /datum/outfit/job/chemist/pharma name = "Pharmacist" diff --git a/code/modules/jobs/job_types/chief_engineer.dm b/code/modules/jobs/job_types/chief_engineer.dm index 76d49f4b0f4d..5b862731db49 100644 --- a/code/modules/jobs/job_types/chief_engineer.dm +++ b/code/modules/jobs/job_types/chief_engineer.dm @@ -72,35 +72,6 @@ neck = /obj/item/clothing/neck/tie/green backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced=1, /obj/item/clothing/gloves/color/black=1) -/datum/outfit/job/ce/gec - name = "Chief Engineer (GEC)" - - uniform = /obj/item/clothing/under/syndicate/gec/chief_engineer - suit = /obj/item/clothing/suit/toggle/hazard - head = /obj/item/clothing/head/hardhat/white - shoes =/obj/item/clothing/shoes/laceup - ears = /obj/item/radio/headset/syndicate/alt/captain - id = /obj/item/card/id/syndicate_command/captain_id - gloves = /obj/item/clothing/gloves/combat - -/datum/outfit/job/ce/syndicate - name = "Chief Engineer (Syndicate Generic)" - - id = /obj/item/card/id/syndicate_command/crew_id - ears = /obj/item/radio/headset/syndicate/alt - glasses = /obj/item/clothing/glasses/sunglasses - -/datum/outfit/job/ce/syndicate/gorlex - name = "Foreman (Gorlex Marauders)" - - ears = /obj/item/radio/headset/syndicate/alt - uniform = /obj/item/clothing/under/syndicate/gorlex - alt_uniform = null - suit = /obj/item/clothing/suit/toggle/hazard - alt_suit = null - shoes = /obj/item/clothing/shoes/jackboots - gloves = /obj/item/clothing/gloves/combat - /datum/outfit/job/ce/inteq name = "IRMG Artificer Class II (Inteq)" diff --git a/code/modules/jobs/job_types/chief_medical_officer.dm b/code/modules/jobs/job_types/chief_medical_officer.dm index 92e270ee22e7..f614aab080a0 100644 --- a/code/modules/jobs/job_types/chief_medical_officer.dm +++ b/code/modules/jobs/job_types/chief_medical_officer.dm @@ -75,14 +75,6 @@ suit_store = null backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/storage/firstaid/medical=1, /obj/item/flashlight/pen=1) -//Shiptest! -/datum/outfit/job/cmo/syndicate/nsv - name = "Medical Director (NSV-M)" - - uniform = /obj/item/clothing/under/syndicate - ears = /obj/item/radio/headset/syndicate/alt/captain - id = /obj/item/card/id/syndicate_command/captain_id - shoes = /obj/item/clothing/shoes/jackboots /datum/outfit/job/cmo/pharma name = "Chief Pharmacist" diff --git a/code/modules/jobs/job_types/head_of_personnel.dm b/code/modules/jobs/job_types/head_of_personnel.dm index 2e97961b7fcb..e38e758cf71e 100644 --- a/code/modules/jobs/job_types/head_of_personnel.dm +++ b/code/modules/jobs/job_types/head_of_personnel.dm @@ -95,30 +95,6 @@ backpack_contents = list(/obj/item/storage/box/ids=1,\ /obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1) -/datum/outfit/job/head_of_personnel/syndicate - name = "Bridge Officer (Syndicate)" - - ears = /obj/item/radio/headset/syndicate/alt - uniform = /obj/item/clothing/under/syndicate/aclfgrunt - shoes = /obj/item/clothing/shoes/jackboots - head = /obj/item/clothing/head/HoS/beret/syndicate - gloves = /obj/item/clothing/gloves/color/white - id = /obj/item/card/id/syndicate_command/crew_id - r_pocket = /obj/item/kitchen/knife/combat/survival - glasses = /obj/item/clothing/glasses/hud/health - -/datum/outfit/job/head_of_personnel/syndicate/intel - name = "Intelligence Officer (Syndicate)" - - ears = /obj/item/radio/headset/syndicate/alt - uniform = /obj/item/clothing/under/suit/charcoal - shoes = /obj/item/clothing/shoes/jackboots - head = /obj/item/clothing/head/HoS/syndicate - gloves = /obj/item/clothing/gloves/combat - id = /obj/item/card/id/syndicate_command/crew_id - r_pocket = /obj/item/kitchen/knife/combat/survival - glasses = /obj/item/clothing/glasses/sunglasses - /datum/outfit/job/head_of_personnel/beluga uniform = /obj/item/clothing/under/rank/command/head_of_personnel diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm index f38c9fd3a901..a122b4249b98 100644 --- a/code/modules/jobs/job_types/head_of_security.dm +++ b/code/modules/jobs/job_types/head_of_security.dm @@ -61,16 +61,6 @@ suit_store = /obj/item/tank/internals/oxygen backpack_contents = list(/obj/item/melee/baton/loaded=1, /obj/item/gun/energy/e_gun=1, /obj/item/ammo_box/magazine/co9mm=1) //WS edit - free lethals -/datum/outfit/job/hos/syndicate - name = "Sergeant (Syndicate)" - - ears = /obj/item/radio/headset/syndicate/alt - uniform = /obj/item/clothing/under/syndicate/combat - head = /obj/item/clothing/head/warden - suit = /obj/item/clothing/suit/armor/vest/syndie - id = /obj/item/card/id/syndicate_command/crew_id - backpack_contents = list(/obj/item/melee/classic_baton=1,/obj/item/storage/box/survival/syndie=1) - /datum/outfit/job/hos/nanotrasen name = "Head of Security (Nanotrasen)" @@ -122,6 +112,9 @@ /obj/item/melee/classic_baton/telescopic=1 ) +/datum/outfit/job/hos/roumain/post_equip(mob/living/carbon/human/H) + H.faction |= list("roumain") + /datum/job/hos/roumain outfit = /datum/outfit/job/hos/roumain mind_traits = null diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm index 49a23855c3c8..f46b1f243582 100644 --- a/code/modules/jobs/job_types/medical_doctor.dm +++ b/code/modules/jobs/job_types/medical_doctor.dm @@ -106,27 +106,6 @@ uniform = /obj/item/clothing/under/costume/sailor shoes = /obj/item/clothing/shoes/jackboots -/datum/outfit/job/doctor/cybersun - name = "Operations Assistant (Medical Doctor)" - - uniform = /obj/item/clothing/under/syndicate/cybersun - accessory = /obj/item/clothing/accessory/armband/medblue - shoes = /obj/item/clothing/shoes/jackboots -/datum/outfit/job/doctor/syndicate/nsv - name = "Medical Doctor (NSV-M)" - - uniform = /obj/item/clothing/under/syndicate - id = /obj/item/card/id/syndicate_command/crew_id - shoes = /obj/item/clothing/shoes/jackboots - -/datum/outfit/job/doctor/syndicate_komodo - name = "Ship Medical Doctor" - uniform = /obj/item/clothing/under/syndicate/gorlex - glasses = /obj/item/clothing/glasses/hud/health/prescription - r_pocket = /obj/item/kitchen/knife/combat/survival - back = /obj/item/storage/backpack/duffelbag/syndie/med - id = /obj/item/card/id/syndicate_command/crew_id - backpack_contents = list(/obj/item/storage/box/survival/syndie=1, /obj/item/storage/firstaid/medical,) /datum/outfit/job/doctor/roumain name = "Hunter Doctor (Saint-Roumain Militia)" @@ -145,6 +124,9 @@ courierbag = /obj/item/storage/backpack/messenger backpack_contents = list(/obj/item/storage/firstaid/roumain=1) +/datum/outfit/job/doctor/roumain/post_equip(mob/living/carbon/human/H) + H.faction |= list("roumain") + /datum/outfit/job/doctor/frontiersmen name = "Surgeon (frontiersmen)" diff --git a/code/modules/jobs/job_types/paramedic.dm b/code/modules/jobs/job_types/paramedic.dm index a51249c10f7d..5ac130370a6c 100644 --- a/code/modules/jobs/job_types/paramedic.dm +++ b/code/modules/jobs/job_types/paramedic.dm @@ -53,22 +53,6 @@ backpack = /obj/item/storage/backpack/ert/medical belt = /obj/item/storage/belt/medical/webbing/paramedic -/datum/outfit/job/paramedic/syndicate/gorlex - name = "Paramedic (Gorlex)" - - id = /obj/item/card/id/syndicate_command/crew_id - uniform = /obj/item/clothing/under/syndicate/gorlex - alt_uniform = null - shoes = /obj/item/clothing/shoes/jackboots - -/datum/outfit/job/paramedic/syndicate - name = "Field Medic (Cybersun Industries)" - - uniform = /obj/item/clothing/under/syndicate/medic - head = /obj/item/clothing/head/soft/cybersun - shoes = /obj/item/clothing/shoes/combat - suit = /obj/item/clothing/suit/toggle/labcoat/raincoat - /datum/outfit/job/paramedic/inteq name = "IRMG Corpsman (Inteq)" diff --git a/code/modules/jobs/job_types/prisoner.dm b/code/modules/jobs/job_types/prisoner.dm index 16195bfc1a85..aca27ae4acbf 100644 --- a/code/modules/jobs/job_types/prisoner.dm +++ b/code/modules/jobs/job_types/prisoner.dm @@ -29,9 +29,3 @@ name = "Shotcaller" l_pocket = /obj/item/kitchen/knife/shiv -/datum/outfit/job/prisoner/syndicatepatient - name = "Long Term Patient" - id = /obj/item/card/id/patient - uniform = /obj/item/clothing/under/rank/medical/gown - alt_suit = null - shoes = /obj/item/clothing/shoes/sandal/slippers diff --git a/code/modules/jobs/job_types/psychologist.dm b/code/modules/jobs/job_types/psychologist.dm index de4a0eb10a24..1bc260c61c5f 100644 --- a/code/modules/jobs/job_types/psychologist.dm +++ b/code/modules/jobs/job_types/psychologist.dm @@ -25,13 +25,3 @@ satchel = /obj/item/storage/backpack/satchel/med duffelbag = /obj/item/storage/backpack/duffelbag/med -//Shiptest Outfits - -/datum/outfit/job/psychologist/syndicate/nsv - name = "Ship Psychologist" - id = /obj/item/card/id/syndicate_command/crew_id - uniform = /obj/item/clothing/under/rank/medical/psychiatrist - suit = /obj/item/clothing/suit/toggle/labcoat - shoes = /obj/item/clothing/shoes/laceup - alt_uniform = null - l_hand = /obj/item/clipboard diff --git a/code/modules/jobs/job_types/quartermaster.dm b/code/modules/jobs/job_types/quartermaster.dm index 3399fb9de9f1..68380b99fa05 100644 --- a/code/modules/jobs/job_types/quartermaster.dm +++ b/code/modules/jobs/job_types/quartermaster.dm @@ -36,16 +36,6 @@ glasses = /obj/item/clothing/glasses/sunglasses head = /obj/item/clothing/head/cowboy/sec -/datum/outfit/job/quartermaster/donk - name = "Manager (Donk! Co.)" - id = /obj/item/card/id/syndicate_command/captain_id - - ears = /obj/item/radio/headset/syndicate/alt - uniform = /obj/item/clothing/under/syndicate/donk/qm - suit = /obj/item/clothing/suit/hazardvest/donk/qm - ears = /obj/item/radio/headset/syndicate/alt - shoes = /obj/item/clothing/shoes/laceup - /datum/outfit/job/quartermaster/requisitionsofficer name = "Requisitions Officer" suit = /obj/item/clothing/suit/jacket/miljacket diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm index 781e6f360dc5..3fe484c56986 100644 --- a/code/modules/jobs/job_types/security_officer.dm +++ b/code/modules/jobs/job_types/security_officer.dm @@ -100,8 +100,6 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S chameleon_extras = list(/obj/item/gun/energy/disabler, /obj/item/clothing/glasses/hud/security/sunglasses, /obj/item/clothing/head/helmet) //The helmet is necessary because /obj/item/clothing/head/helmet/sec is overwritten in the chameleon list by the standard helmet, which has the same name and icon state -//Shiptest outfits begin - /datum/outfit/job/security/pirate name = "Buccaneer (Pirate)" @@ -289,46 +287,8 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S courierbag = /obj/item/storage/backpack/messenger backpack_contents = null -/datum/outfit/job/security/syndicate/gorlex - name = "Syndicate Battlecruiser Assault Operative" - uniform = /obj/item/clothing/under/syndicate - r_pocket = /obj/item/kitchen/knife/combat/survival - belt = /obj/item/storage/belt/military - back = /obj/item/storage/backpack - suit = /obj/item/clothing/suit/armor/vest - id = /obj/item/card/id/syndicate_command/crew_id - backpack_contents = list(/obj/item/storage/box/survival/syndie=1) - -/datum/outfit/job/security/syndicate/sbc - name = "Operative (Twinkleshine)" - uniform = /obj/item/clothing/under/syndicate/combat - ears = /obj/item/radio/headset/syndicate/alt - mask = /obj/item/clothing/mask/gas/syndicate/voicechanger - gloves = /obj/item/clothing/gloves/combat - shoes = /obj/item/clothing/shoes/combat - l_pocket = /obj/item/gun/ballistic/automatic/pistol - r_pocket = /obj/item/kitchen/knife/combat/survival - belt = /obj/item/storage/belt/military/assault - id = /obj/item/card/id/syndicate_command/crew_id - implants = list(/obj/item/implant/weapons_auth) - backpack_contents = list(/obj/item/gun_voucher/syndicate=1) - - head = null - backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel/sec - duffelbag = /obj/item/storage/backpack/duffelbag/syndie - courierbag = /obj/item/storage/backpack/messenger/sec - - box = /obj/item/storage/box/survival/syndie - -/datum/outfit/job/security/syndicate/sbc/post_equip(mob/living/carbon/human/H) - H.faction |= list("PlayerSyndicate") - - var/obj/item/card/id/I = H.wear_id - I.registered_name = pick(GLOB.twinkle_names) + "-" + num2text(rand(4, 8)) // squidquest real - I.assignment = "Operative" - I.access |= list(ACCESS_SYNDICATE) - I.update_label() +/datum/outfit/job/security/roumain/post_equip(mob/living/carbon/human/H) + H.faction |= list("roumain") /datum/outfit/job/security/aipirate name = "Nodesman (Security)" @@ -359,7 +319,6 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S l_pocket = /obj/item/flashlight/seclite r_pocket = /obj/item/tank/internals/emergency_oxygen/double - /datum/outfit/job/security/lp name = "LP Security Specialist" diff --git a/code/modules/jobs/job_types/shaft_miner.dm b/code/modules/jobs/job_types/shaft_miner.dm index 1fade6b2ecf0..6a3f13da7c78 100644 --- a/code/modules/jobs/job_types/shaft_miner.dm +++ b/code/modules/jobs/job_types/shaft_miner.dm @@ -90,43 +90,6 @@ satchel = /obj/item/storage/backpack/satchel/tox courierbag = /obj/item/storage/backpack/messenger/tox -/datum/outfit/job/miner/syndicate/gorlex - name = "Wrecker (Gorlex Marauders)" - - uniform = /obj/item/clothing/under/syndicate/gorlex - shoes = /obj/item/clothing/shoes/workboots - ears = /obj/item/radio/headset/alt - -/datum/outfit/job/miner/syndicate/sbc - name = "Miner (Twinkleshine)" - - uniform = /obj/item/clothing/under/syndicate/gorlex - shoes = /obj/item/clothing/shoes/workboots - glasses = /obj/item/clothing/glasses/meson/night - gloves = /obj/item/clothing/gloves/explorer - ears = /obj/item/radio/headset/syndicate - mask = /obj/item/clothing/mask/gas/syndicate/voicechanger - r_pocket = /obj/item/kitchen/knife/combat/survival - belt = /obj/item/storage/belt/mining/alt - implants = list(/obj/item/implant/weapons_auth) - id = /obj/item/card/id/syndicate_command/crew_id/engi - - backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel/sec - duffelbag = /obj/item/storage/backpack/duffelbag/syndie - courierbag = /obj/item/storage/backpack/messenger/sec - - box = /obj/item/storage/box/survival/mining - -/datum/outfit/job/miner/syndicate/sbc/post_equip(mob/living/carbon/human/H) - H.faction |= list("PlayerSyndicate") - - var/obj/item/card/id/I = H.wear_id - I.registered_name = pick(GLOB.twinkle_names) + "-" + num2text(rand(5, 7)) // squidquest real - I.assignment = "Miner" - I.access |= list(ACCESS_SYNDICATE, ACCESS_ENGINE) - I.update_label() - /datum/outfit/job/miner/old name = "Shaft Miner (Legacy)" suit = /obj/item/clothing/suit/hooded/explorer/old @@ -162,30 +125,6 @@ /obj/item/borg/upgrade/modkit/aoe=1 ) -/datum/outfit/job/miner/syndicate/cybersun - name = "Field Agent" - - id = /obj/item/card/id/syndicate_command/crew_id - ears = /obj/item/radio/headset - uniform = /obj/item/clothing/under/syndicate - accessory = /obj/item/clothing/accessory/armband/cargo - head = /obj/item/clothing/head/soft/black - r_pocket = /obj/item/radio - -/datum/outfit/job/miner/syndicate/gec - name = "Shaft Miner (GEC)" - - id = /obj/item/card/id/syndicate_command/crew_id - ears = /obj/item/radio/headset - uniform = /obj/item/clothing/under/syndicate - alt_uniform = null - accessory = /obj/item/clothing/accessory/armband/cargo - head = /obj/item/clothing/head/soft/black - r_pocket = /obj/item/radio - head = /obj/item/clothing/head/hardhat/orange - suit = /obj/item/clothing/suit/toggle/industrial - suit_store = /obj/item/tank/internals/emergency_oxygen/double - /datum/outfit/job/miner/hazard/minutemen name = "Industrial Miner (Minutemen)" gloves = /obj/item/clothing/gloves/color/black diff --git a/code/modules/jobs/job_types/station_engineer.dm b/code/modules/jobs/job_types/station_engineer.dm index cf774d8a25bb..a347965d9323 100644 --- a/code/modules/jobs/job_types/station_engineer.dm +++ b/code/modules/jobs/job_types/station_engineer.dm @@ -84,61 +84,6 @@ suit = /obj/item/clothing/suit/toggle/hazard alt_suit = /obj/item/clothing/suit/hazardvest -/datum/outfit/job/engineer/syndicate - name = "Ship Technician (Engineer)" - - id = /obj/item/card/id/syndicate_command/crew_id - uniform = /obj/item/clothing/under/syndicate/aclfgrunt - accessory = /obj/item/clothing/accessory/armband/engine - glasses = /obj/item/clothing/glasses/sunglasses - shoes = /obj/item/clothing/shoes/jackboots - -/datum/outfit/job/engineer/gec - name = "Station Engineer (GEC)" - - uniform = /obj/item/clothing/under/syndicate/gec - suit = /obj/item/clothing/suit/toggle/hazard - head = /obj/item/clothing/head/hardhat - id = /obj/item/card/id/syndicate_command/crew_id - -/datum/outfit/job/engineer/syndicate/gorlex - name = "Mechanic (Gorlex Marauders)" - - uniform = /obj/item/clothing/under/syndicate/gorlex - shoes = /obj/item/clothing/shoes/workboots - alt_uniform = null - glasses = null - -/datum/outfit/job/engineer/syndicate/sbc - name = "Ship Engineer (Twinkleshine)" - - uniform = /obj/item/clothing/under/syndicate/gec - accessory = null - glasses = /obj/item/clothing/glasses/meson/night - head = /obj/item/clothing/head/hardhat/orange - gloves = /obj/item/clothing/gloves/tackler/combat/insulated - ears = /obj/item/radio/headset/syndicate - mask = /obj/item/clothing/mask/gas/syndicate/voicechanger - back = /obj/item/storage/backpack/industrial - belt = /obj/item/storage/belt/utility/syndicate - shoes = /obj/item/clothing/shoes/combat - suit = /obj/item/clothing/suit/hazardvest - alt_suit = /obj/item/clothing/suit/toggle/hazard - implants = list(/obj/item/implant/weapons_auth) - id = /obj/item/card/id/syndicate_command/crew_id/engi - backpack_contents = list(/obj/item/construction/rcd/combat, /obj/item/rcd_ammo/large) - - box = /obj/item/storage/box/survival/syndie - -/datum/outfit/job/engineer/syndicate/sbc/post_equip(mob/living/carbon/human/H) - H.faction |= list("PlayerSyndicate") - - var/obj/item/card/id/I = H.wear_id - I.registered_name = pick(GLOB.twinkle_names) + "-" + num2text(rand(6, 8)) // squidquest real - I.assignment = "Engineer" - I.access |= list(ACCESS_SYNDICATE) - I.update_label() - /datum/outfit/job/engineer/independent/ship_engineer name = "Ship Engineer (Independent)" @@ -161,16 +106,6 @@ r_pocket = null glasses = null - -/datum/outfit/job/engineer/syndicate/cybersun - name = "Engineer (Cybersun)" - - uniform = /obj/item/clothing/under/syndicate/cybersun - shoes = /obj/item/clothing/shoes/workboots - r_pocket = /obj/item/radio - head = /obj/item/clothing/head/beanie/black - accessory = /obj/item/clothing/accessory/armband/engine - /datum/outfit/job/engineer/aipirate name = "Nodesman (Engineer)" diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm index a59b68a49892..f16d6119d147 100644 --- a/code/modules/jobs/job_types/warden.dm +++ b/code/modules/jobs/job_types/warden.dm @@ -109,35 +109,3 @@ suit = /obj/item/clothing/suit/armor/vest/security/warden/alt/nt alt_uniform = null alt_suit = null - -/datum/outfit/job/warden/syndicate/sbc - name = "Lieutenant (Twinkleshine)" - uniform = /obj/item/clothing/under/syndicate/aclf - head = /obj/item/clothing/head/HoS/beret/syndicate - ears = /obj/item/radio/headset/syndicate/alt - mask = /obj/item/clothing/mask/gas/syndicate/voicechanger - gloves = /obj/item/clothing/gloves/combat - l_pocket = /obj/item/gun/ballistic/automatic/pistol - r_pocket = /obj/item/kitchen/knife/combat/survival - belt = /obj/item/storage/belt/military/assault - shoes = /obj/item/clothing/shoes/combat - suit = /obj/item/clothing/suit/armor/vest - alt_suit = /obj/item/clothing/suit/aclf - id = /obj/item/card/id/syndicate_command/lieutenant - implants = list(/obj/item/implant/weapons_auth) - backpack_contents = list(/obj/item/melee/baton) - - backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel/sec - duffelbag = /obj/item/storage/backpack/duffelbag/syndie - courierbag = /obj/item/storage/backpack/messenger/sec - - box = /obj/item/storage/box/survival/syndie - -/datum/outfit/job/warden/syndicate/sbc/post_equip(mob/living/carbon/human/H) - H.faction |= list("PlayerSyndicate") - - var/obj/item/card/id/I = H.wear_id - I.registered_name = pick(GLOB.twinkle_names) + "-" + num2text(rand(8, 10)) // squidquest real - I.access |= list(ACCESS_SYNDICATE) - I.update_label() diff --git a/code/modules/library/lib_codex_gigas.dm b/code/modules/library/lib_codex_gigas.dm index be017a07ef6b..c4263a771b0d 100644 --- a/code/modules/library/lib_codex_gigas.dm +++ b/code/modules/library/lib_codex_gigas.dm @@ -71,7 +71,7 @@ return FALSE if(action == "search") SStgui.close_uis(src) - addtimer(CALLBACK(src, .proc/perform_research, usr, currentName), 0) + addtimer(CALLBACK(src, PROC_REF(perform_research), usr, currentName), 0) currentName = "" currentSection = PRE_TITLE return FALSE diff --git a/code/modules/mentor/verbs/mentorhelp.dm b/code/modules/mentor/verbs/mentorhelp.dm index 0099d7eb20e5..a81ec907320c 100644 --- a/code/modules/mentor/verbs/mentorhelp.dm +++ b/code/modules/mentor/verbs/mentorhelp.dm @@ -23,7 +23,7 @@ //spam prevention, 60 second delay remove_verb(src, /client/verb/mentorhelp) - addtimer(CALLBACK(GLOBAL_PROC, .proc/add_verb, src, /client/verb/mentorhelp), 1 MINUTES, TIMER_STOPPABLE) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(add_verb), src, /client/verb/mentorhelp), 1 MINUTES, TIMER_STOPPABLE) /proc/get_mentor_counts() . = list("total" = 0, "afk" = 0, "present" = 0) diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index f36c7c441bad..8cf62d92abd4 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -33,8 +33,8 @@ /obj/item/kinetic_crusher/Initialize() . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /obj/item/kinetic_crusher/ComponentInitialize() . = ..() @@ -111,7 +111,7 @@ D.fire() charged = FALSE update_appearance() - addtimer(CALLBACK(src, .proc/Recharge), charge_time) + addtimer(CALLBACK(src, PROC_REF(Recharge)), charge_time) return if(proximity_flag && isliving(target)) var/mob/living/L = target @@ -352,7 +352,7 @@ /obj/item/crusher_trophy/magma_wing/on_mark_detonation(mob/living/target, mob/living/user) deadly_shot = TRUE - addtimer(CALLBACK(src, .proc/reset_deadly_shot), 300, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(reset_deadly_shot)), 300, TIMER_UNIQUE|TIMER_OVERRIDE) /obj/item/crusher_trophy/magma_wing/proc/reset_deadly_shot() deadly_shot = FALSE @@ -405,7 +405,7 @@ /obj/item/crusher_trophy/watcher_wing_forgotten/on_mark_detonation(mob/living/target, mob/living/user) deadly_shot = TRUE - addtimer(CALLBACK(src, .proc/reset_deadly_shot), 300, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(reset_deadly_shot)), 300, TIMER_UNIQUE|TIMER_OVERRIDE) /obj/item/crusher_trophy/watcher_wing_forgotten/proc/reset_deadly_shot() deadly_shot = FALSE @@ -538,7 +538,7 @@ continue playsound(L, 'sound/magic/fireball.ogg', 20, TRUE) new /obj/effect/temp_visual/fire(L.loc) - addtimer(CALLBACK(src, .proc/pushback, L, user), 1) //no free backstabs, we push AFTER module stuff is done + addtimer(CALLBACK(src, PROC_REF(pushback), L, user), 1) //no free backstabs, we push AFTER module stuff is done L.adjustFireLoss(bonus_value, forced = TRUE) /obj/item/crusher_trophy/tail_spike/proc/pushback(mob/living/target, mob/living/user) @@ -572,7 +572,7 @@ continue playsound(L, 'sound/magic/fireball.ogg', 20, TRUE) new /obj/effect/temp_visual/fire(L.loc) - addtimer(CALLBACK(src, .proc/pushback, L, user), 1) //no free backstabs, we push AFTER module stuff is done + addtimer(CALLBACK(src, PROC_REF(pushback), L, user), 1) //no free backstabs, we push AFTER module stuff is done L.adjustFireLoss(bonus_value, forced = TRUE) /obj/item/crusher_trophy/ash_spike/proc/pushback(mob/living/target, mob/living/user) @@ -640,7 +640,7 @@ /obj/item/crusher_trophy/blaster_tubes/on_mark_detonation(mob/living/target, mob/living/user) deadly_shot = TRUE - addtimer(CALLBACK(src, .proc/reset_deadly_shot), 300, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(reset_deadly_shot)), 300, TIMER_UNIQUE|TIMER_OVERRIDE) /obj/item/crusher_trophy/blaster_tubes/proc/reset_deadly_shot() deadly_shot = FALSE diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index bcf062d358f0..bf0877262923 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -35,7 +35,7 @@ /obj/item/organ/regenerative_core/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/inert_check), 2400) + addtimer(CALLBACK(src, PROC_REF(inert_check)), 2400) /obj/item/organ/regenerative_core/proc/inert_check() if(!preserved) diff --git a/code/modules/mining/equipment/resonator.dm b/code/modules/mining/equipment/resonator.dm index 9e911966f023..ce299cea1c71 100644 --- a/code/modules/mining/equipment/resonator.dm +++ b/code/modules/mining/equipment/resonator.dm @@ -73,7 +73,7 @@ transform = matrix()*0.75 animate(src, transform = matrix()*1.5, time = duration) deltimer(timerid) - timerid = addtimer(CALLBACK(src, .proc/burst), duration, TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(burst)), duration, TIMER_STOPPABLE) /obj/effect/temp_visual/resonance/Destroy() if(res) diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm index 1e281e2f856d..9c989b986a33 100644 --- a/code/modules/mining/equipment/wormhole_jaunter.dm +++ b/code/modules/mining/equipment/wormhole_jaunter.dm @@ -99,4 +99,4 @@ L.Paralyze(60) if(ishuman(L)) shake_camera(L, 20, 1) - addtimer(CALLBACK(L, /mob/living/carbon.proc/vomit), 20) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living/carbon, vomit)), 20) diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index d88bddc3188c..cc90920f96a7 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -53,7 +53,7 @@ name = harvested_name desc = harvested_desc harvested = TRUE - addtimer(CALLBACK(src, .proc/regrow), rand(regrowth_time_low, regrowth_time_high)) + addtimer(CALLBACK(src, PROC_REF(regrow)), rand(regrowth_time_low, regrowth_time_high)) return 1 /obj/structure/flora/ash/proc/regrow() @@ -496,7 +496,7 @@ name = harvested_name desc = harvested_desc harvested = TRUE - addtimer(CALLBACK(src, .proc/regrow), rand(regrowth_time_low, regrowth_time_high)) + addtimer(CALLBACK(src, PROC_REF(regrow)), rand(regrowth_time_low, regrowth_time_high)) return 1 /obj/structure/flora/ash/glowshroom diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 698e0a2dae25..a291811d5e83 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -393,7 +393,7 @@ /obj/effect/wisp/orbit(atom/thing, radius, clockwise, rotation_speed, rotation_segments, pre_rotation, lockinorbit) . = ..() if(ismob(thing)) - RegisterSignal(thing, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight) + RegisterSignal(thing, COMSIG_MOB_UPDATE_SIGHT, PROC_REF(update_user_sight)) var/mob/being = thing being.update_sight() to_chat(thing, "The wisp enhances your vision.") @@ -630,7 +630,7 @@ can_destroy = FALSE - addtimer(CALLBACK(src, .proc/unvanish, user), 15 SECONDS) + addtimer(CALLBACK(src, PROC_REF(unvanish), user), 15 SECONDS) /obj/effect/immortality_talisman/proc/unvanish(mob/user) user.status_flags &= ~GODMODE @@ -865,7 +865,7 @@ if(ismovable(hit_atom) && !caught && (!thrown_by || thrown_by && COOLDOWN_FINISHED(src, freeze_cooldown))) freeze(hit_atom) if(thrown_by && !caught) - addtimer(CALLBACK(src, /atom/movable.proc/throw_at, thrown_by, throw_range+2, throw_speed, null, TRUE), 1) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable, throw_at), thrown_by, throw_range+2, throw_speed, null, TRUE), 1) /obj/item/freeze_cube/proc/freeze(atom/movable/hit_atom) playsound(src, 'sound/effects/glassbr3.ogg', 50, TRUE) @@ -904,8 +904,8 @@ . = ..() if(slot == ITEM_SLOT_GLOVES) tool_behaviour = TOOL_MINING - RegisterSignal(user, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, .proc/rocksmash) - RegisterSignal(user, COMSIG_MOVABLE_BUMP, .proc/rocksmash) + RegisterSignal(user, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, PROC_REF(rocksmash)) + RegisterSignal(user, COMSIG_MOVABLE_BUMP, PROC_REF(rocksmash)) else stopmining(user) @@ -1520,7 +1520,7 @@ /obj/item/mayhem/attack_self(mob/user) for(var/mob/living/carbon/human/H in range(7,user)) var/obj/effect/mine/pickup/bloodbath/B = new(H) - INVOKE_ASYNC(B, /obj/effect/mine/pickup/bloodbath/.proc/mineEffect, H) + INVOKE_ASYNC(B, TYPE_PROC_REF(/obj/effect/mine/pickup/bloodbath, mineEffect), H) to_chat(user, "You shatter the bottle!") playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, TRUE) message_admins("[ADMIN_LOOKUPFLW(user)] has activated a bottle of mayhem!") @@ -1636,11 +1636,11 @@ calculate_anger_mod(user) timer = world.time + CLICK_CD_MELEE //by default, melee attacks only cause melee blasts, and have an accordingly short cooldown if(proximity_flag) - INVOKE_ASYNC(src, .proc/aoe_burst, T, user) + INVOKE_ASYNC(src, PROC_REF(aoe_burst), T, user) log_combat(user, target, "fired 3x3 blast at", src) else if(ismineralturf(target) && get_dist(user, target) < 6) //target is minerals, we can hit it(even if we can't see it) - INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user) + INVOKE_ASYNC(src, PROC_REF(cardinal_blasts), T, user) timer = world.time + cooldown_time else if(target in view(5, get_turf(user))) //if the target is in view, hit it timer = world.time + cooldown_time @@ -1651,12 +1651,12 @@ C.monster_damage_boost = FALSE log_combat(user, target, "fired a chaser at", src) else - INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user) //otherwise, just do cardinal blast + INVOKE_ASYNC(src, PROC_REF(cardinal_blasts), T, user) //otherwise, just do cardinal blast log_combat(user, target, "fired cardinal blast at", src) else to_chat(user, "That target is out of range!" ) timer = world.time - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) /obj/item/hierophant_club/proc/calculate_anger_mod(mob/user) //we get stronger as the user loses health chaser_cooldown = initial(chaser_cooldown) @@ -1695,7 +1695,7 @@ user.visible_message("[user] starts fiddling with [src]'s pommel...", \ "You start detaching the hierophant beacon...") timer = world.time + 51 - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) if(do_after(user, 50, target = user) && !beacon) var/turf/T = get_turf(user) playsound(T,'sound/magic/blind.ogg', 200, TRUE, -4) @@ -1707,7 +1707,7 @@ You can remove the beacon to place it again by striking it with the club.") else timer = world.time - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) else to_chat(user, "You need to be on solid ground to detach the beacon!") return @@ -1725,7 +1725,7 @@ user.update_action_buttons_icon() user.visible_message("[user] starts to glow faintly...") timer = world.time + 50 - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) beacon.icon_state = "hierophant_tele_on" var/obj/effect/temp_visual/hierophant/telegraph/edge/TE1 = new /obj/effect/temp_visual/hierophant/telegraph/edge(user.loc) var/obj/effect/temp_visual/hierophant/telegraph/edge/TE2 = new /obj/effect/temp_visual/hierophant/telegraph/edge(beacon.loc) @@ -1737,7 +1737,7 @@ to_chat(user, "The beacon is blocked by something, preventing teleportation!") user.update_action_buttons_icon() timer = world.time - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) beacon.icon_state = "hierophant_tele_off" return new /obj/effect/temp_visual/hierophant/telegraph(T, user) @@ -1749,7 +1749,7 @@ if(user) user.update_action_buttons_icon() timer = world.time - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) if(beacon) beacon.icon_state = "hierophant_tele_off" return @@ -1758,7 +1758,7 @@ to_chat(user, "The beacon is blocked by something, preventing teleportation!") user.update_action_buttons_icon() timer = world.time - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) beacon.icon_state = "hierophant_tele_off" return user.log_message("teleported self from [AREACOORD(source)] to [beacon]", LOG_GAME) @@ -1771,7 +1771,7 @@ var/obj/effect/temp_visual/hierophant/blast/B = new /obj/effect/temp_visual/hierophant/blast(t, user, TRUE) //but absolutely will hurt enemies B.damage = 30 for(var/mob/living/L in range(1, source)) - INVOKE_ASYNC(src, .proc/teleport_mob, source, L, T, user) //regardless, take all mobs near us along + INVOKE_ASYNC(src, PROC_REF(teleport_mob), source, L, T, user) //regardless, take all mobs near us along sleep(6) //at this point the blasts detonate if(beacon) beacon.icon_state = "hierophant_tele_off" @@ -1779,7 +1779,7 @@ qdel(TE1) qdel(TE2) timer = world.time - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) if(beacon) beacon.icon_state = "hierophant_tele_off" teleporting = FALSE @@ -1820,7 +1820,7 @@ B.damage = HIEROPHANT_CLUB_CARDINAL_DAMAGE B.monster_damage_boost = FALSE for(var/d in GLOB.cardinals) - INVOKE_ASYNC(src, .proc/blast_wall, T, d, user) + INVOKE_ASYNC(src, PROC_REF(blast_wall), T, d, user) /obj/item/hierophant_club/proc/blast_wall(turf/T, dir, mob/living/user) //make a wall of blasts blast_range tiles long if(!T) diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index 6ac92bd75e34..10f43aad4580 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -24,7 +24,7 @@ /obj/machinery/mineral/proc/register_input_turf() input_turf = get_step(src, input_dir) if(input_turf) // make sure there is actually a turf - RegisterSignal(input_turf, COMSIG_ATOM_ENTERED, .proc/pickup_item) + RegisterSignal(input_turf, COMSIG_ATOM_ENTERED, PROC_REF(pickup_item)) /// Unregisters signals that are registered the machine's input turf, if it has one. /obj/machinery/mineral/proc/unregister_input_turf() diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index 67379f1df8b5..ec971ed84bed 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -332,7 +332,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ else user.visible_message("[user] strikes \the [src], causing a chain reaction!", "You strike \the [src], causing a chain reaction.") log_bomber(user, "has primed a", src, "for detonation", notify_admins) - det_timer = addtimer(CALLBACK(src, .proc/detonate, notify_admins), det_time, TIMER_STOPPABLE) + det_timer = addtimer(CALLBACK(src, PROC_REF(detonate), notify_admins), det_time, TIMER_STOPPABLE) /obj/item/gibtonite/proc/detonate(notify_admins) if(primed) diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 6f37de4c4c77..d7865c9d2276 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -291,6 +291,12 @@ if(auth_check) return + if(!client.prefs.randomise[RANDOM_NAME]) // do they have random names enabled + var/name = client.prefs.real_name + if(GLOB.real_names_joined.Find(name)) // is there someone who spawned with the same name + to_chat(usr, "Someone has spawned with this name already.") + return FALSE + var/error = IsJobUnavailable(job, ship, check_playtime) if(error != JOB_AVAILABLE) alert(src, get_job_unavailable_error_message(error, job)) @@ -398,6 +404,7 @@ close_spawn_windows() var/mob/living/carbon/human/H = new(loc) + GLOB.joined_player_list += ckey var/frn = CONFIG_GET(flag/force_random_names) var/admin_anon_names = SSticker.anonymousnames @@ -418,6 +425,7 @@ is_antag = TRUE client.prefs.copy_to(H, antagonist = is_antag) + update_names_joined_list(H.real_name) H.dna.update_dna_identity() if(mind) if(transfer_after) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm b/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm index 443f13c6917f..afe97c858cff 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm @@ -54,7 +54,7 @@ var/gender_specific //Something that can be worn by either gender, but looks different on each var/use_static //determines if the accessory will be skipped by color preferences var/color_src = MUTCOLORS //Currently only used by mutantparts so don't worry about hair and stuff. This is the source that this accessory will get its color from. Default is MUTCOLOR, but can also be HAIR, FACEHAIR, EYECOLOR and 0 if none. - var/hasinner //Decides if this sprite has an "inner" part, such as the fleshy parts on ears. + var/secondary_color //Decides if this sprite has a secondary color in use. var/locked = FALSE //Is this part locked from roundstart selection? Used for parts that apply effects var/center = FALSE //Should we center the sprite? var/limbs_id //The limbs id supplied for full-body replacing features. diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm index 36b2f4d91dab..8b0ec1d6f79d 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm @@ -11,13 +11,13 @@ icon = 'icons/mob/species/misc/cat.dmi' name = "Cat" icon_state = "cat" - hasinner = 1 + secondary_color = TRUE color_src = HAIR /datum/sprite_accessory/ears/cat/slime name = "Slimecat" icon_state = "cat" - hasinner = FALSE + secondary_color = FALSE color_src = HAIR image_alpha = 150 @@ -25,11 +25,11 @@ icon = 'icons/mob/species/misc/fox.dmi' name = "Fox" icon_state = "fox" - hasinner = 1 + secondary_color = TRUE color_src = HAIR /datum/sprite_accessory/ears/elf name = "Elf" icon_state = "elf" - hasinner = FALSE + secondary_color = FALSE color_src = SKINCOLORS diff --git a/code/modules/mob/dead/new_player/sprite_accessories/hair.dm b/code/modules/mob/dead/new_player/sprite_accessories/hair.dm index 95f937811444..af774d9b055b 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/hair.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/hair.dm @@ -198,10 +198,6 @@ name = "Crewcut" icon_state = "hair_crewcut" -/datum/sprite_accessory/hair/curls - name = "Curls" - icon_state = "hair_curls" - /datum/sprite_accessory/hair/cut name = "Cut Hair" icon_state = "hair_c" @@ -330,10 +326,6 @@ name = "Hime Cut" icon_state = "hair_himecut" -/datum/sprite_accessory/hair/himecut2 - name = "Hime Cut 2" - icon_state = "hair_himecut2" - /datum/sprite_accessory/hair/shorthime name = "Hime Cut (Short)" icon_state = "hair_shorthime" @@ -378,10 +370,6 @@ name = "Long Hair 2" icon_state = "hair_long2" -/datum/sprite_accessory/hair/long3 - name = "Long Hair 3" - icon_state = "hair_long3" - /datum/sprite_accessory/hair/long_over_eye name = "Long Over Eye" icon_state = "hair_longovereye" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/lizard.dm b/code/modules/mob/dead/new_player/sprite_accessories/lizard.dm index e18e88353061..ce536a403e48 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/lizard.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/lizard.dm @@ -172,7 +172,7 @@ /datum/sprite_accessory/frills/ears name = "Normal ears" icon_state = "ears" - hasinner = TRUE + secondary_color = TRUE //End ears /datum/sprite_accessory/frills/simple name = "Simple" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/rachnid.dm b/code/modules/mob/dead/new_player/sprite_accessories/rachnid.dm index 1e60fd1d7ab5..d34b915e3e35 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/rachnid.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/rachnid.dm @@ -4,52 +4,37 @@ /datum/sprite_accessory/spider_legs icon = 'icons/mob/species/rachnid/spider_legs.dmi' - color_src = MUTCOLORS - -/datum/sprite_accessory/spider_legs/plain - name = "Plain" - icon_state = "plain" + color_src = 0 + secondary_color = TRUE -/datum/sprite_accessory/spider_legs/fuzzy - name = "Fuzzy" - icon_state = "fuzzy" - -/datum/sprite_accessory/spider_legs/spiky - name = "Spiky" - icon_state = "spiky" +/datum/sprite_accessory/spider_legs/carapace + name = "Carapace" + icon_state = "carapace" //Start spinner /datum/sprite_accessory/spider_spinneret icon = 'icons/mob/species/rachnid/spider_spinneret.dmi' color_src = MUTCOLORS + secondary_color = TRUE -/datum/sprite_accessory/spider_spinneret/plain - name = "Plain" - icon_state = "plain" - -/datum/sprite_accessory/spider_spinneret/fuzzy - name = "Fuzzy" - icon_state = "fuzzy" +/datum/sprite_accessory/spider_spinneret/spikecore + name = "Spikecore" + icon_state = "spikecore" -/datum/sprite_accessory/spider_spinneret/black_widow - name = "Black Widow" - icon_state = "blackwidow" - -//Start mandible - -/datum/sprite_accessory/spider_mandibles - icon = 'icons/mob/species/rachnid/spider_mandibles.dmi' - color_src = MUTCOLORS +/datum/sprite_accessory/spider_spinneret/cerberus + name = "Cerberus" + icon_state = "cerberus" -/datum/sprite_accessory/spider_mandibles/plain - name = "Plain" - icon_state = "plain" +/datum/sprite_accessory/spider_spinneret/queen + name = "Queen" + icon_state = "queen" -/datum/sprite_accessory/spider_mandibles/fuzzy - name = "Fuzzy" - icon_state = "fuzzy" +/datum/sprite_accessory/spider_spinneret/folds + name = "Folds" + icon_state = "folds" + secondary_color = FALSE -/datum/sprite_accessory/spider_mandibles/spiky - name = "Spiky" - icon_state = "spiky" +/datum/sprite_accessory/spider_spinneret/prongs + name = "Prongs" + icon_state = "prongs" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 1ed569f93ecc..5d8c44bbc188 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -156,7 +156,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) var/old_color = color color = "#960000" animate(src, color = old_color, time = 10, flags = ANIMATION_PARALLEL) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 10) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 10) /mob/dead/observer/Destroy() // Update our old body's medhud since we're abandoning it diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 75f1026e4414..de07b3d4f0fd 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -431,7 +431,7 @@ set name = "quick-equip" set hidden = TRUE - DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, .proc/execute_quick_equip)) + DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, PROC_REF(execute_quick_equip))) ///proc extender of [/mob/verb/quick_equip] used to make the verb queuable if the server is overloaded /mob/proc/execute_quick_equip() @@ -443,7 +443,7 @@ set name = "equipment-swap" set hidden = TRUE - DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, .proc/execute_equipment_swap)) + DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, PROC_REF(execute_equipment_swap))) /mob/proc/execute_equipment_swap() var/obj/item/I = get_active_held_item() diff --git a/code/modules/mob/living/blood.dm b/code/modules/mob/living/blood.dm index a986fc5be298..aec75960989d 100644 --- a/code/modules/mob/living/blood.dm +++ b/code/modules/mob/living/blood.dm @@ -9,7 +9,7 @@ return else bleedsuppress = TRUE - addtimer(CALLBACK(src, .proc/resume_bleeding), amount) + addtimer(CALLBACK(src, PROC_REF(resume_bleeding)), amount) /mob/living/carbon/human/proc/resume_bleeding() bleedsuppress = 0 diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm index 6aaa361b0bfb..bc0f3849360f 100644 --- a/code/modules/mob/living/bloodcrawl.dm +++ b/code/modules/mob/living/bloodcrawl.dm @@ -38,7 +38,7 @@ C.regenerate_icons() notransform = TRUE - INVOKE_ASYNC(src, .proc/bloodpool_sink, B) + INVOKE_ASYNC(src, PROC_REF(bloodpool_sink), B) return TRUE @@ -155,7 +155,7 @@ newcolor = rgb(43, 186, 0) add_atom_colour(newcolor, TEMPORARY_COLOUR_PRIORITY) // but only for a few seconds - addtimer(CALLBACK(src, /atom/.proc/remove_atom_colour, TEMPORARY_COLOUR_PRIORITY, newcolor), 6 SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, remove_atom_colour), TEMPORARY_COLOUR_PRIORITY, newcolor), 6 SECONDS) /mob/living/proc/phasein(obj/effect/decal/cleanable/B) if(notransform) diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm index 06bc7e0bc886..1cba16cc0a9a 100644 --- a/code/modules/mob/living/brain/posibrain.dm +++ b/code/modules/mob/living/brain/posibrain.dm @@ -58,7 +58,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) next_ask = world.time + askDelay searching = TRUE update_appearance() - addtimer(CALLBACK(src, .proc/check_success), askDelay) + addtimer(CALLBACK(src, PROC_REF(check_success)), askDelay) /obj/item/mmi/posibrain/AltClick(mob/living/user) if(!istype(user) || !user.canUseTopic(src, BE_CLOSE)) diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm index 186dedcc86d5..5163821a9573 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -103,7 +103,7 @@ leaping = 1 weather_immunities += "lava" update_icons() - throw_at(leap_target, MAX_ALIEN_LEAP_DIST, 2, src, FALSE, TRUE, callback = CALLBACK(src, .proc/leap_end)) + throw_at(leap_target, MAX_ALIEN_LEAP_DIST, 2, src, FALSE, TRUE, callback = CALLBACK(src, PROC_REF(leap_end))) #undef MAX_ALIEN_LEAP_DIST diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm index 33e8cb7ab708..8faa15b83929 100644 --- a/code/modules/mob/living/carbon/alien/organs.dm +++ b/code/modules/mob/living/carbon/alien/organs.dm @@ -137,7 +137,7 @@ recent_queen_death = 1 owner.throw_alert("alien_noqueen", /atom/movable/screen/alert/alien_vulnerable) - addtimer(CALLBACK(src, .proc/clear_queen_death), QUEEN_DEATH_DEBUFF_DURATION) + addtimer(CALLBACK(src, PROC_REF(clear_queen_death)), QUEEN_DEATH_DEBUFF_DURATION) /obj/item/organ/alien/hivenode/proc/clear_queen_death() diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm index b2020b3b9c71..49ff1e88937b 100644 --- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm +++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm @@ -49,7 +49,7 @@ /obj/item/organ/body_egg/alien_embryo/egg_process() if(stage < 5 && prob(3)) stage++ - INVOKE_ASYNC(src, .proc/RefreshInfectionImage) + INVOKE_ASYNC(src, PROC_REF(RefreshInfectionImage)) if(stage == 5 && prob(50)) for(var/datum/surgery/S in owner.surgeries) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 39958b84fc0d..a9caeba37208 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -206,7 +206,7 @@ if(!facehugger_mob.sterile) target.take_bodypart_damage(brute = facehugger_mob.melee_damage_upper) target.Unconscious(facehugger_mob.pregnation_time) - addtimer(CALLBACK(src, .proc/Impregnate, target), facehugger_mob.pregnation_time) + addtimer(CALLBACK(src, PROC_REF(Impregnate), target), facehugger_mob.pregnation_time) COOLDOWN_START(facehugger_mob, coupling_cooldown, facehugger_mob.couple_retry_time) /** diff --git a/code/modules/mob/living/carbon/alien/utilities/structures.dm b/code/modules/mob/living/carbon/alien/utilities/structures.dm index 3ebba3ed7958..0ac30d207a41 100644 --- a/code/modules/mob/living/carbon/alien/utilities/structures.dm +++ b/code/modules/mob/living/carbon/alien/utilities/structures.dm @@ -195,7 +195,7 @@ check_weed = new(check_turf) //set the new one's parent node to our parent node check_weed.parent_node = parent_node - check_weed.RegisterSignal(parent_node, COMSIG_PARENT_QDELETING, .proc/after_parent_destroyed) + check_weed.RegisterSignal(parent_node, COMSIG_PARENT_QDELETING, PROC_REF(after_parent_destroyed)) /** * Called when the parent node is destroyed @@ -203,7 +203,7 @@ /obj/structure/alien/weeds/proc/after_parent_destroyed() if(!find_new_parent()) var/random_time = rand(2 SECONDS, 8 SECONDS) - addtimer(CALLBACK(src, .proc/do_qdel), random_time) + addtimer(CALLBACK(src, PROC_REF(do_qdel)), random_time) /** * Called when trying to find a new parent after our previous parent died @@ -218,7 +218,7 @@ continue parent_node = new_parent - RegisterSignal(parent_node, COMSIG_PARENT_QDELETING, .proc/after_parent_destroyed) + RegisterSignal(parent_node, COMSIG_PARENT_QDELETING, PROC_REF(after_parent_destroyed)) return parent_node return FALSE @@ -319,7 +319,7 @@ if(status == GROWING || status == GROWN) child = new(src) if(status == GROWING) - addtimer(CALLBACK(src, .proc/Grow), GROWTH_TIME) + addtimer(CALLBACK(src, PROC_REF(Grow)), GROWTH_TIME) proximity_monitor = new(src, status == GROWN ? 1 : 0) if(status == BURST) obj_integrity = integrity_failure * max_integrity @@ -375,7 +375,7 @@ proximity_monitor.set_range(0) update_appearance() flick("egg_opening", src) - addtimer(CALLBACK(src, .proc/finish_bursting, kill), 15) + addtimer(CALLBACK(src, PROC_REF(finish_bursting), kill), 15) /obj/structure/alien/egg/proc/finish_bursting(kill = TRUE) if(child) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 84f67c8f8814..82c27e95174b 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -399,7 +399,7 @@ switch(rand(1,100)+modifier) //91-100=Nothing special happens if(-INFINITY to 0) //attack yourself - INVOKE_ASYNC(I, /obj/item.proc/attack, src, src) + INVOKE_ASYNC(I, TYPE_PROC_REF(/obj/item, attack), src, src) if(1 to 30) //throw it at yourself I.throw_impact(src) if(31 to 60) //Throw object in facing direction diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index a99baf1baf54..df9b5c22704d 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -248,7 +248,7 @@ target.visible_message("[name] kicks [target.name] onto [target.p_their()] side!", "You're kicked onto your side by [name]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, src) to_chat(src, "You kick [target.name] onto [target.p_their()] side!") - addtimer(CALLBACK(target, /mob/living/proc/SetKnockdown, 0), SHOVE_CHAIN_PARALYZE) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/living, SetKnockdown), 0), SHOVE_CHAIN_PARALYZE) log_combat(src, target, "kicks", "onto their side (paralyzing)") if(shove_blocked && !target.is_shove_knockdown_blocked() && !target.buckled) @@ -304,7 +304,7 @@ if(target_held_item) target.visible_message("[target.name]'s grip on \the [target_held_item] loosens!", "Your grip on \the [target_held_item] loosens!", null, COMBAT_MESSAGE_RANGE) - addtimer(CALLBACK(target, /mob/living/carbon/proc/clear_shove_slowdown), SHOVE_SLOWDOWN_LENGTH) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/living/carbon, clear_shove_slowdown)), SHOVE_SLOWDOWN_LENGTH) else if(target_held_item) target.dropItemToGround(target_held_item) knocked_item = TRUE @@ -374,7 +374,7 @@ jitteriness += 1000 do_jitter_animation(jitteriness) stuttering += 2 - addtimer(CALLBACK(src, .proc/secondary_shock, should_stun), 20) + addtimer(CALLBACK(src, PROC_REF(secondary_shock), should_stun), 20) return shock_damage ///Called slightly after electrocute act to reduce jittering and apply a secondary stun. diff --git a/code/modules/mob/living/carbon/damage_procs.dm b/code/modules/mob/living/carbon/damage_procs.dm index 4da26d4406ca..2045bfe4aa18 100644 --- a/code/modules/mob/living/carbon/damage_procs.dm +++ b/code/modules/mob/living/carbon/damage_procs.dm @@ -25,12 +25,16 @@ update_damage_overlays() else //no bodypart, we deal damage with a more general method. adjustBruteLoss(damage_amount, forced = forced) + if(stat <= HARD_CRIT) + shake_animation(damage_amount) if(BURN) if(BP) if(BP.receive_damage(0, damage_amount, break_modifier)) update_damage_overlays() else adjustFireLoss(damage_amount, forced = forced) + if(stat <= HARD_CRIT) + shake_animation(damage_amount) if(TOX) adjustToxLoss(damage_amount, forced = forced) if(OXY) @@ -43,6 +47,8 @@ update_damage_overlays() else adjustStaminaLoss(damage_amount, forced = forced) + if(stat <= HARD_CRIT) + shake_animation(damage_amount) return TRUE diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm index 5062adbff8a1..8c1a36c2061b 100644 --- a/code/modules/mob/living/carbon/death.dm +++ b/code/modules/mob/living/carbon/death.dm @@ -6,7 +6,7 @@ losebreath = 0 if(!gibbed) - INVOKE_ASYNC(src, .proc/emote, "deathgasp") + INVOKE_ASYNC(src, PROC_REF(emote), "deathgasp") reagents.end_metabolization(src) . = ..() @@ -19,7 +19,7 @@ SSticker.mode.check_win() //Calls the rounds wincheck, mainly for wizard, malf, and changeling now /mob/living/carbon/proc/inflate_gib() // Plays an animation that makes mobs appear to inflate before finally gibbing - addtimer(CALLBACK(src, .proc/gib, null, null, TRUE, TRUE), 25) + addtimer(CALLBACK(src, PROC_REF(gib), null, null, TRUE, TRUE), 25) var/matrix/M = matrix() M.Scale(1.8, 1.2) animate(src, time = 40, transform = M, easing = SINE_EASING) diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index 3a4591fabb98..55b01d4200e2 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -26,7 +26,7 @@ var/list/key_emotes = GLOB.emote_list["blink"] for(var/datum/emote/living/carbon/blink/living_emote in key_emotes) // The existing timer restarts if it's already running - blink_timer = addtimer(CALLBACK(living_emote, .proc/end_blink, living_user), BLINK_DURATION, TIMER_UNIQUE | TIMER_OVERRIDE) + blink_timer = addtimer(CALLBACK(living_emote, PROC_REF(end_blink), living_user), BLINK_DURATION, TIMER_UNIQUE | TIMER_OVERRIDE) /datum/emote/living/carbon/blink/proc/end_blink(mob/living/living_user) if(!QDELETED(living_user)) @@ -429,7 +429,7 @@ icon = 'icons/mob/animal.dmi' icon_state = "heart" hitsound = 'sound/effects/kiss.ogg' - hitsound_wall = 'sound/effects/kiss.ogg' + hitsound_non_living = 'sound/effects/kiss.ogg' pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE speed = 1.6 damage_type = BRUTE @@ -480,7 +480,7 @@ if(2) other_msg = "stammers softly for a moment before choking on something!" self_msg = "You feel your tongue disappear down your throat as you fight to remember how to make words!" - addtimer(CALLBACK(living_target, /atom/movable.proc/say, pick("Uhhh...", "O-oh, uhm...", "I- uhhhhh??", "You too!!", "What?")), rand(0.5 SECONDS, 1.5 SECONDS)) + addtimer(CALLBACK(living_target, TYPE_PROC_REF(/atom/movable, say), pick("Uhhh...", "O-oh, uhm...", "I- uhhhhh??", "You too!!", "What?")), rand(0.5 SECONDS, 1.5 SECONDS)) living_target.stuttering += rand(5, 15) if(3) other_msg = "locks up with a stunned look on [living_target.p_their()] face, staring at [firer ? firer : "the ceiling"]!" @@ -528,7 +528,7 @@ var/mob/living/owner = loc if(!istype(owner)) return - RegisterSignal(owner, COMSIG_PARENT_EXAMINE, .proc/ownerExamined) + RegisterSignal(owner, COMSIG_PARENT_EXAMINE, PROC_REF(ownerExamined)) /obj/item/circlegame/Destroy() var/mob/owner = loc @@ -543,7 +543,7 @@ if(!istype(sucker) || !in_range(owner, sucker)) return - addtimer(CALLBACK(src, .proc/waitASecond, owner, sucker), 4) + addtimer(CALLBACK(src, PROC_REF(waitASecond), owner, sucker), 4) /// Stage 2: Fear sets in /obj/item/circlegame/proc/waitASecond(mob/living/owner, mob/living/sucker) @@ -552,10 +552,10 @@ if(owner == sucker) // big mood to_chat(owner, "Wait a second... you just looked at your own [src.name]!") - addtimer(CALLBACK(src, .proc/selfGottem, owner), 10) + addtimer(CALLBACK(src, PROC_REF(selfGottem), owner), 10) else to_chat(sucker, "Wait a second... was that a-") - addtimer(CALLBACK(src, .proc/GOTTEM, owner, sucker), 6) + addtimer(CALLBACK(src, PROC_REF(GOTTEM), owner, sucker), 6) /// Stage 3A: We face our own failures /obj/item/circlegame/proc/selfGottem(mob/living/owner) diff --git a/code/modules/mob/living/carbon/hologram/em_holopads.dm b/code/modules/mob/living/carbon/hologram/em_holopads.dm index 96947ef44326..5e0462d6f3cc 100644 --- a/code/modules/mob/living/carbon/hologram/em_holopads.dm +++ b/code/modules/mob/living/carbon/hologram/em_holopads.dm @@ -99,7 +99,7 @@ em_starting = TRUE icon_state = "holopad_ringing" calling = TRUE - addtimer(CALLBACK(src, .proc/stop_starting), 300) + addtimer(CALLBACK(src, PROC_REF(stop_starting)), 300) else QDEL_NULL(em) em_cooldown = TRUE diff --git a/code/modules/mob/living/carbon/hologram/hologram.dm b/code/modules/mob/living/carbon/hologram/hologram.dm index 840488a3c120..4283e2304fed 100644 --- a/code/modules/mob/living/carbon/hologram/hologram.dm +++ b/code/modules/mob/living/carbon/hologram/hologram.dm @@ -51,7 +51,7 @@ O.r_hand = null O.l_hand = null //It would be confusing if, say, the medical hologram had a fake medkit - INVOKE_ASYNC(src, .proc/icon_setup, O, _prefs) + INVOKE_ASYNC(src, PROC_REF(icon_setup), O, _prefs) access_card = new /obj/item/card/id(src) access_card?.access |= job_type.access //dunno how the access card would delete itself before then, but this is DM, after all @@ -159,7 +159,7 @@ /mob/living/simple_animal/hologram/proc/disco() color = pick(HOLOGRAM_CYCLE_COLORS) alpha = rand(75, 180) - addtimer(CALLBACK(src, .proc/disco, src), 5) //Call ourselves every 0.5 seconds to change color + addtimer(CALLBACK(src, PROC_REF(disco), src), 5) //Call ourselves every 0.5 seconds to change color /mob/living/simple_animal/hologram/med_hud_set_health() var/image/holder = hud_list[DIAG_HUD] diff --git a/code/modules/mob/living/carbon/human/consistent_human.dm b/code/modules/mob/living/carbon/human/consistent_human.dm index c28328fde590..c35d8a71759e 100644 --- a/code/modules/mob/living/carbon/human/consistent_human.dm +++ b/code/modules/mob/living/carbon/human/consistent_human.dm @@ -24,7 +24,6 @@ dna.features["moth_fluff"] = GLOB.moth_fluff_list[seed % length(GLOB.moth_fluff_list) + 1] dna.features["spider_legs"] = GLOB.spider_legs_list[seed % length(GLOB.spider_legs_list) + 1] dna.features["spider_spinneret"] = GLOB.spider_spinneret_list[seed % length(GLOB.spider_spinneret_list) + 1] - dna.features["spider_mandibles"] = GLOB.spider_mandibles_list[seed % length(GLOB.spider_mandibles_list) + 1] dna.features["squid_face"] = GLOB.squid_face_list[seed % length(GLOB.squid_face_list) + 1] dna.features["kepori_feathers"] = GLOB.kepori_feathers_list[seed % length(GLOB.kepori_feathers_list) + 1] dna.features["kepori_body_feathers"] = GLOB.kepori_body_feathers_list[seed % length(GLOB.kepori_body_feathers_list) + 1] diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index f5d37597ed84..55adc5bd5d17 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -63,7 +63,7 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift) SSblackbox.ReportDeath(src) log_message("has died (BRUTE: [src.getBruteLoss()], BURN: [src.getFireLoss()], TOX: [src.getToxLoss()], OXY: [src.getOxyLoss()], CLONE: [src.getCloneLoss()])", LOG_ATTACK) if(is_devil(src)) - INVOKE_ASYNC(is_devil(src), /datum/antagonist/devil.proc/beginResurrectionCheck, src) + INVOKE_ASYNC(is_devil(src), TYPE_PROC_REF(/datum/antagonist/devil, beginResurrectionCheck), src) to_chat(src, "You have died. Barring complete bodyloss, you can in most cases be revived by other players. If you do not wish to be brought back, use the \"Do Not Resuscitate\" verb in the ghost tab.") diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index a260f164829f..ceda44284f46 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -232,11 +232,6 @@ if(nutrition < NUTRITION_LEVEL_STARVING - 50) msg += "[t_He] [t_is] severely malnourished.\n" - else if(nutrition >= NUTRITION_LEVEL_FAT) - if(user.nutrition < NUTRITION_LEVEL_STARVING - 50) - msg += "[t_He] [t_is] plump and delicious looking - Like a fat little piggy. A tasty piggy.\n" - else - msg += "[t_He] [t_is] quite chubby.\n" switch(disgust) if(DISGUST_LEVEL_GROSS to DISGUST_LEVEL_VERYGROSS) msg += "[t_He] look[p_s()] a bit grossed out.\n" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index a22987b80929..8c72925e7c96 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -13,7 +13,7 @@ prepare_huds() //Prevents a nasty runtime on human init if(dna.species) - INVOKE_ASYNC(src, .proc/set_species, dna.species.type) //This generates new limbs based on the species, beware. + INVOKE_ASYNC(src, PROC_REF(set_species), dna.species.type) //This generates new limbs based on the species, beware. //initialise organs create_internal_organs() //most of it is done in set_species now, this is only for parent call @@ -21,7 +21,7 @@ . = ..() - RegisterSignal(src, COMSIG_COMPONENT_CLEAN_FACE_ACT, .proc/clean_face) + RegisterSignal(src, COMSIG_COMPONENT_CLEAN_FACE_ACT, PROC_REF(clean_face)) AddComponent(/datum/component/personal_crafting) AddComponent(/datum/component/footstep, FOOTSTEP_MOB_HUMAN, 1, -6) AddComponent(/datum/component/bloodysoles/feet) @@ -844,7 +844,7 @@ electrocution_skeleton_anim = mutable_appearance(icon, "electrocuted_base") electrocution_skeleton_anim.appearance_flags |= RESET_COLOR|KEEP_APART add_overlay(electrocution_skeleton_anim) - addtimer(CALLBACK(src, .proc/end_electrocution_animation, electrocution_skeleton_anim), anim_duration) + addtimer(CALLBACK(src, PROC_REF(end_electrocution_animation), electrocution_skeleton_anim), anim_duration) else //or just do a generic animation flick_overlay_view(image(icon,src,"electrocuted_generic",ABOVE_MOB_LAYER), src, anim_duration) @@ -1319,7 +1319,7 @@ /mob/living/carbon/human/species/Initialize() . = ..() - INVOKE_ASYNC(src, .proc/set_species, race) + INVOKE_ASYNC(src, PROC_REF(set_species), race) /mob/living/carbon/human/species/abductor race = /datum/species/abductor diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index fb2071302cb1..1444b71d9c51 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -97,6 +97,9 @@ for(var/obj/item/I in held_items) if(I.IsReflect(def_zone)) return TRUE + ///Granted by prismwine + if(HAS_TRAIT(src, TRAIT_REFLECTIVE) && prob(50)) + return TRUE return FALSE /mob/living/carbon/human/proc/check_shields(atom/AM, damage, attack_text = "the attack", attack_type = MELEE_ATTACK, armour_penetration = 0) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 4f3399675f0a..09bd6161b151 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -978,8 +978,6 @@ GLOBAL_LIST_EMPTY(roundstart_races) S = GLOB.spider_legs_list[H.dna.features["spider_legs"]] if("spider_spinneret") S = GLOB.spider_spinneret_list[H.dna.features["spider_spinneret"]] - if ("spider_mandibles") - S = GLOB.spider_mandibles_list[H.dna.features["spider_mandibles"]] if("kepori_body_feathers") S = GLOB.kepori_body_feathers_list[H.dna.features["kepori_body_feathers"]] if("kepori_tail_feathers") @@ -1054,17 +1052,17 @@ GLOBAL_LIST_EMPTY(roundstart_races) accessory_overlay.color = forced_colour standing += accessory_overlay - if(S.hasinner) - var/mutable_appearance/inner_accessory_overlay = mutable_appearance(S.icon, layer = -layer) + if(S.secondary_color) + var/mutable_appearance/secondary_color_overlay = mutable_appearance(S.icon, layer = -layer) if(S.gender_specific) - inner_accessory_overlay.icon_state = "[g]_[bodypart]inner_[S.icon_state]_[layertext]" + secondary_color_overlay.icon_state = "[g]_[bodypart]_secondary_[S.icon_state]_[layertext]" else - inner_accessory_overlay.icon_state = "m_[bodypart]inner_[S.icon_state]_[layertext]" + secondary_color_overlay.icon_state = "m_[bodypart]_secondary_[S.icon_state]_[layertext]" if(S.center) - inner_accessory_overlay = center_image(inner_accessory_overlay, S.dimension_x, S.dimension_y) - inner_accessory_overlay.color = "#[H.dna.features["mcolor2"]]" - standing += inner_accessory_overlay + secondary_color_overlay = center_image(secondary_color_overlay, S.dimension_x, S.dimension_y) + secondary_color_overlay.color = "#[H.dna.features["mcolor2"]]" + standing += secondary_color_overlay H.overlays_standing[layer] = standing.Copy() standing = list() @@ -1352,22 +1350,6 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(HAS_TRAIT(src, TRAIT_NOHUNGER)) return //hunger is for BABIES - //The fucking TRAIT_FAT mutation is the dumbest shit ever. It makes the code so difficult to work with - if(HAS_TRAIT_FROM(H, TRAIT_FAT, OBESITY))//I share your pain, past coder. - if(H.overeatduration < 100) - to_chat(H, "You feel fit again!") - REMOVE_TRAIT(H, TRAIT_FAT, OBESITY) - H.remove_movespeed_modifier(/datum/movespeed_modifier/obesity) - H.update_inv_w_uniform() - H.update_inv_wear_suit() - else - if(H.overeatduration >= 100) - to_chat(H, "You suddenly feel blubbery!") - ADD_TRAIT(H, TRAIT_FAT, OBESITY) - H.add_movespeed_modifier(/datum/movespeed_modifier/obesity) - H.update_inv_w_uniform() - H.update_inv_wear_suit() - // nutrition decrease and satiety if (H.nutrition > 0 && H.stat != DEAD && !HAS_TRAIT(H, TRAIT_NOHUNGER)) // THEY HUNGER @@ -1399,9 +1381,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.overeatduration -= 2 //doubled the unfat rate //metabolism change - if(H.nutrition > NUTRITION_LEVEL_FAT) - H.metabolism_efficiency = 1 - else if(H.nutrition > NUTRITION_LEVEL_FED && H.satiety > 80) + if(H.nutrition > NUTRITION_LEVEL_FED && H.satiety > 80) if(H.metabolism_efficiency != 1.25 && !HAS_TRAIT(H, TRAIT_NOHUNGER)) to_chat(H, "You feel vigorous.") H.metabolism_efficiency = 1.25 @@ -1428,9 +1408,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.remove_movespeed_modifier(/datum/movespeed_modifier/hunger) switch(H.nutrition) - if(NUTRITION_LEVEL_FULL to INFINITY) - H.throw_alert("nutrition", /atom/movable/screen/alert/fat) - if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FULL) + if(NUTRITION_LEVEL_HUNGRY to INFINITY) H.clear_alert("nutrition") if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY) H.throw_alert("nutrition", /atom/movable/screen/alert/hungry) @@ -1467,7 +1445,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(radiation > RAD_MOB_HAIRLOSS) if(prob(15) && !(H.hairstyle == "Bald") && (HAIR in species_traits)) to_chat(H, "Your hair starts to fall out in clumps...") - addtimer(CALLBACK(src, .proc/go_bald, H), 50) + addtimer(CALLBACK(src, PROC_REF(go_bald), H), 50) /datum/species/proc/go_bald(mob/living/carbon/human/H) if(QDELETED(H)) //may be called from a timer @@ -1768,6 +1746,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.update_damage_overlays() else//no bodypart, we deal damage with a more general method. H.adjustBruteLoss(damage_amount) + if(H.stat <= HARD_CRIT) + H.shake_animation(damage_amount) if(BURN) H.damageoverlaytemp = 20 var/damage_amount = forced ? damage : damage * hit_percent * burnmod * H.physiology.burn_mod @@ -1776,6 +1756,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.update_damage_overlays() else H.adjustFireLoss(damage_amount) + if(H.stat <= HARD_CRIT) + H.shake_animation(damage_amount) if(TOX) var/damage_amount = forced ? damage : damage * hit_percent * H.physiology.tox_mod H.adjustToxLoss(damage_amount) @@ -1792,6 +1774,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.update_stamina() else H.adjustStaminaLoss(damage_amount) + if(H.stat <= HARD_CRIT) + H.shake_animation(damage_amount) if(BRAIN) var/damage_amount = forced ? damage : damage * hit_percent * H.physiology.brain_mod H.adjustOrganLoss(ORGAN_SLOT_BRAIN, damage_amount) @@ -2233,7 +2217,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) buckled_obj.unbuckle_mob(H) step(buckled_obj, olddir) else - new /datum/forced_movement(H, get_ranged_target_turf(H, olddir, 4), 1, FALSE, CALLBACK(H, /mob/living/carbon/.proc/spin, 1, 1)) + new /datum/forced_movement(H, get_ranged_target_turf(H, olddir, 4), 1, FALSE, CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon, spin), 1, 1)) return TRUE //UNSAFE PROC, should only be called through the Activate or other sources that check for CanFly diff --git a/code/modules/mob/living/carbon/human/species_types/IPC.dm b/code/modules/mob/living/carbon/human/species_types/IPC.dm index 38eeeb9d9c18..dfa12f329054 100644 --- a/code/modules/mob/living/carbon/human/species_types/IPC.dm +++ b/code/modules/mob/living/carbon/human/species_types/IPC.dm @@ -86,7 +86,7 @@ saved_screen = C.dna.features["ipc_screen"] C.dna.features["ipc_screen"] = "BSOD" C.update_body() - addtimer(CALLBACK(src, .proc/post_death, C), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(post_death), C), 5 SECONDS) /datum/species/ipc/proc/post_death(mob/living/carbon/C) if(C.stat < DEAD) @@ -218,7 +218,7 @@ H.dna.features["ipc_screen"] = "BSOD" H.update_body() H.say("Reactivating [pick("core systems", "central subroutines", "key functions")]...") - addtimer(CALLBACK(src, .proc/post_revival, H), 6 SECONDS) + addtimer(CALLBACK(src, PROC_REF(post_revival), H), 6 SECONDS) /datum/species/ipc/proc/post_revival(mob/living/carbon/human/H) if(H.stat == DEAD) diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index 55217a814d35..26ed84073c99 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -17,12 +17,6 @@ var/obj/item/dullahan_relay/myhead - -/datum/species/dullahan/check_roundstart_eligible() - if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) - return TRUE - return FALSE - /datum/species/dullahan/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) . = ..() H.lose_hearing_sensitivity(ORGAN_TRAIT) @@ -122,10 +116,10 @@ return INITIALIZE_HINT_QDEL owner = new_owner START_PROCESSING(SSobj, src) - RegisterSignal(owner, COMSIG_CLICK_SHIFT, .proc/examinate_check) - RegisterSignal(src, COMSIG_ATOM_HEARER_IN_VIEW, .proc/include_owner) - RegisterSignal(owner, COMSIG_LIVING_REGENERATE_LIMBS, .proc/unlist_head) - RegisterSignal(owner, COMSIG_LIVING_REVIVE, .proc/retrieve_head) + RegisterSignal(owner, COMSIG_CLICK_SHIFT, PROC_REF(examinate_check)) + RegisterSignal(src, COMSIG_ATOM_HEARER_IN_VIEW, PROC_REF(include_owner)) + RegisterSignal(owner, COMSIG_LIVING_REGENERATE_LIMBS, PROC_REF(unlist_head)) + RegisterSignal(owner, COMSIG_LIVING_REVIVE, PROC_REF(retrieve_head)) become_hearing_sensitive(ROUNDSTART_TRAIT) /obj/item/dullahan_relay/process() diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index 2a0e8a2d62fe..a2ff92508d61 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -58,8 +58,8 @@ return var/mob/living/carbon/human/ethereal = C default_color = "#[ethereal.dna.features["ethcolor"]]" - RegisterSignal(ethereal, COMSIG_ATOM_EMAG_ACT, .proc/on_emag_act) - RegisterSignal(ethereal, COMSIG_ATOM_EMP_ACT, .proc/on_emp_act) + RegisterSignal(ethereal, COMSIG_ATOM_EMAG_ACT, PROC_REF(on_emag_act)) + RegisterSignal(ethereal, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp_act)) ethereal_light = ethereal.mob_light() spec_updatehealth(ethereal) @@ -143,9 +143,9 @@ to_chat(H, "You feel the light of your body leave you.") switch(severity) if(EMP_LIGHT) - addtimer(CALLBACK(src, .proc/stop_emp, H), 10 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) //We're out for 10 seconds + addtimer(CALLBACK(src, PROC_REF(stop_emp), H), 10 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) //We're out for 10 seconds if(EMP_HEAVY) - addtimer(CALLBACK(src, .proc/stop_emp, H), 20 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) //We're out for 20 seconds + addtimer(CALLBACK(src, PROC_REF(stop_emp), H), 20 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) //We're out for 20 seconds /datum/species/ethereal/proc/on_emag_act(mob/living/carbon/human/H, mob/user) if(emag_effect) @@ -155,7 +155,7 @@ to_chat(user, "You tap [H] on the back with your card.") H.visible_message("[H] starts flickering in an array of colors!") handle_emag(H) - addtimer(CALLBACK(src, .proc/stop_emag, H), 30 SECONDS) //Disco mode for 30 seconds! This doesn't affect the ethereal at all besides either annoying some players, or making someone look badass. + addtimer(CALLBACK(src, PROC_REF(stop_emag), H), 30 SECONDS) //Disco mode for 30 seconds! This doesn't affect the ethereal at all besides either annoying some players, or making someone look badass. /datum/species/ethereal/spec_life(mob/living/carbon/human/H) .=..() @@ -171,7 +171,7 @@ return current_color = pick(ETHEREAL_EMAG_COLORS) spec_updatehealth(H) - addtimer(CALLBACK(src, .proc/handle_emag, H), 5) //Call ourselves every 0.5 seconds to change color + addtimer(CALLBACK(src, PROC_REF(handle_emag), H), 5) //Call ourselves every 0.5 seconds to change color /datum/species/ethereal/proc/stop_emag(mob/living/carbon/human/H) emag_effect = FALSE diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 4164b8e2bb8e..380d91aebbe6 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -496,7 +496,7 @@ var/mob/living/carbon/human/H = owner H.visible_message("[H] starts vibrating!", "You start charging your bluespace core...") playsound(get_turf(H), 'sound/weapons/flash.ogg', 25, TRUE) - addtimer(CALLBACK(src, .proc/teleport, H), 15) + addtimer(CALLBACK(src, PROC_REF(teleport), H), 15) /datum/action/innate/unstable_teleport/proc/teleport(mob/living/carbon/human/H) H.visible_message("[H] disappears in a shower of sparks!", "You teleport!") @@ -508,7 +508,7 @@ last_teleport = world.time UpdateButtonIcon() //action icon looks unavailable //action icon looks available again - addtimer(CALLBACK(src, .proc/UpdateButtonIcon), cooldown + 5) + addtimer(CALLBACK(src, PROC_REF(UpdateButtonIcon)), cooldown + 5) //honk @@ -544,7 +544,7 @@ ..() last_banana = world.time last_honk = world.time - RegisterSignal(C, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(C, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/species/golem/bananium/on_species_loss(mob/living/carbon/C) . = ..() @@ -696,11 +696,6 @@ REMOVE_TRAIT(C, TRAIT_HOLY, SPECIES_TRAIT) ..() -/datum/species/golem/cloth/check_roundstart_eligible() - if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) - return TRUE - return ..() - /datum/species/golem/cloth/random_name(gender,unique,lastname) var/pharaoh_name = pick("Neferkare", "Hudjefa", "Khufu", "Mentuhotep", "Ahmose", "Amenhotep", "Thutmose", "Hatshepsut", "Tutankhamun", "Ramses", "Seti", \ "Merenptah", "Djer", "Semerkhet", "Nynetjer", "Khafre", "Pepi", "Intef", "Ay") //yes, Ay was an actual pharaoh @@ -743,7 +738,7 @@ H.forceMove(src) cloth_golem = H to_chat(cloth_golem, "You start gathering your life energy, preparing to rise again...") - addtimer(CALLBACK(src, .proc/revive), revive_time) + addtimer(CALLBACK(src, PROC_REF(revive)), revive_time) else return INITIALIZE_HINT_QDEL @@ -1049,7 +1044,7 @@ badtime.appearance_flags = RESET_COLOR H.overlays_standing[FIRE_LAYER+0.5] = badtime H.apply_overlay(FIRE_LAYER+0.5) - addtimer(CALLBACK(H, /mob/living/carbon/.proc/remove_overlay, FIRE_LAYER+0.5), 25) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon, remove_overlay), FIRE_LAYER+0.5), 25) else playsound(get_turf(owner),'sound/magic/RATTLEMEBONES.ogg', 100) for(var/mob/living/L in orange(7, get_turf(owner))) diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 7dcfb31f1e8a..eb78ef131644 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -750,8 +750,8 @@ var/datum/action/innate/linked_speech/action = new(src) linked_actions.Add(action) action.Grant(M) - RegisterSignal(M, COMSIG_MOB_DEATH , .proc/unlink_mob) - RegisterSignal(M, COMSIG_PARENT_QDELETING, .proc/unlink_mob) + RegisterSignal(M, COMSIG_MOB_DEATH , PROC_REF(unlink_mob)) + RegisterSignal(M, COMSIG_PARENT_QDELETING, PROC_REF(unlink_mob)) return TRUE /datum/species/jelly/stargazer/proc/unlink_mob(mob/living/M) diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index f54c9dff634d..6e4ae1cdb9a3 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -32,11 +32,6 @@ else if (light_amount < SHADOW_SPECIES_LIGHT_THRESHOLD) //heal in the dark H.heal_overall_damage(1,1, 0, BODYTYPE_ORGANIC) -/datum/species/shadow/check_roundstart_eligible() - if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) - return TRUE - return ..() - /datum/species/shadow/nightmare name = "Nightmare" id = "nightmare" diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm index caa36764a1ff..920115f52c02 100644 --- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -23,11 +23,6 @@ species_l_leg = /obj/item/bodypart/leg/left/skeleton species_r_leg = /obj/item/bodypart/leg/right/skeleton -/datum/species/skeleton/check_roundstart_eligible() - if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) - return TRUE - return ..() - //Can still metabolize milk through meme magic /datum/species/skeleton/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H) if(chem.type == /datum/reagent/consumable/milk) diff --git a/code/modules/mob/living/carbon/human/species_types/spider.dm b/code/modules/mob/living/carbon/human/species_types/spider.dm index 84faffde6ca2..f7ae4f6bef10 100644 --- a/code/modules/mob/living/carbon/human/species_types/spider.dm +++ b/code/modules/mob/living/carbon/human/species_types/spider.dm @@ -45,8 +45,8 @@ GLOBAL_LIST_INIT(spider_last, world.file2list("strings/names/spider_last.txt")) default_color = "00FF00" species_traits = list(LIPS, NOEYESPRITES, MUTCOLORS_PARTSONLY) inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG - mutant_bodyparts = list("spider_legs", "spider_spinneret", "spider_mandibles") - default_features = list("spider_legs" = "Plain", "spider_spinneret" = "Plain", "spider_mandibles" = "Plain", "body_size" = "Normal") + mutant_bodyparts = list("spider_legs", "spider_spinneret") + default_features = list("spider_legs" = "Carapaced", "spider_spinneret" = "Plain", "body_size" = "Normal") attack_verb = "slash" attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' @@ -187,7 +187,7 @@ GLOBAL_LIST_INIT(spider_last, world.file2list("strings/names/spider_last.txt")) (Press ALT+CLICK or MMB on the target to start wrapping.)") H.adjust_nutrition(E.spinner_rate * -0.5) addtimer(VARSET_CALLBACK(E, web_ready, TRUE), E.web_cooldown) - RegisterSignal(H, list(COMSIG_MOB_MIDDLECLICKON, COMSIG_MOB_ALTCLICKON), .proc/cocoonAtom) + RegisterSignal(H, list(COMSIG_MOB_MIDDLECLICKON, COMSIG_MOB_ALTCLICKON), PROC_REF(cocoonAtom)) return else to_chat(H, "You're too hungry to spin web right now, eat something first!") diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index b4c9fac9db08..ebc923c01075 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -16,14 +16,6 @@ var/info_text = "You are a Vampire. You will slowly but constantly lose blood if outside of a coffin. If inside a coffin, you will slowly heal. You may gain more blood by grabbing a live victim and using your drain ability." var/obj/effect/proc_holder/spell/targeted/shapeshift/bat/batform //attached to the datum itself to avoid cloning memes, and other duplicates - - - -/datum/species/vampire/check_roundstart_eligible() - if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) - return TRUE - return FALSE - /datum/species/vampire/on_species_gain(mob/living/carbon/human/C, datum/species/old_species) . = ..() to_chat(C, "[info_text]") diff --git a/code/modules/mob/living/carbon/human/species_types/vox.dm b/code/modules/mob/living/carbon/human/species_types/vox.dm index de92657cb519..e1a0107bc0ad 100644 --- a/code/modules/mob/living/carbon/human/species_types/vox.dm +++ b/code/modules/mob/living/carbon/human/species_types/vox.dm @@ -139,7 +139,7 @@ /datum/action/innate/tail_hold/Grant(mob/M) . = ..() - RegisterSignal(owner, COMSIG_ATOM_DIR_CHANGE, .proc/handle_sprite_magic, override = TRUE) + RegisterSignal(owner, COMSIG_ATOM_DIR_CHANGE, PROC_REF(handle_sprite_magic), override = TRUE) /datum/action/innate/tail_hold/Trigger() var/mob/living/carbon/human/H = owner @@ -156,7 +156,7 @@ if(H.temporarilyRemoveItemFromInventory(I, FALSE, FALSE)) held_item = I to_chat(H,"You move \the [I] into your tail's grip.") - RegisterSignal(owner, COMSIG_PARENT_EXAMINE, .proc/on_examine) + RegisterSignal(owner, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) handle_sprite_magic(force = TRUE) return diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm index 8c53a6ca9a07..702adfb224a2 100644 --- a/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -24,11 +24,6 @@ species_l_leg = /obj/item/bodypart/leg/left/zombie species_r_leg = /obj/item/bodypart/leg/right/zombie -/datum/species/zombie/check_roundstart_eligible() - if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) - return TRUE - return ..() - /datum/species/zombie/infectious name = "\improper Infectious Zombie" id = "memezombies" diff --git a/code/modules/mob/living/carbon/monkey/combat.dm b/code/modules/mob/living/carbon/monkey/combat.dm index 832c2a375095..1f730de799d0 100644 --- a/code/modules/mob/living/carbon/monkey/combat.dm +++ b/code/modules/mob/living/carbon/monkey/combat.dm @@ -80,7 +80,7 @@ else if(istype(I, /obj/item/clothing)) var/obj/item/clothing/C = I monkeyDrop(C) - addtimer(CALLBACK(src, .proc/pickup_and_wear, C), 5) + addtimer(CALLBACK(src, PROC_REF(pickup_and_wear), C), 5) return TRUE // EVERYTHING ELSE @@ -95,7 +95,7 @@ /mob/living/carbon/monkey/proc/pickup_and_wear(obj/item/clothing/C) if(!equip_to_appropriate_slot(C)) monkeyDrop(get_item_by_slot(C)) // remove the existing item if worn - addtimer(CALLBACK(src, .proc/equip_to_appropriate_slot, C), 5) + addtimer(CALLBACK(src, PROC_REF(equip_to_appropriate_slot), C), 5) /mob/living/carbon/monkey/resist_restraints() var/obj/item/I = null @@ -132,7 +132,7 @@ pickupTarget = null pickupTimer = 0 else - INVOKE_ASYNC(src, .proc/walk2derpless, pickupTarget.loc) + INVOKE_ASYNC(src, PROC_REF(walk2derpless), pickupTarget.loc) if(Adjacent(pickupTarget) || Adjacent(pickupTarget.loc)) // next to target drop_all_held_items() // who cares about these items, i want that one! if(isturf(pickupTarget.loc)) // on floor @@ -144,7 +144,7 @@ if(!pickpocketing) pickpocketing = TRUE M.visible_message("[src] starts trying to take [pickupTarget] from [M]!", "[src] tries to take [pickupTarget]!") - INVOKE_ASYNC(src, .proc/pickpocket, M) + INVOKE_ASYNC(src, PROC_REF(pickpocket), M) return TRUE switch(mode) @@ -180,7 +180,7 @@ return TRUE if(target != null) - INVOKE_ASYNC(src, .proc/walk2derpless, target) + INVOKE_ASYNC(src, PROC_REF(walk2derpless), target) // pickup any nearby weapon if(!pickupTarget && prob(MONKEY_WEAPON_PROB)) @@ -265,7 +265,7 @@ if(target.pulledby != src && !istype(target.pulledby, /mob/living/carbon/monkey/)) - INVOKE_ASYNC(src, .proc/walk2derpless, target.loc) + INVOKE_ASYNC(src, PROC_REF(walk2derpless), target.loc) if(Adjacent(target) && isturf(target.loc)) a_intent = INTENT_GRAB @@ -278,11 +278,11 @@ frustration = 0 else if(!disposing_body) - INVOKE_ASYNC(src, .proc/walk2derpless, bodyDisposal.loc) + INVOKE_ASYNC(src, PROC_REF(walk2derpless), bodyDisposal.loc) if(Adjacent(bodyDisposal)) disposing_body = TRUE - addtimer(CALLBACK(src, .proc/stuff_mob_in), 5) + addtimer(CALLBACK(src, PROC_REF(stuff_mob_in)), 5) else var/turf/olddist = get_dist(src, bodyDisposal) diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm index 308abdb92f36..c80c9a821fd0 100644 --- a/code/modules/mob/living/carbon/update_icons.dm +++ b/code/modules/mob/living/carbon/update_icons.dm @@ -343,7 +343,7 @@ GLOBAL_LIST_EMPTY(masked_leg_icons_cache) /mob/living/carbon/proc/update_hands_on_rotate() //Required for unconventionally placed hands on species SIGNAL_HANDLER if(!layered_hands) //Defined in human_defines.dm - RegisterSignal(src, COMSIG_ATOM_DIR_CHANGE, .proc/special_update_hands) + RegisterSignal(src, COMSIG_ATOM_DIR_CHANGE, PROC_REF(special_update_hands)) layered_hands = TRUE /mob/living/carbon/proc/stop_updating_hands() diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 4916d062da29..76daa5ba21d4 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -23,8 +23,12 @@ switch(damagetype) if(BRUTE) adjustBruteLoss(damage_amount, forced = forced) + if(stat <= HARD_CRIT) + shake_animation(damage_amount) if(BURN) adjustFireLoss(damage_amount, forced = forced) + if(stat <= HARD_CRIT) + shake_animation(damage_amount) if(TOX) adjustToxLoss(damage_amount, forced = forced) if(OXY) @@ -33,6 +37,8 @@ adjustCloneLoss(damage_amount, forced = forced) if(STAMINA) adjustStaminaLoss(damage_amount, forced = forced) + if(stat <= HARD_CRIT) + shake_animation(damage_amount) return TRUE ///like [apply_damage][/mob/living/proc/apply_damage] except it always uses the damage procs diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 7b11668db56a..56ae0db795e5 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -26,7 +26,7 @@ var/list/key_emotes = GLOB.emote_list["blush"] for(var/datum/emote/living/blush/living_emote in key_emotes) // The existing timer restarts if it's already running - blush_timer = addtimer(CALLBACK(living_emote, .proc/end_blush, living_user), BLUSH_DURATION, TIMER_UNIQUE | TIMER_OVERRIDE) + blush_timer = addtimer(CALLBACK(living_emote, PROC_REF(end_blush), living_user), BLUSH_DURATION, TIMER_UNIQUE | TIMER_OVERRIDE) /datum/emote/living/blush/proc/end_blush(mob/living/living_user) if(!QDELETED(living_user)) @@ -169,7 +169,7 @@ H.CloseWings() else H.OpenWings() - addtimer(CALLBACK(H, open ? /mob/living/carbon/human.proc/OpenWings : /mob/living/carbon/human.proc/CloseWings), wing_time) + addtimer(CALLBACK(H, open ? TYPE_PROC_REF(/mob/living/carbon/human, OpenWings) : TYPE_PROC_REF(/mob/living/carbon/human, CloseWings)), wing_time) /datum/emote/living/flap/aflap key = "aflap" @@ -417,7 +417,7 @@ var/list/key_emotes = GLOB.emote_list["snore"] for(var/datum/emote/living/snore/living_emote in key_emotes) // The existing timer restarts if it's already running - snore_timer = addtimer(CALLBACK(living_emote, .proc/end_snore, living_user), SNORE_DURATION, TIMER_UNIQUE | TIMER_OVERRIDE) + snore_timer = addtimer(CALLBACK(living_emote, PROC_REF(end_snore), living_user), SNORE_DURATION, TIMER_UNIQUE | TIMER_OVERRIDE) /datum/emote/living/snore/proc/end_snore(mob/living/living_user) if(!QDELETED(living_user)) diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm index 65bb3b762955..d3f9f0ebd8a9 100644 --- a/code/modules/mob/living/init_signals.dm +++ b/code/modules/mob/living/init_signals.dm @@ -1,31 +1,31 @@ /// Called on [/mob/living/Initialize()], for the mob to register to relevant signals. /mob/living/proc/register_init_signals() - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_KNOCKEDOUT), .proc/on_knockedout_trait_gain) - RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_KNOCKEDOUT), .proc/on_knockedout_trait_loss) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_KNOCKEDOUT), PROC_REF(on_knockedout_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_KNOCKEDOUT), PROC_REF(on_knockedout_trait_loss)) - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_DEATHCOMA), .proc/on_deathcoma_trait_gain) - RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_DEATHCOMA), .proc/on_deathcoma_trait_loss) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_DEATHCOMA), PROC_REF(on_deathcoma_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_DEATHCOMA), PROC_REF(on_deathcoma_trait_loss)) - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_IMMOBILIZED), .proc/on_immobilized_trait_gain) - RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_IMMOBILIZED), .proc/on_immobilized_trait_loss) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_IMMOBILIZED), PROC_REF(on_immobilized_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_IMMOBILIZED), PROC_REF(on_immobilized_trait_loss)) - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_FLOORED), .proc/on_floored_trait_gain) - RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_FLOORED), .proc/on_floored_trait_loss) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_FLOORED), PROC_REF(on_floored_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_FLOORED), PROC_REF(on_floored_trait_loss)) - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), .proc/on_handsblocked_trait_gain) - RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_HANDS_BLOCKED), .proc/on_handsblocked_trait_loss) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), PROC_REF(on_handsblocked_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_HANDS_BLOCKED), PROC_REF(on_handsblocked_trait_loss)) - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_UI_BLOCKED), .proc/on_ui_blocked_trait_gain) - RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_UI_BLOCKED), .proc/on_ui_blocked_trait_loss) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_UI_BLOCKED), PROC_REF(on_ui_blocked_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_UI_BLOCKED), PROC_REF(on_ui_blocked_trait_loss)) - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_PULL_BLOCKED), .proc/on_pull_blocked_trait_gain) - RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_PULL_BLOCKED), .proc/on_pull_blocked_trait_loss) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_PULL_BLOCKED), PROC_REF(on_pull_blocked_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_PULL_BLOCKED), PROC_REF(on_pull_blocked_trait_loss)) - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_INCAPACITATED), .proc/on_incapacitated_trait_gain) - RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_INCAPACITATED), .proc/on_incapacitated_trait_loss) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_INCAPACITATED), PROC_REF(on_incapacitated_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_INCAPACITATED), PROC_REF(on_incapacitated_trait_loss)) - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_RESTRAINED), .proc/on_restrained_trait_gain) - RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_RESTRAINED), .proc/on_restrained_trait_loss) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_RESTRAINED), PROC_REF(on_restrained_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_RESTRAINED), PROC_REF(on_restrained_trait_loss)) RegisterSignal(src, list( SIGNAL_ADDTRAIT(TRAIT_CRITICAL_CONDITION), @@ -33,7 +33,7 @@ SIGNAL_ADDTRAIT(TRAIT_NODEATH), SIGNAL_REMOVETRAIT(TRAIT_NODEATH), - ), .proc/update_succumb_action) + ), PROC_REF(update_succumb_action)) /// Called when [TRAIT_KNOCKEDOUT] is added to the mob. diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 33d73b6e4997..47fc5bd82ecb 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -130,7 +130,7 @@ /mob/living/proc/gravity_animate() if(!get_filter("gravity")) add_filter("gravity",1,list("type"="motion_blur", "x"=0, "y"=0)) - INVOKE_ASYNC(src, .proc/gravity_pulse_animation) + INVOKE_ASYNC(src, PROC_REF(gravity_pulse_animation)) /mob/living/proc/gravity_pulse_animation() animate(get_filter("gravity"), y = 1, time = 10) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index cd06fa25700f..821bef7d25ff 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -13,7 +13,7 @@ update_living_varspeed() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -502,8 +502,7 @@ /mob/living/proc/get_up(instant = FALSE) set waitfor = FALSE - var/static/datum/callback/rest_checks = CALLBACK(src, .proc/rest_checks_callback) - if(!instant && !do_mob(src, src, 2 SECONDS, uninterruptible = TRUE, extra_checks = rest_checks)) + if(!instant && !do_mob(src, src, 2 SECONDS, uninterruptible = TRUE, extra_checks = CALLBACK(src, TYPE_PROC_REF(/mob/living, rest_checks_callback)))) return if(resting || body_position == STANDING_UP || HAS_TRAIT(src, TRAIT_FLOORED)) return @@ -657,7 +656,7 @@ var/obj/effect/proc_holder/spell/spell = S spell.updateButtonIcon() if(excess_healing) - INVOKE_ASYNC(src, .proc/emote, "gasp") + INVOKE_ASYNC(src, PROC_REF(emote), "gasp") log_combat(src, src, "revived") /mob/living/proc/remove_CC() @@ -862,7 +861,7 @@ set name = "Resist" set category = "IC" - DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, .proc/execute_resist)) + DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, PROC_REF(execute_resist))) ///proc extender of [/mob/living/verb/resist] meant to make the process queable if the server is overloaded when the verb is called /mob/living/proc/execute_resist() @@ -1526,8 +1525,8 @@ if(!can_look_up()) return changeNext_move(CLICK_CD_LOOK_UP) - RegisterSignal(src, COMSIG_MOVABLE_PRE_MOVE, .proc/stop_look_up) //We stop looking up if we move. - RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/start_look_up) //We start looking again after we move. + RegisterSignal(src, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(stop_look_up)) //We stop looking up if we move. + RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(start_look_up)) //We start looking again after we move. start_look_up() /mob/living/proc/start_look_up() @@ -1571,8 +1570,8 @@ if(!can_look_up()) //if we cant look up, we cant look down. return changeNext_move(CLICK_CD_LOOK_UP) - RegisterSignal(src, COMSIG_MOVABLE_PRE_MOVE, .proc/stop_look_down) //We stop looking down if we move. - RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/start_look_down) //We start looking again after we move. + RegisterSignal(src, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(stop_look_down)) //We stop looking down if we move. + RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(start_look_down)) //We start looking again after we move. start_look_down() /mob/living/proc/start_look_down() diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 31676cd64007..f119c7dbc308 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -55,6 +55,7 @@ var/on_hit_state = P.on_hit(src, armor, piercing_hit) if(!P.nodamage && on_hit_state != BULLET_ACT_BLOCK && !QDELETED(src)) //QDELETED literally just for the instagib rifle. Yeah. apply_damage(P.damage, P.damage_type, def_zone, armor) + recoil_camera(src, clamp((P.damage-armor)/4,0.5,10), clamp((P.damage-armor)/4,0.5,10), P.damage/8, P.Angle) apply_effects(P.stun, P.knockdown, P.unconscious, P.irradiate, P.slur, P.stutter, P.eyeblur, P.drowsy, armor, P.stamina, P.jitter, P.paralyze, P.immobilize) if(P.dismemberment) check_projectile_dismemberment(P, def_zone) @@ -398,8 +399,8 @@ if((GLOB.cult_narsie.souls == GLOB.cult_narsie.soul_goal) && (GLOB.cult_narsie.resolved == FALSE)) GLOB.cult_narsie.resolved = TRUE sound_to_playing_players('sound/machines/alarm.ogg') - addtimer(CALLBACK(GLOBAL_PROC, .proc/cult_ending_helper, 1), 120) - addtimer(CALLBACK(GLOBAL_PROC, .proc/ending_helper), 270) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(cult_ending_helper), 1), 120) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(ending_helper)), 270) if(client) makeNewConstruct(/mob/living/simple_animal/hostile/construct/harvester, src, cultoverride = TRUE) else @@ -422,7 +423,7 @@ return FALSE if(get_eye_protection() < intensity && (override_blindness_check || !is_blind())) overlay_fullscreen("flash", type) - addtimer(CALLBACK(src, .proc/clear_fullscreen, "flash", 25), 25) + addtimer(CALLBACK(src, PROC_REF(clear_fullscreen), "flash", 25), 25) return TRUE return FALSE diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm index f092cef8cac9..eeb3948e627c 100644 --- a/code/modules/mob/living/living_say.dm +++ b/code/modules/mob/living/living_say.dm @@ -159,7 +159,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( saymode = null message_mods -= RADIO_EXTENSION message_range = 1 - src.log_talk(message, LOG_WHISPER, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) + var/logged_message = message if(stat == HARD_CRIT) //This is cheaper than checking for MODE_WHISPER_CRIT message mod var/health_diff = round(-HEALTH_THRESHOLD_DEAD + health) // If we cut our message short, abruptly end it with a-.. @@ -167,8 +167,12 @@ GLOBAL_LIST_INIT(department_radio_keys, list( message = copytext_char(message, 1, health_diff) + "[message_len > health_diff ? "-.." : "..."]" message = Ellipsis(message, 10, 1) last_words = message + var/final_warning = alert(usr, "Your dying words will be \"[last_words]\", continue?", "Succumb", "Cancel", "Continue") + if(final_warning == "Cancel" || QDELETED(src)) + return message_mods[WHISPER_MODE] = MODE_WHISPER_CRIT succumbed = TRUE + src.log_talk(logged_message, LOG_WHISPER, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) else src.log_talk(message, LOG_SAY, forced_by=forced, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) @@ -297,7 +301,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( speech_bubble_recipients.Add(M.client) var/image/I = image('icons/mob/talk.dmi', src, "[bubble_type][say_test(message)]", FLY_LAYER) I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA - INVOKE_ASYNC(GLOBAL_PROC, /.proc/flick_overlay, I, speech_bubble_recipients, 30) + INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay), I, speech_bubble_recipients, 30) /mob/proc/binarycheck() return FALSE diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 81d1cc78ca92..2223a1491a6c 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -134,7 +134,7 @@ create_eye() if(client) - INVOKE_ASYNC(src, .proc/apply_pref_name,"ai",client) + INVOKE_ASYNC(src, PROC_REF(apply_pref_name),"ai",client) set_core_display_icon() diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm index 8c42baf4914e..f66d00b5f7aa 100644 --- a/code/modules/mob/living/silicon/ai/death.dm +++ b/code/modules/mob/living/silicon/ai/death.dm @@ -24,7 +24,7 @@ ShutOffDoomsdayDevice() if(explosive) - addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, loc, 3, 6, 12, 15), 1 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(explosion), loc, 3, 6, 12, 15), 1 SECONDS) if(src.key) for(var/each in GLOB.ai_status_displays) //change status diff --git a/code/modules/mob/living/silicon/ai/freelook/chunk.dm b/code/modules/mob/living/silicon/ai/freelook/chunk.dm index 4591720b7986..124028009116 100644 --- a/code/modules/mob/living/silicon/ai/freelook/chunk.dm +++ b/code/modules/mob/living/silicon/ai/freelook/chunk.dm @@ -50,7 +50,7 @@ /datum/camerachunk/proc/hasChanged(update_now = 0) if(seenby.len || update_now) - addtimer(CALLBACK(src, .proc/update), UPDATE_BUFFER, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(update)), UPDATE_BUFFER, TIMER_UNIQUE) else changed = 1 diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 85b20d068be2..b8af19155f09 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -170,4 +170,4 @@ blind_eyes(1) update_sight() to_chat(src, "You've lost power!") - addtimer(CALLBACK(src, .proc/start_RestorePowerRoutine), 20) + addtimer(CALLBACK(src, PROC_REF(start_RestorePowerRoutine)), 20) diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm index ca35a7544222..30c7cd435068 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -15,8 +15,8 @@ if(announce && last_lawchange_announce != world.time) to_chat(src, "Your laws have been changed.") // lawset modules cause this function to be executed multiple times in a tick, so we wait for the next tick in order to be able to see the entire lawset - addtimer(CALLBACK(src, .proc/show_laws), 0) - addtimer(CALLBACK(src, .proc/deadchat_lawchange), 0) + addtimer(CALLBACK(src, PROC_REF(show_laws)), 0) + addtimer(CALLBACK(src, PROC_REF(deadchat_lawchange)), 0) last_lawchange_announce = world.time /mob/living/silicon/proc/set_law_sixsixsix(law, announce = TRUE) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index cc646cfcc98c..be79cf7184ab 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -121,12 +121,12 @@ aicamera = new /obj/item/camera/siliconcam/ai_camera(src) aicamera.flash_enabled = TRUE - addtimer(CALLBACK(src, .proc/pdaconfig), 5) + addtimer(CALLBACK(src, PROC_REF(pdaconfig)), 5) . = ..() emittersemicd = TRUE - addtimer(CALLBACK(src, .proc/emittercool), 600) + addtimer(CALLBACK(src, PROC_REF(emittercool)), 600) if(!holoform) ADD_TRAIT(src, TRAIT_IMMOBILIZED, PAI_FOLDED) diff --git a/code/modules/mob/living/silicon/pai/pai_shell.dm b/code/modules/mob/living/silicon/pai/pai_shell.dm index 279d37045cc5..ca65a416691c 100644 --- a/code/modules/mob/living/silicon/pai/pai_shell.dm +++ b/code/modules/mob/living/silicon/pai/pai_shell.dm @@ -17,7 +17,7 @@ return FALSE emittersemicd = TRUE - addtimer(CALLBACK(src, .proc/emittercool), emittercd) + addtimer(CALLBACK(src, PROC_REF(emittercool)), emittercd) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, PAI_FOLDED) REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, PAI_FOLDED) density = TRUE @@ -47,9 +47,9 @@ /mob/living/silicon/pai/proc/fold_in(force = FALSE) emittersemicd = TRUE if(!force) - addtimer(CALLBACK(src, .proc/emittercool), emittercd) + addtimer(CALLBACK(src, PROC_REF(emittercool)), emittercd) else - addtimer(CALLBACK(src, .proc/emittercool), emitteroverloadcd) + addtimer(CALLBACK(src, PROC_REF(emittercool)), emitteroverloadcd) icon_state = "[chassis]" if(!holoform) . = fold_out(force) diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index cbcf7c6f2129..a099c05488fa 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -5,20 +5,52 @@ // - Camera jack GLOBAL_LIST_INIT(pai_faces, list( + ":>", + "=_=", + "angry", + "ashamed", + "bookworm", + "boykisser", + "cat", + "clueless", + "concerned", + "dread", + "estatic", + "exclaim", + "eye", + "eyewall", + "face", + "fangs", + "flushed", + "foureyes", + "greenjary", + "happy", + "heart", + "laugh", + "lenny", + "loss", + "michevious", + "missingno", + "mistake", + "moth", + "moyai", + "neko", "null", - "what", - "sad", + "o.o", "off", - "laugh", - "happy", - "face", - "estatic", - "cat", - "angry", + "pleading", + "question", + "sadcat", + "smug", + "snek", + "spiral", "sunglasses", + "syndisnake", //EVILLL PAI + "twoeyes", + "T_T", + "what", + "wink", "woozy", - "bookworm", - "greenjary", )) diff --git a/code/modules/mob/living/silicon/robot/laws.dm b/code/modules/mob/living/silicon/robot/laws.dm index b35afb1558e6..df62df082751 100644 --- a/code/modules/mob/living/silicon/robot/laws.dm +++ b/code/modules/mob/living/silicon/robot/laws.dm @@ -84,4 +84,4 @@ /mob/living/silicon/robot/post_lawchange(announce = TRUE) . = ..() - addtimer(CALLBACK(src, .proc/logevent,"Law update processed."), 0, TIMER_UNIQUE | TIMER_OVERRIDE) //Post_Lawchange gets spammed by some law boards, so let's wait it out + addtimer(CALLBACK(src, PROC_REF(logevent),"Law update processed."), 0, TIMER_UNIQUE | TIMER_OVERRIDE) //Post_Lawchange gets spammed by some law boards, so let's wait it out diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 2c874ee845f0..44bfe5626754 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -111,7 +111,7 @@ wires = new /datum/wires/robot(src) AddComponent(/datum/component/empprotection, EMP_PROTECT_WIRES) - RegisterSignal(src, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, .proc/charge) + RegisterSignal(src, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, PROC_REF(charge)) robot_modules_background = new() robot_modules_background.icon_state = "block" @@ -157,7 +157,7 @@ mmi.brainmob.container = mmi mmi.update_appearance() - INVOKE_ASYNC(src, .proc/updatename) + INVOKE_ASYNC(src, PROC_REF(updatename)) playsound(loc, 'sound/voice/liveagain.ogg', 75, TRUE) aicamera = new/obj/item/camera/siliconcam/robot_camera(src) @@ -690,7 +690,7 @@ /mob/living/silicon/robot/modules/syndicate/Initialize() . = ..() laws = new /datum/ai_laws/syndicate_override() - addtimer(CALLBACK(src, .proc/show_playstyle), 5) + addtimer(CALLBACK(src, PROC_REF(show_playstyle)), 5) /mob/living/silicon/robot/modules/syndicate/create_modularInterface() if(!modularInterface) @@ -723,7 +723,7 @@ /mob/living/silicon/robot/modules/syndicateproto/Initialize() . = ..() laws = new /datum/ai_laws/syndproto_override() - addtimer(CALLBACK(src, .proc/show_playstyle), 5) + addtimer(CALLBACK(src, PROC_REF(show_playstyle)), 5) /mob/living/silicon/robot/modules/syndicateproto/create_modularInterface() if(!modularInterface) @@ -926,7 +926,7 @@ hat_offset = module.hat_offset magpulse = module.magpulsing - INVOKE_ASYNC(src, .proc/updatename) + INVOKE_ASYNC(src, PROC_REF(updatename)) /mob/living/silicon/robot/proc/place_on_head(obj/item/new_hat) diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index 433c735a2784..39a0ede9334f 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -308,7 +308,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real return spark_system.start() step_away(src, user, 15) - addtimer(CALLBACK(GLOBAL_PROC, .proc/_step_away, src, get_turf(user), 15), 3) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(_step_away), src, get_turf(user), 15), 3) /mob/living/silicon/robot/fire_act() if(!on_fire) //Silicons don't gain stacks from hotspots, but hotspots can ignite them diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index dee91ab20f81..27819d97cf15 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -182,7 +182,7 @@ R.module = RM R.update_module_innate() RM.rebuild_modules() - INVOKE_ASYNC(RM, .proc/do_transform_animation) + INVOKE_ASYNC(RM, PROC_REF(do_transform_animation)) qdel(src) return RM @@ -281,7 +281,7 @@ "R34 - STR4a 'Durin'" = image(icon = 'icons/mob/robots.dmi', icon_state = "durin"), ) default_icons = sortList(default_icons) - var/default_borg_icon = show_radial_menu(R, R , default_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/default_borg_icon = show_radial_menu(R, R , default_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(default_borg_icon) if("Default") cyborg_base_icon = "robot" @@ -371,7 +371,7 @@ "Qualified Doctor" = image(icon = 'icons/mob/robots.dmi', icon_state = "qualified_doctor") ) med_icons = sortList(med_icons) - var/med_borg_icon = show_radial_menu(R, R , med_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/med_borg_icon = show_radial_menu(R, R , med_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(med_borg_icon) if("Antique") cyborg_base_icon = "medbot" @@ -475,7 +475,7 @@ "R34 - ENG7a 'Conagher'" = image(icon = 'icons/mob/robots.dmi', icon_state = "conagher"), ) engi_icons = sortList(engi_icons) - var/engi_borg_icon = show_radial_menu(R, R , engi_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/engi_borg_icon = show_radial_menu(R, R , engi_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(engi_borg_icon) if("Antique") cyborg_base_icon = "engibot" @@ -557,7 +557,7 @@ "R34 - SEC10a 'Woody'" = image(icon = 'icons/mob/robots.dmi', icon_state = "woody"), ) sec_icons = sortList(sec_icons) - var/sec_borg_icon = show_radial_menu(R, R , sec_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/sec_borg_icon = show_radial_menu(R, R , sec_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(sec_borg_icon) if("Antique") cyborg_base_icon = "secbot" @@ -681,7 +681,7 @@ "R34 - CUS3a 'Flynn'" = image(icon = 'icons/mob/robots.dmi', icon_state = "flynn"), ) jan_icons = sortList(jan_icons) - var/jan_borg_icon = show_radial_menu(R, R , jan_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/jan_borg_icon = show_radial_menu(R, R , jan_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(jan_borg_icon) if("Antique") cyborg_base_icon = "janbot" @@ -830,7 +830,7 @@ "R34 - SRV9a 'Llyod'" = image(icon = 'icons/mob/robots.dmi', icon_state = "lloyd"), ) service_icons = sortList(service_icons) - var/service_robot_icon = show_radial_menu(R, R , service_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/service_robot_icon = show_radial_menu(R, R , service_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(service_robot_icon) if("Default - 'Waitress'") cyborg_base_icon = "service_f" @@ -918,7 +918,7 @@ "R34 - MIN2a 'Ishimura'" = image(icon = 'icons/mob/robots.dmi', icon_state = "ishimura") ) mining_icons = sortList(mining_icons) - var/mining_borg_icon = show_radial_menu(R, R , mining_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/mining_borg_icon = show_radial_menu(R, R , mining_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(mining_borg_icon) if("Antique") cyborg_base_icon = "minerbot" diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 1923df3b50eb..347ec71e84e4 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -99,7 +99,7 @@ if(in_cooldown) return - addtimer(CALLBACK(src, .proc/show_alarms), 3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(show_alarms)), 3 SECONDS) /mob/living/silicon/proc/show_alarms() if(alarms_to_show.len < 5) diff --git a/code/modules/mob/living/silicon/silicon_movement.dm b/code/modules/mob/living/silicon/silicon_movement.dm index 590326eda1b1..cc0a01aa375f 100644 --- a/code/modules/mob/living/silicon/silicon_movement.dm +++ b/code/modules/mob/living/silicon/silicon_movement.dm @@ -18,5 +18,5 @@ oldLoc = get_turf(oldLoc) if(!QDELETED(builtInCamera) && !updating && oldLoc != get_turf(src)) updating = TRUE - addtimer(CALLBACK(src, .proc/do_camera_update, oldLoc), SILICON_CAMERA_BUFFER) + addtimer(CALLBACK(src, PROC_REF(do_camera_update), oldLoc), SILICON_CAMERA_BUFFER) #undef SILICON_CAMERA_BUFFER diff --git a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm index b0c583b9c247..52346fd7cddd 100644 --- a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm +++ b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm @@ -29,11 +29,11 @@ if(ismob(AM) && AM == target) visible_message("[src] flails his swords and cuts [AM]!") playsound(src,'sound/effects/beepskyspinsabre.ogg',100,TRUE,-1) - INVOKE_ASYNC(src, .proc/stun_attack, AM) + INVOKE_ASYNC(src, PROC_REF(stun_attack), AM) /mob/living/simple_animal/bot/secbot/grievous/Initialize() . = ..() - INVOKE_ASYNC(weapon, /obj/item.proc/attack_self, src) + INVOKE_ASYNC(weapon, TYPE_PROC_REF(/obj/item, attack_self), src) /mob/living/simple_animal/bot/secbot/grievous/Destroy() QDEL_NULL(weapon) @@ -51,7 +51,7 @@ weapon.attack(C, src) playsound(src, 'sound/weapons/blade1.ogg', 50, TRUE, -1) if(C.stat == DEAD) - addtimer(CALLBACK(src, /atom/.proc/update_appearance), 2) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), 2) back_to_idle() @@ -107,7 +107,7 @@ if((C.name == oldtarget_name) && (world.time < last_found + 100)) continue - threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) if(!threatlevel) continue @@ -122,7 +122,7 @@ icon_state = "grievous-c" visible_message("[src] points at [C.name]!") mode = BOT_HUNT - INVOKE_ASYNC(src, .proc/handle_automated_action) + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) break else continue diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 5b4d66893f5b..1c25a67c1dbe 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -384,7 +384,7 @@ ejectpai(0) if(on) turn_off() - addtimer(CALLBACK(src, .proc/emp_reset, was_on), severity*30 SECONDS) + addtimer(CALLBACK(src, PROC_REF(emp_reset), was_on), severity*30 SECONDS) /mob/living/simple_animal/bot/proc/emp_reset(was_on) stat &= ~EMPED @@ -529,7 +529,7 @@ Pass a positive integer as an argument to override a bot's default speed. if(step_count >= 1 && tries < BOT_STEP_MAX_RETRIES) for(var/step_number = 0, step_number < step_count,step_number++) - addtimer(CALLBACK(src, .proc/bot_step, dest), BOT_STEP_DELAY*step_number) + addtimer(CALLBACK(src, PROC_REF(bot_step), dest), BOT_STEP_DELAY*step_number) else return FALSE return TRUE @@ -574,7 +574,7 @@ Pass a positive integer as an argument to override a bot's default speed. turn_on() //Saves the AI the hassle of having to activate a bot manually. access_card = all_access //Give the bot all-access while under the AI's command. if(client) - reset_access_timer_id = addtimer(CALLBACK (src, .proc/bot_reset), 600, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time + reset_access_timer_id = addtimer(CALLBACK (src, PROC_REF(bot_reset)), 600, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time to_chat(src, "Priority waypoint set by [icon2html(calling_ai, src)] [caller]. Proceed to [end_area].
[path.len-1] meters to destination. You have been granted additional door access for 60 seconds.
") if(message) to_chat(calling_ai, "[icon2html(src, calling_ai)] [name] called to [end_area]. [path.len-1] meters to destination.") @@ -621,7 +621,7 @@ Pass a positive integer as an argument to override a bot's default speed. /mob/living/simple_animal/bot/proc/bot_patrol() patrol_step() - addtimer(CALLBACK(src, .proc/do_patrol), 5) + addtimer(CALLBACK(src, PROC_REF(do_patrol)), 5) /mob/living/simple_animal/bot/proc/do_patrol() if(mode == BOT_PATROL) @@ -641,7 +641,7 @@ Pass a positive integer as an argument to override a bot's default speed. return if(patrol_target) // has patrol target - INVOKE_ASYNC(src, .proc/target_patrol) + INVOKE_ASYNC(src, PROC_REF(target_patrol)) else // no patrol target, so need a new one speak("Engaging patrol mode.") find_patrol_target() @@ -675,7 +675,7 @@ Pass a positive integer as an argument to override a bot's default speed. var/moved = bot_move(patrol_target)//step_towards(src, next) // attempt to move if(!moved) //Couldn't proceed the next step of the path BOT_STEP_MAX_RETRIES times - addtimer(CALLBACK(src, .proc/patrol_step_not_moved), 2) + addtimer(CALLBACK(src, PROC_REF(patrol_step_not_moved)), 2) else // no path, so calculate new one mode = BOT_START_PATROL @@ -786,7 +786,7 @@ Pass a positive integer as an argument to override a bot's default speed. /mob/living/simple_animal/bot/proc/calc_summon_path(turf/avoid) check_bot_access() - INVOKE_ASYNC(src, .proc/do_calc_summon_path, avoid) + INVOKE_ASYNC(src, PROC_REF(do_calc_summon_path), avoid) /mob/living/simple_animal/bot/proc/do_calc_summon_path(turf/avoid) set_path(get_path_to(src, summon_target, /turf/proc/Distance_cardinal, 0, 150, id=access_card, exclude=avoid)) @@ -810,7 +810,7 @@ Pass a positive integer as an argument to override a bot's default speed. var/moved = bot_move(summon_target, 3) // Move attempt if(!moved) - addtimer(CALLBACK(src, .proc/summon_step_not_moved), 2) + addtimer(CALLBACK(src, PROC_REF(summon_step_not_moved)), 2) else // no path, so calculate new one calc_summon_path() diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index ea8c5bd93540..5229967f0374 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -155,7 +155,7 @@ stolen_valor += C.job update_titles() - INVOKE_ASYNC(weapon, /obj/item/proc/attack, C, src) + INVOKE_ASYNC(weapon, TYPE_PROC_REF(/obj/item, attack), C, src) C.Knockdown(20) /mob/living/simple_animal/bot/cleanbot/attackby(obj/item/W, mob/user, params) diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index c3c046b84727..bd3ad4bbcf17 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -64,7 +64,7 @@ var/threatlevel = 0 if(C.incapacitated()) continue - threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) //speak(C.real_name + text(": threat: []", threatlevel)) if(threatlevel < 4) continue diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index fa6faaa6a889..d15c20f1aa1d 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -249,7 +249,7 @@ mode = BOT_REPAIRING F.ReplaceWithLattice() audible_message("[src] makes an excited booping sound.") - addtimer(CALLBACK(src, .proc/go_idle), 0.5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(go_idle)), 0.5 SECONDS) path = list() return if(path.len == 0) diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm index 02bf813396f8..34ce788c53c5 100644 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm @@ -49,14 +49,14 @@ /mob/living/simple_animal/bot/honkbot/proc/sensor_blink() icon_state = "honkbot-c" - addtimer(CALLBACK(src, /atom/.proc/update_icon), 5, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 5, TIMER_OVERRIDE|TIMER_UNIQUE) //honkbots react with sounds. /mob/living/simple_animal/bot/honkbot/proc/react_ping() playsound(src, 'sound/machines/ping.ogg', 50, TRUE, -1) //the first sound upon creation! spam_flag = TRUE sensor_blink() - addtimer(CALLBACK(src, .proc/spam_flag_false), 18) // calibrates before starting the honk + addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), 18) // calibrates before starting the honk /mob/living/simple_animal/bot/honkbot/proc/react_buzz() playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE, -1) @@ -114,14 +114,14 @@ Maintenance panel panel is [open ? "opened" : "closed"]"}, /mob/living/simple_animal/bot/honkbot/attack_hand(mob/living/carbon/human/H) if(H.a_intent == "harm") retaliate(H) - addtimer(CALLBACK(src, .proc/react_buzz), 5) + addtimer(CALLBACK(src, PROC_REF(react_buzz)), 5) return ..() /mob/living/simple_animal/bot/honkbot/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour != TOOL_SCREWDRIVER && (W.force) && (!target) && (W.damtype != STAMINA)) retaliate(user) - addtimer(CALLBACK(src, .proc/react_buzz), 5) + addtimer(CALLBACK(src, PROC_REF(react_buzz)), 5) ..() /mob/living/simple_animal/bot/honkbot/emag_act(mob/user) @@ -170,21 +170,21 @@ Maintenance panel panel is [open ? "opened" : "closed"]"}, playsound(src, honksound, 50, TRUE, -1) spam_flag = TRUE //prevent spam sensor_blink() - addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntimehorn) + addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), cooldowntimehorn) else if (emagged == 2) //emagged honkbots will spam short and memorable sounds. if (!spam_flag) playsound(src, "honkbot_e", 50, FALSE) spam_flag = TRUE // prevent spam icon_state = "honkbot-e" - addtimer(CALLBACK(src, /atom/.proc/update_icon), 30, TIMER_OVERRIDE|TIMER_UNIQUE) - addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntimehorn) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 30, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), cooldowntimehorn) /mob/living/simple_animal/bot/honkbot/proc/honk_attack(mob/living/carbon/C) // horn attack if(!spam_flag) playsound(loc, honksound, 50, TRUE, -1) spam_flag = TRUE // prevent spam sensor_blink() - addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntimehorn) + addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), cooldowntimehorn) /mob/living/simple_animal/bot/honkbot/proc/stun_attack(mob/living/carbon/C) // airhorn stun if(!spam_flag) @@ -206,7 +206,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"}, target = oldtarget_name else // you really don't want to hit an emagged honkbot threatlevel = 6 // will never let you go - addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntime) + addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), cooldowntime) log_combat(src,C,"honked") @@ -215,7 +215,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"}, else C.stuttering = 20 C.Paralyze(80) - addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntime) + addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), cooldowntime) /mob/living/simple_animal/bot/honkbot/handle_automated_action() @@ -279,13 +279,13 @@ Maintenance panel panel is [open ? "opened" : "closed"]"}, target = null last_found = world.time frustration = 0 - INVOKE_ASYNC(src, .proc/handle_automated_action) //responds quickly + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) //responds quickly /mob/living/simple_animal/bot/honkbot/proc/back_to_hunt() anchored = FALSE frustration = 0 mode = BOT_HUNT - INVOKE_ASYNC(src, .proc/handle_automated_action) // responds quickly + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) // responds quickly /mob/living/simple_animal/bot/honkbot/proc/look_for_perp() anchored = FALSE @@ -315,7 +315,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"}, speak("Honk!") visible_message("[src] starts chasing [C.name]!") mode = BOT_HUNT - INVOKE_ASYNC(src, .proc/handle_automated_action) + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) break else continue @@ -361,7 +361,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"}, C.Paralyze(10) playsound(loc, 'sound/misc/sadtrombone.ogg', 50, TRUE, -1) if(!client) - INVOKE_ASYNC(src, .proc/speak, "Honk!") + INVOKE_ASYNC(src, PROC_REF(speak), "Honk!") sensor_blink() return . = ..() diff --git a/code/modules/mob/living/simple_animal/bot/hygienebot.dm b/code/modules/mob/living/simple_animal/bot/hygienebot.dm index af1ce80b2a88..7240027f0853 100644 --- a/code/modules/mob/living/simple_animal/bot/hygienebot.dm +++ b/code/modules/mob/living/simple_animal/bot/hygienebot.dm @@ -175,13 +175,13 @@ frustration = 0 last_found = world.time stop_washing() - INVOKE_ASYNC(src, .proc/handle_automated_action) + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) /mob/living/simple_animal/bot/hygienebot/proc/back_to_hunt() frustration = 0 mode = BOT_HUNT stop_washing() - INVOKE_ASYNC(src, .proc/handle_automated_action) + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) /mob/living/simple_animal/bot/hygienebot/proc/look_for_lowhygiene() for (var/mob/living/carbon/human/H in view(7,src)) //Find the NEET @@ -194,7 +194,7 @@ playsound(loc, 'sound/effects/hygienebot_happy.ogg', 60, 1) visible_message("[src] points at [H.name]!") mode = BOT_HUNT - INVOKE_ASYNC(src, .proc/handle_automated_action) + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) break else continue diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 9bc75267a7dd..5191ee1ba0c8 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -578,7 +578,7 @@ buzz(SIGH) mode = BOT_WAIT_FOR_NAV blockcount = 0 - addtimer(CALLBACK(src, .proc/process_blocked, next), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(process_blocked), next), 2 SECONDS) return return else @@ -591,7 +591,7 @@ if(BOT_NAV) // calculate new path mode = BOT_WAIT_FOR_NAV - INVOKE_ASYNC(src, .proc/process_nav) + INVOKE_ASYNC(src, PROC_REF(process_nav)) /mob/living/simple_animal/bot/mulebot/proc/process_blocked(turf/next) calc_path(avoid=next) @@ -639,7 +639,7 @@ /mob/living/simple_animal/bot/mulebot/proc/start_home() if(!on) return - INVOKE_ASYNC(src, .proc/do_start_home) + INVOKE_ASYNC(src, PROC_REF(do_start_home)) /mob/living/simple_animal/bot/mulebot/proc/do_start_home() set_destination(home_destination) @@ -818,7 +818,7 @@ if(isobserver(AM)) visible_message("A ghostly figure appears on [src]!") - RegisterSignal(AM, COMSIG_MOVABLE_MOVED, .proc/ghostmoved) + RegisterSignal(AM, COMSIG_MOVABLE_MOVED, PROC_REF(ghostmoved)) AM.forceMove(src) else if(!wires.is_cut(WIRE_LOADCHECK)) diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 4629dd87c157..af33ef493167 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -174,7 +174,7 @@ Auto Patrol: []"}, /mob/living/simple_animal/bot/secbot/proc/retaliate(mob/living/carbon/human/H) var/judgement_criteria = judgement_criteria() - threatlevel = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threatlevel = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) threatlevel += 6 if(threatlevel >= 4) target = H @@ -260,7 +260,7 @@ Auto Patrol: []"}, playsound(src, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2) C.visible_message("[src] is trying to put zipties on [C]!",\ "[src] is trying to put zipties on you!") - addtimer(CALLBACK(src, .proc/attempt_handcuff, C), 60) + addtimer(CALLBACK(src, PROC_REF(attempt_handcuff), C), 60) /mob/living/simple_animal/bot/secbot/proc/attempt_handcuff(mob/living/carbon/C) if(!on || !Adjacent(C) || !isturf(C.loc)) //if he's in a closet or not adjacent, we cancel cuffing. @@ -275,7 +275,7 @@ Auto Patrol: []"}, var/judgement_criteria = judgement_criteria() playsound(src, 'sound/weapons/egloves.ogg', 50, TRUE, -1) icon_state = "[initial(icon_state)]-c" - addtimer(CALLBACK(src, /atom/.proc/update_icon), 2) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 2) var/threat = 5 if(harm) @@ -284,11 +284,11 @@ Auto Patrol: []"}, C.stuttering = 5 C.Paralyze(100) var/mob/living/carbon/human/H = C - threat = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threat = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) else C.Paralyze(100) C.stuttering = 5 - threat = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threat = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) log_combat(src,C,"stunned") if(declare_arrests) @@ -397,13 +397,13 @@ Auto Patrol: []"}, target = null last_found = world.time frustration = 0 - INVOKE_ASYNC(src, .proc/handle_automated_action) + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) /mob/living/simple_animal/bot/secbot/proc/back_to_hunt() anchored = FALSE frustration = 0 mode = BOT_HUNT - INVOKE_ASYNC(src, .proc/handle_automated_action) + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) // look for a criminal in view of the bot /mob/living/simple_animal/bot/secbot/proc/look_for_perp() @@ -416,7 +416,7 @@ Auto Patrol: []"}, if((C.name == oldtarget_name) && (world.time < last_found + 100)) continue - threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) if(!threatlevel) continue @@ -431,7 +431,7 @@ Auto Patrol: []"}, playsound(src, pick('sound/voice/beepsky/criminal.ogg', 'sound/voice/beepsky/justice.ogg', 'sound/voice/beepsky/freeze.ogg'), 50, FALSE) visible_message("[src] points at [C.name]!") mode = BOT_HUNT - INVOKE_ASYNC(src, .proc/handle_automated_action) + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) break else continue diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index b62bb484c7bf..af5875853ce1 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -73,7 +73,7 @@ if(prob(1)) manual_emote(pick("dances around.","chases its tail!")) - INVOKE_ASYNC(GLOBAL_PROC, .proc/dance_rotate, src) + INVOKE_ASYNC(GLOBAL_PROC, PROC_REF(dance_rotate), src) //Corgis and pugs are now under one dog subtype @@ -318,7 +318,7 @@ /mob/living/simple_animal/pet/dog/corgi/proc/place_on_head(obj/item/item_to_add, mob/user) if(istype(item_to_add, /obj/item/grenade/c4)) // last thing he ever wears, I guess - INVOKE_ASYNC(item_to_add, /obj/item.proc/afterattack, src, user, 1) + INVOKE_ASYNC(item_to_add, TYPE_PROC_REF(/obj/item, afterattack), src, user, 1) return if(inventory_head) diff --git a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm index a70a9ff5cc64..56d7fefb06c4 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm @@ -106,7 +106,7 @@ "Repair Drone" = image(icon = 'icons/mob/drone.dmi', icon_state = REPAIRDRONE), "Scout Drone" = image(icon = 'icons/mob/drone.dmi', icon_state = SCOUTDRONE) ) - var/picked_icon = show_radial_menu(src, src, drone_icons, custom_check = CALLBACK(src, .proc/check_menu), radius = 38, require_near = TRUE) + var/picked_icon = show_radial_menu(src, src, drone_icons, custom_check = CALLBACK(src, PROC_REF(check_menu)), radius = 38, require_near = TRUE) switch(picked_icon) if("Maintenance Drone") visualAppearance = MAINTDRONE @@ -118,7 +118,7 @@ "pink" = image(icon = 'icons/mob/drone.dmi', icon_state = "[visualAppearance]_pink"), "red" = image(icon = 'icons/mob/drone.dmi', icon_state = "[visualAppearance]_red") ) - var/picked_color = show_radial_menu(src, src, drone_colors, custom_check = CALLBACK(src, .proc/check_menu), radius = 38, require_near = TRUE) + var/picked_color = show_radial_menu(src, src, drone_colors, custom_check = CALLBACK(src, PROC_REF(check_menu)), radius = 38, require_near = TRUE) if(picked_color) icon_state = "[visualAppearance]_[picked_color]" icon_living = "[visualAppearance]_[picked_color]" diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index e29029ff694d..a1884b76298e 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -152,7 +152,7 @@ to_chat(src, "You are tipped over by [M]!") Paralyze(60, ignore_canstun = TRUE) icon_state = icon_dead - addtimer(CALLBACK(src, .proc/cow_tipped, M), rand(20,50)) + addtimer(CALLBACK(src, PROC_REF(cow_tipped), M), rand(20,50)) else ..() diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 48f84240c5ac..cf1b0de8ae70 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -198,7 +198,7 @@ GLOBAL_VAR_INIT(mouse_killed, 0) maxHealth = 30 health = maxHealth to_chat(src, "You ate cheese! You are now stronger, bigger and faster!") - addtimer(CALLBACK(src, .proc/cheese_down), 3 MINUTES) + addtimer(CALLBACK(src, PROC_REF(cheese_down)), 3 MINUTES) /mob/living/simple_animal/mouse/proc/cheese_down() cheesed = FALSE diff --git a/code/modules/mob/living/simple_animal/friendly/snake.dm b/code/modules/mob/living/simple_animal/friendly/snake.dm index c24271d9b09e..d33fac8f5c00 100644 --- a/code/modules/mob/living/simple_animal/friendly/snake.dm +++ b/code/modules/mob/living/simple_animal/friendly/snake.dm @@ -160,7 +160,7 @@ glasses = new /obj/item/clothing/glasses/regular(src) grant_all_languages() update_overlays() - INVOKE_ASYNC(src, .proc/update_phrases) + INVOKE_ASYNC(src, PROC_REF(update_phrases)) . = ..() /mob/living/simple_animal/hostile/retaliate/poison/snake/bookworm/proc/update_phrases() diff --git a/code/modules/mob/living/simple_animal/guardian/types/charger.dm b/code/modules/mob/living/simple_animal/guardian/types/charger.dm index 384bbf7e005b..7ebd3c8b3cca 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/charger.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/charger.dm @@ -34,7 +34,7 @@ /mob/living/simple_animal/hostile/guardian/charger/Shoot(atom/targeted_atom) charging = 1 - throw_at(targeted_atom, range, 1, src, FALSE, TRUE, callback = CALLBACK(src, .proc/charging_end)) + throw_at(targeted_atom, range, 1, src, FALSE, TRUE, callback = CALLBACK(src, PROC_REF(charging_end))) /mob/living/simple_animal/hostile/guardian/charger/proc/charging_end() charging = 0 diff --git a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm index 863389b9840a..f93f70d8ffb3 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm @@ -49,9 +49,9 @@ if(bomb_cooldown <= world.time && !stat) to_chat(src, "Success! Bomb armed!") bomb_cooldown = world.time + 200 - RegisterSignal(A, COMSIG_PARENT_EXAMINE, .proc/display_examine) - RegisterSignal(A, boom_signals, .proc/kaboom) - addtimer(CALLBACK(src, .proc/disable, A), 600, TIMER_UNIQUE|TIMER_OVERRIDE) + RegisterSignal(A, COMSIG_PARENT_EXAMINE, PROC_REF(display_examine)) + RegisterSignal(A, boom_signals, PROC_REF(kaboom)) + addtimer(CALLBACK(src, PROC_REF(disable), A), 600, TIMER_UNIQUE|TIMER_OVERRIDE) else to_chat(src, "Your powers are on cooldown! You must wait 20 seconds between bombs.") diff --git a/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm b/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm index b8a8bbb54366..a86e38db7772 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm @@ -53,7 +53,7 @@ return A.AddElement(/datum/element/forced_gravity, new_gravity) gravito_targets[A] = new_gravity - RegisterSignal(A, COMSIG_MOVABLE_MOVED, .proc/__distance_check) + RegisterSignal(A, COMSIG_MOVABLE_MOVED, PROC_REF(__distance_check)) playsound(src, 'sound/effects/gravhit.ogg', 100, TRUE) /mob/living/simple_animal/hostile/guardian/gravitokinetic/proc/remove_gravity(atom/target) diff --git a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm index d4666873848e..105ae8b35ec8 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm @@ -119,7 +119,7 @@ /obj/effect/snare/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index d079fbed4ce4..676b58a98520 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -325,4 +325,4 @@ /mob/living/simple_animal/hostile/poison/bees/short/Initialize(mapload, timetolive=50 SECONDS) . = ..() - addtimer(CALLBACK(src, .proc/death), timetolive) + addtimer(CALLBACK(src, PROC_REF(death)), timetolive) diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 09fdf0d763ba..5e3e8d0b34d5 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -252,7 +252,7 @@ if(!busy && prob(1)) stop_automated_movement = TRUE Goto(pick(urange(20, src, 1)), move_to_delay) - addtimer(CALLBACK(src, .proc/do_action), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(do_action)), 5 SECONDS) return 1 /mob/living/simple_animal/hostile/poison/giant_spider/proc/do_action() @@ -277,7 +277,7 @@ busy = MOVING_TO_TARGET Goto(C, move_to_delay) //give up if we can't reach them after 10 seconds - addtimer(CALLBACK(src, .proc/GiveUp, C), 10 SECONDS) + addtimer(CALLBACK(src, PROC_REF(GiveUp), C), 10 SECONDS) return //second, spin a sticky spiderweb on this tile @@ -301,7 +301,7 @@ stop_automated_movement = 1 Goto(O, move_to_delay) //give up if we can't reach them after 10 seconds - addtimer(CALLBACK(src, .proc/GiveUp, O), 10 SECONDS) + addtimer(CALLBACK(src, PROC_REF(GiveUp), O), 10 SECONDS) else if(busy == MOVING_TO_TARGET && cocoon_target_ref) var/mob/living/cocoon_target = cocoon_target_ref.resolve() @@ -443,7 +443,7 @@ if(target_atom.anchored) return user.cocoon_target_ref = WEAKREF(target_atom) - INVOKE_ASYNC(user, /mob/living/simple_animal/hostile/poison/giant_spider/nurse/.proc/cocoon) + INVOKE_ASYNC(user, TYPE_PROC_REF(/mob/living/simple_animal/hostile/poison/giant_spider/nurse, cocoon)) remove_ranged_ability() return TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/goose.dm b/code/modules/mob/living/simple_animal/hostile/goose.dm index bf0337488dcb..0d48bdb082e6 100644 --- a/code/modules/mob/living/simple_animal/hostile/goose.dm +++ b/code/modules/mob/living/simple_animal/hostile/goose.dm @@ -41,7 +41,7 @@ /mob/living/simple_animal/hostile/retaliate/goose/Initialize() . = ..() - RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/goosement) + RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(goosement)) /mob/living/simple_animal/hostile/retaliate/goose/Destroy() UnregisterSignal(src, COMSIG_MOVABLE_MOVED) @@ -149,7 +149,7 @@ /mob/living/simple_animal/hostile/retaliate/goose/proc/choke(obj/item/reagent_containers/food/plastic) if(stat == DEAD || choking) return - addtimer(CALLBACK(src, .proc/suffocate), 300) + addtimer(CALLBACK(src, PROC_REF(suffocate)), 300) /mob/living/simple_animal/hostile/retaliate/goose/vomit/choke(obj/item/reagent_containers/food/plastic) if(stat == DEAD || choking) @@ -157,9 +157,9 @@ if(prob(25)) visible_message("[src] is gagging on \the [plastic]!") manual_emote("gags!") - addtimer(CALLBACK(src, .proc/vomit), 300) + addtimer(CALLBACK(src, PROC_REF(vomit)), 300) else - addtimer(CALLBACK(src, .proc/suffocate), 300) + addtimer(CALLBACK(src, PROC_REF(suffocate)), 300) /mob/living/simple_animal/hostile/retaliate/goose/Life() . = ..() @@ -206,13 +206,13 @@ /mob/living/simple_animal/hostile/retaliate/goose/vomit/proc/vomit_prestart(duration) flick("vomit_start",src) - addtimer(CALLBACK(src, .proc/vomit_start, duration), 13) //13 is the length of the vomit_start animation in gooseloose.dmi + addtimer(CALLBACK(src, PROC_REF(vomit_start), duration), 13) //13 is the length of the vomit_start animation in gooseloose.dmi /mob/living/simple_animal/hostile/retaliate/goose/vomit/proc/vomit_start(duration) vomiting = TRUE icon_state = "vomit" vomit() - addtimer(CALLBACK(src, .proc/vomit_preend), duration) + addtimer(CALLBACK(src, PROC_REF(vomit_preend)), duration) /mob/living/simple_animal/hostile/retaliate/goose/vomit/proc/vomit_preend() for (var/obj/item/consumed in contents) //Get rid of any food left in the poor thing @@ -241,11 +241,11 @@ /mob/living/simple_animal/hostile/retaliate/goose/vomit/proc/deadchat_plays_goose() stop_automated_movement = TRUE AddComponent(/datum/component/deadchat_control, ANARCHY_MODE, list( - "up" = CALLBACK(GLOBAL_PROC, .proc/_step, src, NORTH), - "down" = CALLBACK(GLOBAL_PROC, .proc/_step, src, SOUTH), - "left" = CALLBACK(GLOBAL_PROC, .proc/_step, src, WEST), - "right" = CALLBACK(GLOBAL_PROC, .proc/_step, src, EAST), - "vomit" = CALLBACK(src, .proc/vomit_prestart, 25)), 12 SECONDS, 4 SECONDS) + "up" = CALLBACK(GLOBAL_PROC, PROC_REF(_step), src, NORTH), + "down" = CALLBACK(GLOBAL_PROC, PROC_REF(_step), src, SOUTH), + "left" = CALLBACK(GLOBAL_PROC, PROC_REF(_step), src, WEST), + "right" = CALLBACK(GLOBAL_PROC, PROC_REF(_step), src, EAST), + "vomit" = CALLBACK(src, PROC_REF(vomit_prestart), 25)), 12 SECONDS, 4 SECONDS) /datum/action/cooldown/vomit name = "Vomit" diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 08bb29d32f38..850ff235375f 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -48,7 +48,7 @@ return Infect(target) to_chat(src, "With our egg laid, our death approaches rapidly...") - addtimer(CALLBACK(src, .proc/death), 100) + addtimer(CALLBACK(src, PROC_REF(death)), 100) /obj/item/organ/body_egg/changeling_egg name = "changeling egg" diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 106c9ad54f60..6eaa0f8ebd5a 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -104,7 +104,7 @@ /mob/living/simple_animal/hostile/handle_automated_movement() . = ..() if(dodging && target && in_melee && isturf(loc) && isturf(target.loc)) - var/datum/cb = CALLBACK(src,.proc/sidestep) + var/datum/cb = CALLBACK(src, PROC_REF(sidestep)) if(sidestep_per_cycle > 1) //For more than one just spread them equally - this could changed to some sensible distribution later var/sidestep_delay = SSnpcpool.wait / sidestep_per_cycle for(var/i in 1 to sidestep_per_cycle) @@ -263,7 +263,7 @@ //What we do after closing in /mob/living/simple_animal/hostile/proc/MeleeAction(patience = TRUE) if(rapid_melee > 1) - var/datum/callback/cb = CALLBACK(src, .proc/CheckAndAttack) + var/datum/callback/cb = CALLBACK(src, PROC_REF(CheckAndAttack)) var/delay = SSnpcpool.wait / rapid_melee for(var/i in 1 to rapid_melee) addtimer(cb, (i - 1)*delay) @@ -408,7 +408,7 @@ if(rapid > 1) - var/datum/callback/cb = CALLBACK(src, .proc/Shoot, A) + var/datum/callback/cb = CALLBACK(src, PROC_REF(Shoot), A) for(var/i in 1 to rapid) addtimer(cb, (i - 1)*rapid_fire_delay) else @@ -546,7 +546,7 @@ /mob/living/simple_animal/hostile/proc/GainPatience() if(lose_patience_timeout) LosePatience() - lose_patience_timer_id = addtimer(CALLBACK(src, .proc/LoseTarget), lose_patience_timeout, TIMER_STOPPABLE) + lose_patience_timer_id = addtimer(CALLBACK(src, PROC_REF(LoseTarget)), lose_patience_timeout, TIMER_STOPPABLE) /mob/living/simple_animal/hostile/proc/LosePatience() @@ -557,7 +557,7 @@ /mob/living/simple_animal/hostile/proc/LoseSearchObjects() search_objects = 0 deltimer(search_objects_timer_id) - search_objects_timer_id = addtimer(CALLBACK(src, .proc/RegainSearchObjects), search_objects_regain_time, TIMER_STOPPABLE) + search_objects_timer_id = addtimer(CALLBACK(src, PROC_REF(RegainSearchObjects)), search_objects_regain_time, TIMER_STOPPABLE) /mob/living/simple_animal/hostile/proc/RegainSearchObjects(value) @@ -610,7 +610,7 @@ var/obj/effect/temp_visual/decoy/new_decoy = new /obj/effect/temp_visual/decoy(loc,src) animate(new_decoy, alpha = 0, color = "#5a5858", transform = matrix()*2, time = 3) target.visible_message("[src] prepares to pounce!") - addtimer(CALLBACK(src, .proc/handle_charge_target, target), 1.5 SECONDS, TIMER_STOPPABLE) + addtimer(CALLBACK(src, PROC_REF(handle_charge_target), target), 1.5 SECONDS, TIMER_STOPPABLE) /** * Proc that checks if the mob can charge attack. @@ -627,7 +627,7 @@ if(!can_charge_target(target)) return FALSE charge_state = TRUE - throw_at(target, charge_distance, 1, src, FALSE, TRUE, callback = CALLBACK(src, .proc/charge_end)) + throw_at(target, charge_distance, 1, src, FALSE, TRUE, callback = CALLBACK(src, PROC_REF(charge_end))) COOLDOWN_START(src, charge_cooldown, charge_frequency) return TRUE @@ -683,7 +683,7 @@ UnregisterSignal(target, COMSIG_PARENT_QDELETING) target = new_target if(target) - RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/handle_target_del, TRUE) + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(handle_target_del), TRUE) /mob/living/simple_animal/hostile/proc/set_camp_faction(tag) src.faction = list() diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm index c476a5f5cf2b..7fd15ed0b6a1 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm @@ -82,10 +82,10 @@ /obj/structure/leaper_bubble/Initialize() . = ..() - INVOKE_ASYNC(src, /atom/movable.proc/float, TRUE) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, float), TRUE) QDEL_IN(src, 100) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -212,7 +212,7 @@ if(AIStatus == AI_ON && ranged_cooldown <= world.time) projectile_ready = TRUE update_icons() - throw_at(new_turf, max(3,get_dist(src,new_turf)), 1, src, FALSE, callback = CALLBACK(src, .proc/FinishHop)) + throw_at(new_turf, max(3,get_dist(src,new_turf)), 1, src, FALSE, callback = CALLBACK(src, PROC_REF(FinishHop))) /mob/living/simple_animal/hostile/jungle/leaper/proc/FinishHop() density = TRUE @@ -222,18 +222,18 @@ playsound(src.loc, 'sound/effects/meteorimpact.ogg', 100, TRUE) if(target && AIStatus == AI_ON && projectile_ready && !ckey) face_atom(target) - addtimer(CALLBACK(src, .proc/OpenFire, target), 5) + addtimer(CALLBACK(src, PROC_REF(OpenFire), target), 5) /mob/living/simple_animal/hostile/jungle/leaper/proc/BellyFlop() var/turf/new_turf = get_turf(target) hopping = TRUE notransform = TRUE new /obj/effect/temp_visual/leaper_crush(new_turf) - addtimer(CALLBACK(src, .proc/BellyFlopHop, new_turf), 30) + addtimer(CALLBACK(src, PROC_REF(BellyFlopHop), new_turf), 30) /mob/living/simple_animal/hostile/jungle/leaper/proc/BellyFlopHop(turf/T) density = FALSE - throw_at(T, get_dist(src,T),1,src, FALSE, callback = CALLBACK(src, .proc/Crush)) + throw_at(T, get_dist(src,T),1,src, FALSE, callback = CALLBACK(src, PROC_REF(Crush))) /mob/living/simple_animal/hostile/jungle/leaper/proc/Crush() hopping = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm b/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm index 06b2924033d9..b85da6c2c726 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm @@ -72,9 +72,9 @@ walk(src,0) update_icons() if(prob(50) && get_dist(src,target) <= 3 || forced_slash_combo) - addtimer(CALLBACK(src, .proc/SlashCombo), ATTACK_INTERMISSION_TIME) + addtimer(CALLBACK(src, PROC_REF(SlashCombo)), ATTACK_INTERMISSION_TIME) return - addtimer(CALLBACK(src, .proc/LeapAttack), ATTACK_INTERMISSION_TIME + rand(0,3)) + addtimer(CALLBACK(src, PROC_REF(LeapAttack)), ATTACK_INTERMISSION_TIME + rand(0,3)) return attack_state = MOOK_ATTACK_RECOVERY ResetNeutral() @@ -84,9 +84,9 @@ attack_state = MOOK_ATTACK_ACTIVE update_icons() SlashAttack() - addtimer(CALLBACK(src, .proc/SlashAttack), 3) - addtimer(CALLBACK(src, .proc/SlashAttack), 6) - addtimer(CALLBACK(src, .proc/AttackRecovery), 9) + addtimer(CALLBACK(src, PROC_REF(SlashAttack)), 3) + addtimer(CALLBACK(src, PROC_REF(SlashAttack)), 6) + addtimer(CALLBACK(src, PROC_REF(AttackRecovery)), 9) /mob/living/simple_animal/hostile/jungle/mook/proc/SlashAttack() if(target && !stat && attack_state == MOOK_ATTACK_ACTIVE) @@ -115,7 +115,7 @@ playsound(src, 'sound/weapons/thudswoosh.ogg', 25, TRUE) playsound(src, 'sound/voice/mook_leap_yell.ogg', 100, TRUE) var/target_turf = get_turf(target) - throw_at(target_turf, 7, 1, src, FALSE, callback = CALLBACK(src, .proc/AttackRecovery)) + throw_at(target_turf, 7, 1, src, FALSE, callback = CALLBACK(src, PROC_REF(AttackRecovery))) return attack_state = MOOK_ATTACK_RECOVERY ResetNeutral() @@ -134,11 +134,11 @@ if(isliving(target)) var/mob/living/L = target if(L.incapacitated() && L.stat != DEAD) - addtimer(CALLBACK(src, .proc/WarmupAttack, TRUE), ATTACK_INTERMISSION_TIME) + addtimer(CALLBACK(src, PROC_REF(WarmupAttack), TRUE), ATTACK_INTERMISSION_TIME) return - addtimer(CALLBACK(src, .proc/WarmupAttack), ATTACK_INTERMISSION_TIME) + addtimer(CALLBACK(src, PROC_REF(WarmupAttack)), ATTACK_INTERMISSION_TIME) return - addtimer(CALLBACK(src, .proc/ResetNeutral), ATTACK_INTERMISSION_TIME) + addtimer(CALLBACK(src, PROC_REF(ResetNeutral)), ATTACK_INTERMISSION_TIME) /mob/living/simple_animal/hostile/jungle/mook/proc/ResetNeutral() if(attack_state == MOOK_ATTACK_RECOVERY) diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm b/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm index 91da0614fb50..be9ef71562f3 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm @@ -47,7 +47,7 @@ flag = "energy" light_color = LIGHT_COLOR_YELLOW hitsound = 'sound/weapons/sear.ogg' - hitsound_wall = 'sound/weapons/effects/searwall.ogg' + hitsound_non_living = 'sound/weapons/effects/searwall.ogg' nondirectional_sprite = TRUE /obj/projectile/seedling/Bump(atom/A)//Stops seedlings from destroying other jungle mobs through FF @@ -134,7 +134,7 @@ if(get_dist(src,target) >= 4 && prob(40)) SolarBeamStartup(target) return - addtimer(CALLBACK(src, .proc/Volley), 5) + addtimer(CALLBACK(src, PROC_REF(Volley)), 5) /mob/living/simple_animal/hostile/jungle/seedling/proc/SolarBeamStartup(mob/living/living_target)//It's more like requiem than final spark if(combatant_state == SEEDLING_STATE_WARMUP && target) @@ -145,7 +145,7 @@ if(get_dist(src,living_target) > 7) playsound(living_target,'sound/effects/seedling_chargeup.ogg', 100, FALSE) solar_beam_identifier = world.time - addtimer(CALLBACK(src, .proc/Beamu, living_target, solar_beam_identifier), 35) + addtimer(CALLBACK(src, PROC_REF(Beamu), living_target, solar_beam_identifier), 35) /mob/living/simple_animal/hostile/jungle/seedling/proc/Beamu(mob/living/living_target, beam_id = 0) if(combatant_state == SEEDLING_STATE_ACTIVE && living_target && beam_id == solar_beam_identifier) @@ -165,7 +165,7 @@ living_target.adjust_fire_stacks(0.2)//Just here for the showmanship living_target.IgniteMob() playsound(living_target,'sound/weapons/sear.ogg', 50, TRUE) - addtimer(CALLBACK(src, .proc/AttackRecovery), 5) + addtimer(CALLBACK(src, PROC_REF(AttackRecovery)), 5) return AttackRecovery() @@ -173,10 +173,10 @@ if(combatant_state == SEEDLING_STATE_WARMUP && target) combatant_state = SEEDLING_STATE_ACTIVE update_icons() - var/datum/callback/cb = CALLBACK(src, .proc/InaccurateShot) + var/datum/callback/cb = CALLBACK(src, PROC_REF(InaccurateShot)) for(var/i in 1 to 13) addtimer(cb, i) - addtimer(CALLBACK(src, .proc/AttackRecovery), 14) + addtimer(CALLBACK(src, PROC_REF(AttackRecovery)), 14) /mob/living/simple_animal/hostile/jungle/seedling/proc/InaccurateShot() if(!QDELETED(target) && combatant_state == SEEDLING_STATE_ACTIVE && !stat) @@ -196,7 +196,7 @@ ranged_cooldown = world.time + ranged_cooldown_time if(target) face_atom(target) - addtimer(CALLBACK(src, .proc/ResetNeutral), 10) + addtimer(CALLBACK(src, PROC_REF(ResetNeutral)), 10) /mob/living/simple_animal/hostile/jungle/seedling/proc/ResetNeutral() combatant_state = SEEDLING_STATE_NEUTRAL diff --git a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm index a4678a69799a..cf8a32af157c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm +++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm @@ -65,7 +65,7 @@ Featuring: if(spawn_mecha_type) var/obj/mecha/M = new spawn_mecha_type (get_turf(src)) if(istype(M)) - INVOKE_ASYNC(src, .proc/enter_mecha, M) + INVOKE_ASYNC(src, PROC_REF(enter_mecha), M) /mob/living/simple_animal/hostile/syndicate/mecha_pilot/proc/enter_mecha(obj/mecha/M) @@ -232,13 +232,13 @@ Featuring: if(mecha.defense_action && mecha.defense_action.owner && !mecha.defense_mode) mecha.leg_overload_mode = 0 mecha.defense_action.Activate(TRUE) - addtimer(CALLBACK(mecha.defense_action, /datum/action/innate/mecha/mech_defense_mode.proc/Activate, FALSE), 100) //10 seconds of defense, then toggle off + addtimer(CALLBACK(mecha.defense_action, TYPE_PROC_REF(/datum/action/innate/mecha/mech_defense_mode, Activate), FALSE), 100) //10 seconds of defense, then toggle off else if(prob(retreat_chance)) //Speed boost if possible if(mecha.overload_action && mecha.overload_action.owner && !mecha.leg_overload_mode) mecha.overload_action.Activate(TRUE) - addtimer(CALLBACK(mecha.overload_action, /datum/action/innate/mecha/mech_defense_mode.proc/Activate, FALSE), 100) //10 seconds of speeeeed, then toggle off + addtimer(CALLBACK(mecha.overload_action, TYPE_PROC_REF(/datum/action/innate/mecha/mech_defense_mode, Activate), FALSE), 100) //10 seconds of speeeeed, then toggle off retreat_distance = 50 addtimer(VARSET_CALLBACK(src, retreat_distance, 0), 10 SECONDS) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index 92e76eaa6d6d..5bdc5c882214 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -182,7 +182,7 @@ Difficulty: Medium wander = TRUE /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/proc/dash_attack() - INVOKE_ASYNC(src, .proc/dash, target) + INVOKE_ASYNC(src, PROC_REF(dash), target) shoot_ka() /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/proc/shoot_ka() @@ -264,7 +264,7 @@ Difficulty: Medium /obj/effect/temp_visual/dir_setting/miner_death/Initialize(mapload, set_dir) . = ..() - INVOKE_ASYNC(src, .proc/fade_out) + INVOKE_ASYNC(src, PROC_REF(fade_out)) /obj/effect/temp_visual/dir_setting/miner_death/proc/fade_out() var/matrix/M = new @@ -285,7 +285,7 @@ Difficulty: Medium /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/hunter/AttackingTarget() . = ..() if(. && prob(12)) - INVOKE_ASYNC(src, .proc/dash) + INVOKE_ASYNC(src, PROC_REF(dash)) /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/doom name = "hostile-environment miner" diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index fd810a352380..d62d695e1be7 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -155,7 +155,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/surround_with_hallucinations() for(var/i = 1 to 5) - INVOKE_ASYNC(src, .proc/hallucination_charge_around, 2, 8, 2, 0, 4) + INVOKE_ASYNC(src, PROC_REF(hallucination_charge_around), 2, 8, 2, 0, 4) if(ismob(target)) charge(delay = 6) else @@ -200,7 +200,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/try_bloodattack() var/list/targets = get_mobs_on_blood() if(targets.len) - INVOKE_ASYNC(src, .proc/bloodattack, targets, prob(50)) + INVOKE_ASYNC(src, PROC_REF(bloodattack), targets, prob(50)) return TRUE return FALSE @@ -266,7 +266,7 @@ Difficulty: Hard var/turf/targetturf = get_step(src, dir) L.forceMove(targetturf) playsound(targetturf, 'sound/magic/exit_blood.ogg', 100, TRUE, -1) - addtimer(CALLBACK(src, .proc/devour, L), 2) + addtimer(CALLBACK(src, PROC_REF(devour), L), 2) SLEEP_CHECK_DEATH(1) /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/blood_warp() @@ -331,7 +331,7 @@ Difficulty: Hard update_approach() change_move_delay(3.75) add_atom_colour(COLOR_BUBBLEGUM_RED, TEMPORARY_COLOUR_PRIORITY) - var/datum/callback/cb = CALLBACK(src, .proc/blood_enrage_end) + var/datum/callback/cb = CALLBACK(src, PROC_REF(blood_enrage_end)) addtimer(cb, enrage_time) /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/blood_enrage_end() @@ -378,7 +378,7 @@ Difficulty: Hard continue var/mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination/B = new /mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination(src.loc) B.forceMove(place) - INVOKE_ASYNC(B, .proc/charge, chargeat, delay, chargepast) + INVOKE_ASYNC(B, PROC_REF(charge), chargeat, delay, chargepast) if(useoriginal) charge(chargeat, delay, chargepast) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/codename_claw.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/codename_claw.dm index 3a2036845298..cca8a649353f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/codename_claw.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/codename_claw.dm @@ -70,7 +70,7 @@ ///LOOT /obj/effect/spawner/clawloot/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/spawn_loot), 5 SECONDS) //this is because it dies violently exploding, so we dont want to destroy the goodies, you know? + addtimer(CALLBACK(src, PROC_REF(spawn_loot)), 5 SECONDS) //this is because it dies violently exploding, so we dont want to destroy the goodies, you know? /obj/effect/spawner/clawloot/proc/spawn_loot() new /obj/item/gun/energy/pulse/pistol(get_turf(src)) @@ -127,7 +127,7 @@ /mob/living/simple_animal/hostile/megafauna/claw/phase2/Initialize() . = ..() flick("claw-phase2_transform",src) //plays the transforming animation - addtimer(CALLBACK(src, .proc/unlock_phase2), 4.4 SECONDS) + addtimer(CALLBACK(src, PROC_REF(unlock_phase2)), 4.4 SECONDS) /mob/living/simple_animal/hostile/megafauna/claw/Move() if(shouldnt_move) @@ -200,7 +200,7 @@ for(var/i in 1 to distance) new /obj/effect/temp_visual/cult/sparks(next_turf) next_turf = get_step(next_turf, dir_to_target) - addtimer(CALLBACK(src, .proc/swift_dash2, dir_to_target, 0, distance), wait_time) + addtimer(CALLBACK(src, PROC_REF(swift_dash2), dir_to_target, 0, distance), wait_time) playsound(src, 'sound/creatures/claw_prepare.ogg', 100, 1) /mob/living/simple_animal/hostile/megafauna/claw/proc/swift_dash2(move_dir, times_ran, distance_run) @@ -214,7 +214,7 @@ for(var/mob/living/hit_mob in next_turf.contents - src) hit_mob.Knockdown(15) hit_mob.attack_animal(src) - addtimer(CALLBACK(src, .proc/swift_dash2, move_dir, (times_ran + 1), distance_run), 0.7) + addtimer(CALLBACK(src, PROC_REF(swift_dash2), move_dir, (times_ran + 1), distance_run), 0.7) /////DASH ATTACK END /////DISSONANT SHREK @@ -222,7 +222,7 @@ shake_animation(0.5) visible_message("[src] stops and shudders for a moment... ") shouldnt_move = TRUE - addtimer(CALLBACK(src, .proc/emp_pulse2), 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(emp_pulse2)), 1 SECONDS) /mob/living/simple_animal/hostile/megafauna/claw/proc/emp_pulse2() shake_animation(2) @@ -247,7 +247,7 @@ flick("claw-phase2_sting_attack_transform", src) projectiletype = /obj/projectile/claw_projectille projectilesound = 'sound/effects/splat.ogg' - addtimer(CALLBACK(src, .proc/sting_attack2, target), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(sting_attack2), target), 2 SECONDS) /mob/living/simple_animal/hostile/megafauna/claw/proc/sting_attack2(target) visible_message("[src] shoots all the spikes!") @@ -274,7 +274,7 @@ shake_animation(20) visible_message("[src] shudders violently and starts to split a flesh spider from it's body!") shouldnt_move = TRUE - addtimer(CALLBACK(src, .proc/summon_creatures2), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(summon_creatures2)), 2 SECONDS) /mob/living/simple_animal/hostile/megafauna/claw/proc/summon_creatures2() shake_animation(5) @@ -291,13 +291,13 @@ /mob/living/simple_animal/hostile/megafauna/claw/proc/on_death() flick("claw-phase1_transform",src) //woho you won... or did you? - addtimer(CALLBACK(src, .proc/create_phase2), 30 SECONDS) + addtimer(CALLBACK(src, PROC_REF(create_phase2)), 30 SECONDS) /mob/living/simple_animal/hostile/megafauna/claw/phase2/on_death() icon_state = "claw-phase2_dying" flick("claw-phase2_to_dying_anim",src) playsound(src, 'sound/voice/vox/vox_scream_1.ogg', 300, 1, 8, 8) - addtimer(CALLBACK(src, .proc/phase2_dramatic, src), 3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(phase2_dramatic), src), 3 SECONDS) return /mob/living/simple_animal/hostile/megafauna/claw/proc/create_phase2() //this only exists so the timer can callback to this proc diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 4ded55413f8e..d6b7c68bd958 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -156,8 +156,8 @@ Difficulty: Very Hard visible_message("\"Die.\"") SLEEP_CHECK_DEATH(10) - INVOKE_ASYNC(src, .proc/spiral_shoot, FALSE) - INVOKE_ASYNC(src, .proc/spiral_shoot, TRUE) + INVOKE_ASYNC(src, PROC_REF(spiral_shoot), FALSE) + INVOKE_ASYNC(src, PROC_REF(spiral_shoot), TRUE) /mob/living/simple_animal/hostile/megafauna/colossus/proc/spiral_shoot(negative = pick(TRUE, FALSE), counter_start = 8) var/turf/start_turf = get_step(src, pick(GLOB.alldirs)) @@ -240,7 +240,7 @@ Difficulty: Very Hard /obj/effect/temp_visual/at_shield/Initialize(mapload, new_target) . = ..() target = new_target - INVOKE_ASYNC(src, /atom/movable/proc/orbit, target, 0, FALSE, 0, 0, FALSE, TRUE) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, orbit), target, 0, FALSE, 0, 0, FALSE, TRUE) /mob/living/simple_animal/hostile/megafauna/colossus/bullet_act(obj/projectile/P) if(!stat) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/cult_templar.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/cult_templar.dm index 4e0b461516bf..96fbc8b5c4ec 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/cult_templar.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/cult_templar.dm @@ -252,7 +252,7 @@ for(var/i in 1 to dash_num) new /obj/effect/temp_visual/dragon_swoop/legionnaire(T) T = get_step(T, dir_to_target) - addtimer(CALLBACK(src, .proc/blood_dash_2, dir_to_target, 0), (5 * dash_mod)) + addtimer(CALLBACK(src, PROC_REF(blood_dash_2), dir_to_target, 0), (5 * dash_mod)) playsound(src,'sound/effects/meteorimpact.ogg', 200, 1) /mob/living/simple_animal/hostile/megafauna/cult_templar/proc/blood_dash_2(move_dir, times_ran) @@ -283,7 +283,7 @@ shake_camera(L, 4, 3) L.adjustBruteLoss(30) playsound(L,"sound/misc/desceration-[pick(1,2,3)].ogg", 200, 1) - addtimer(CALLBACK(src, .proc/blood_dash_2, move_dir, (times_ran + 1)), (1.5 * dash_mod)) + addtimer(CALLBACK(src, PROC_REF(blood_dash_2), move_dir, (times_ran + 1)), (1.5 * dash_mod)) /mob/living/simple_animal/hostile/megafauna/cult_templar/proc/teleport_b(target) if(charging || teleport_cooldown > world.time) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm index b2265782698d..14849bb58014 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm @@ -103,7 +103,7 @@ Difficulty: Extremely Hard if(easy_attack) snowball_machine_gun() else - INVOKE_ASYNC(src, .proc/ice_shotgun, 5, list(list(-180, -140, -100, -60, -20, 20, 60, 100, 140), list(-160, -120, -80, -40, 0, 40, 80, 120, 160))) + INVOKE_ASYNC(src, PROC_REF(ice_shotgun), 5, list(list(-180, -140, -100, -60, -20, 20, 60, 100, 140), list(-160, -120, -80, -40, 0, 40, 80, 120, 160))) snowball_machine_gun(5 * 8, 5) if(3) if(easy_attack) @@ -179,7 +179,7 @@ Difficulty: Extremely Hard P.original = target P.set_homing_target(target) P.fire(rand(0, 360)) - addtimer(CALLBACK(P, /obj/projectile/frost_orb/proc/orb_explosion, projectile_speed_multiplier), 20) // make the orbs home in after a second + addtimer(CALLBACK(P, TYPE_PROC_REF(/obj/projectile/frost_orb, orb_explosion), projectile_speed_multiplier), 20) // make the orbs home in after a second SLEEP_CHECK_DEATH(added_delay) SetRecoveryTime(40, 60) @@ -306,7 +306,7 @@ Difficulty: Extremely Hard return var/reset_turf = T.type T.ChangeTurf(change_turf, flags = CHANGETURF_INHERIT_AIR) - addtimer(CALLBACK(T, /turf.proc/ChangeTurf, reset_turf, null, CHANGETURF_INHERIT_AIR), duration, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(T, TYPE_PROC_REF(/turf, ChangeTurf), reset_turf, null, CHANGETURF_INHERIT_AIR), duration, TIMER_OVERRIDE|TIMER_UNIQUE) /obj/item/pickaxe/drill/jackhammer/demonic name = "demonic jackhammer" @@ -349,7 +349,7 @@ Difficulty: Extremely Hard icon_state = "frozen" /datum/status_effect/ice_block_talisman/on_apply() - RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, .proc/owner_moved) + RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(owner_moved)) if(!owner.stat) to_chat(owner, "You become frozen in a cube!") cube = icon('icons/effects/freeze.dmi', "ice_cube") diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index 6e12ba91e903..d1a8c3c825aa 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -160,7 +160,7 @@ Difficulty: Medium /mob/living/simple_animal/hostile/megafauna/dragon/proc/lava_swoop(amount = 30) if(health < maxHealth * 0.5) return swoop_attack(lava_arena = TRUE, swoop_cooldown = 60) - INVOKE_ASYNC(src, .proc/lava_pools, amount) + INVOKE_ASYNC(src, PROC_REF(lava_pools), amount) swoop_attack(FALSE, target, 1000) // longer cooldown until it gets reset below SLEEP_CHECK_DEATH(0) fire_cone() @@ -179,7 +179,7 @@ Difficulty: Medium var/increment = 360 / spiral_count for(var/j = 1 to spiral_count) var/list/turfs = line_target(j * increment + i * increment / 2, range, src) - INVOKE_ASYNC(src, .proc/fire_line, turfs) + INVOKE_ASYNC(src, PROC_REF(fire_line), turfs) SLEEP_CHECK_DEATH(25) SetRecoveryTime(30) @@ -246,15 +246,15 @@ Difficulty: Medium playsound(get_turf(src),'sound/magic/fireball.ogg', 200, TRUE) SLEEP_CHECK_DEATH(0) if(prob(50) && meteors) - INVOKE_ASYNC(src, .proc/fire_rain) + INVOKE_ASYNC(src, PROC_REF(fire_rain)) var/range = 15 var/list/turfs = list() turfs = line_target(-40, range, at) - INVOKE_ASYNC(src, .proc/fire_line, turfs) + INVOKE_ASYNC(src, PROC_REF(fire_line), turfs) turfs = line_target(0, range, at) - INVOKE_ASYNC(src, .proc/fire_line, turfs) + INVOKE_ASYNC(src, PROC_REF(fire_line), turfs) turfs = line_target(40, range, at) - INVOKE_ASYNC(src, .proc/fire_line, turfs) + INVOKE_ASYNC(src, PROC_REF(fire_line), turfs) /mob/living/simple_animal/hostile/megafauna/dragon/proc/line_target(offset, range, atom/at = target) if(!at) @@ -452,7 +452,7 @@ Difficulty: Medium /obj/effect/temp_visual/lava_warning/Initialize(mapload, reset_time = 10) . = ..() - INVOKE_ASYNC(src, .proc/fall, reset_time) + INVOKE_ASYNC(src, PROC_REF(fall), reset_time) src.alpha = 63.75 animate(src, alpha = 255, time = duration) @@ -477,7 +477,7 @@ Difficulty: Medium var/lava_turf = /turf/open/lava/smooth var/reset_turf = T.type T.ChangeTurf(lava_turf, flags = CHANGETURF_INHERIT_AIR) - addtimer(CALLBACK(T, /turf.proc/ChangeTurf, reset_turf, null, CHANGETURF_INHERIT_AIR), reset_time, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(T, TYPE_PROC_REF(/turf, ChangeTurf), reset_turf, null, CHANGETURF_INHERIT_AIR), reset_time, TIMER_OVERRIDE|TIMER_UNIQUE) /obj/effect/temp_visual/drakewall desc = "An ash drakes true flame." @@ -519,7 +519,7 @@ Difficulty: Medium /obj/effect/temp_visual/dragon_flight/Initialize(mapload, negative) . = ..() - INVOKE_ASYNC(src, .proc/flight, negative) + INVOKE_ASYNC(src, PROC_REF(flight), negative) /obj/effect/temp_visual/dragon_flight/proc/flight(negative) if(negative) @@ -571,7 +571,7 @@ Difficulty: Medium /obj/effect/temp_visual/target/Initialize(mapload, list/flame_hit) . = ..() - INVOKE_ASYNC(src, .proc/fall, flame_hit) + INVOKE_ASYNC(src, PROC_REF(fall), flame_hit) /obj/effect/temp_visual/target/proc/fall(list/flame_hit) var/turf/T = get_turf(src) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 1da36f8787d5..4df97bac4a6f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -194,13 +194,13 @@ Difficulty: Hard else if(prob(70 - anger_modifier)) //a cross blast of some type if(prob(anger_modifier * (2 / target_slowness)) && health < maxHealth * 0.5) //we're super angry do it at all dirs - INVOKE_ASYNC(src, .proc/blasts, target, GLOB.alldirs) + INVOKE_ASYNC(src, PROC_REF(blasts), target, GLOB.alldirs) else if(prob(60)) - INVOKE_ASYNC(src, .proc/blasts, target, GLOB.cardinals) + INVOKE_ASYNC(src, PROC_REF(blasts), target, GLOB.cardinals) else - INVOKE_ASYNC(src, .proc/blasts, target, GLOB.diagonals) + INVOKE_ASYNC(src, PROC_REF(blasts), target, GLOB.diagonals) else //just release a burst of power - INVOKE_ASYNC(src, .proc/burst, get_turf(src)) + INVOKE_ASYNC(src, PROC_REF(burst), get_turf(src)) /mob/living/simple_animal/hostile/megafauna/hierophant/proc/blink_spam(blink_counter, target_slowness, cross_counter) ranged_cooldown = world.time + max(5, major_attack_cooldown - anger_modifier * 0.75) @@ -218,7 +218,7 @@ Difficulty: Hard blinking = TRUE SLEEP_CHECK_DEATH(4 + target_slowness) animate(src, color = oldcolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) SLEEP_CHECK_DEATH(8) blinking = FALSE else @@ -234,12 +234,12 @@ Difficulty: Hard while(!QDELETED(target) && cross_counter) cross_counter-- if(prob(60)) - INVOKE_ASYNC(src, .proc/blasts, target, GLOB.cardinals) + INVOKE_ASYNC(src, PROC_REF(blasts), target, GLOB.cardinals) else - INVOKE_ASYNC(src, .proc/blasts, target, GLOB.diagonals) + INVOKE_ASYNC(src, PROC_REF(blasts), target, GLOB.diagonals) SLEEP_CHECK_DEATH(6 + target_slowness) animate(src, color = oldcolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) SLEEP_CHECK_DEATH(8) blinking = FALSE @@ -267,7 +267,7 @@ Difficulty: Hard SLEEP_CHECK_DEATH(8 + target_slowness) chaser_cooldown = world.time + initial(chaser_cooldown) animate(src, color = oldcolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) SLEEP_CHECK_DEATH(8) blinking = FALSE @@ -285,7 +285,7 @@ Difficulty: Hard SLEEP_CHECK_DEATH(2) new /obj/effect/temp_visual/hierophant/blast(T, src, FALSE) for(var/d in directions) - INVOKE_ASYNC(src, .proc/blast_wall, T, d) + INVOKE_ASYNC(src, PROC_REF(blast_wall), T, d) /mob/living/simple_animal/hostile/megafauna/hierophant/proc/blast_wall(turf/T, set_dir) //make a wall of blasts beam_range tiles long var/range = beam_range @@ -304,13 +304,13 @@ Difficulty: Hard return arena_cooldown = world.time + initial(arena_cooldown) for(var/d in GLOB.cardinals) - INVOKE_ASYNC(src, .proc/arena_squares, T, d) + INVOKE_ASYNC(src, PROC_REF(arena_squares), T, d) for(var/t in RANGE_TURFS(11, T)) if(t && get_dist(t, T) == 11) new /obj/effect/temp_visual/hierophant/wall(t, src) new /obj/effect/temp_visual/hierophant/blast(t, src, FALSE) if(get_dist(src, T) >= 11) //hey you're out of range I need to get closer to you! - INVOKE_ASYNC(src, .proc/blink, T) + INVOKE_ASYNC(src, PROC_REF(blink), T) /mob/living/simple_animal/hostile/megafauna/hierophant/proc/arena_squares(turf/T, set_dir) //make a fancy effect extending from the arena target var/turf/previousturf = T @@ -453,10 +453,10 @@ Difficulty: Hard if(ranged_cooldown <= world.time) calculate_rage() ranged_cooldown = world.time + max(5, ranged_cooldown_time - anger_modifier * 0.75) - INVOKE_ASYNC(src, .proc/burst, get_turf(src)) + INVOKE_ASYNC(src, PROC_REF(burst), get_turf(src)) else burst_range = 3 - INVOKE_ASYNC(src, .proc/burst, get_turf(src), 0.25) //melee attacks on living mobs cause it to release a fast burst if on cooldown + INVOKE_ASYNC(src, PROC_REF(burst), get_turf(src), 0.25) //melee attacks on living mobs cause it to release a fast burst if on cooldown else devour(L) else @@ -570,7 +570,7 @@ Difficulty: Hard friendly_fire_check = is_friendly_fire if(new_speed) speed = new_speed - addtimer(CALLBACK(src, .proc/seek_target), 1) + addtimer(CALLBACK(src, PROC_REF(seek_target)), 1) /obj/effect/temp_visual/hierophant/chaser/proc/get_target_dir() . = get_cardinal_dir(src, targetturf) @@ -653,9 +653,9 @@ Difficulty: Hard if(ismineralturf(loc)) //drill mineral turfs var/turf/closed/mineral/M = loc M.gets_drilled(caster) - INVOKE_ASYNC(src, .proc/blast) + INVOKE_ASYNC(src, PROC_REF(blast)) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -730,7 +730,7 @@ Difficulty: Hard if(H.beacon == src) to_chat(user, "You start removing your hierophant beacon...") H.timer = world.time + 51 - INVOKE_ASYNC(H, /obj/item/hierophant_club.proc/prepare_icon_update) + INVOKE_ASYNC(H, TYPE_PROC_REF(/obj/item/hierophant_club, prepare_icon_update)) if(do_after(user, 50, target = src)) playsound(src,'sound/magic/blind.ogg', 200, TRUE, -4) new /obj/effect/temp_visual/hierophant/telegraph/teleport(get_turf(src), user) @@ -740,7 +740,7 @@ Difficulty: Hard qdel(src) else H.timer = world.time - INVOKE_ASYNC(H, /obj/item/hierophant_club.proc/prepare_icon_update) + INVOKE_ASYNC(H, TYPE_PROC_REF(/obj/item/hierophant_club, prepare_icon_update)) else to_chat(user, "You touch the beacon with the club, but nothing happens.") else diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 5159efd266f1..b8f730d87920 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -124,15 +124,15 @@ minimum_distance = 0 set_varspeed(0) charging = TRUE - addtimer(CALLBACK(src, .proc/reset_charge), 60) + addtimer(CALLBACK(src, PROC_REF(reset_charge)), 60) var/mob/living/L = target if(!istype(L) || L.stat != DEAD) //I know, weird syntax, but it just works. - addtimer(CALLBACK(src, .proc/throw_thyself), 20) + addtimer(CALLBACK(src, PROC_REF(throw_thyself)), 20) ///This is the proc that actually does the throwing. Charge only adds a timer for this. /mob/living/simple_animal/hostile/megafauna/legion/proc/throw_thyself() playsound(src, 'sound/weapons/sonic_jackhammer.ogg', 50, TRUE) - throw_at(target, 7, 1.1, src, FALSE, FALSE, CALLBACK(GLOBAL_PROC, .proc/playsound, src, 'sound/effects/meteorimpact.ogg', 50 * size, TRUE, 2), INFINITY) + throw_at(target, 7, 1.1, src, FALSE, FALSE, CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, 'sound/effects/meteorimpact.ogg', 50 * size, TRUE, 2), INFINITY) ///Deals some extra damage on throw impact. /mob/living/simple_animal/hostile/megafauna/legion/throw_impact(mob/living/hit_atom, datum/thrownthing/throwingdatum) @@ -341,7 +341,7 @@ /obj/structure/legionturret/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/set_up_shot), initial_firing_time) + addtimer(CALLBACK(src, PROC_REF(set_up_shot)), initial_firing_time) ///Handles an extremely basic AI /obj/structure/legionturret/proc/set_up_shot() @@ -365,7 +365,7 @@ var/datum/point/vector/V = new(T1.x, T1.y, T1.z, 0, 0, angle) generate_tracer_between_points(V, V.return_vector_after_increments(6), /obj/effect/projectile/tracer/legion/tracer, 0, shot_delay, 0, 0, 0, null) playsound(src, 'sound/machines/airlockopen.ogg', 100, TRUE) - addtimer(CALLBACK(src, .proc/fire_beam, angle), shot_delay) + addtimer(CALLBACK(src, PROC_REF(fire_beam), angle), shot_delay) ///Called shot_delay after the turret shot the tracer. Shoots a projectile into the same direction. /obj/structure/legionturret/proc/fire_beam(angle) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm index 38834a4e5cef..a2cceb5a3aaa 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm @@ -147,7 +147,7 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa /mob/living/simple_animal/hostile/swarmer/ai/proc/StartAction(deci = 0) stop_automated_movement = TRUE AIStatus = AI_OFF - addtimer(CALLBACK(src, .proc/EndAction), deci) + addtimer(CALLBACK(src, PROC_REF(EndAction)), deci) /mob/living/simple_animal/hostile/swarmer/ai/proc/EndAction() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm index 42836c58cf6b..59a58bd48d16 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm @@ -133,7 +133,7 @@ Difficulty: Hard . = ..() stored_move_dirs &= ~direct if(!stored_move_dirs) - INVOKE_ASYNC(src, .proc/ground_slam, stomp_range, 1) + INVOKE_ASYNC(src, PROC_REF(ground_slam), stomp_range, 1) /// Slams the ground around the wendigo throwing back enemies caught nearby /mob/living/simple_animal/hostile/megafauna/wendigo/proc/ground_slam(range, delay) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm index 4376e9e0ae21..eb8302536e50 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm @@ -93,7 +93,7 @@ set_varspeed(0) warmed_up = TRUE projectiletype = /obj/projectile/temp/basilisk/heated - addtimer(CALLBACK(src, .proc/cool_down), 3000) + addtimer(CALLBACK(src, PROC_REF(cool_down)), 3000) /mob/living/simple_animal/hostile/asteroid/basilisk/proc/cool_down() visible_message("[src] appears to be cooling down...") diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm index 45d4114da6e1..1d9f6e174660 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm @@ -98,7 +98,7 @@ visible_message(span_danger("[src] starts charging!")) balloon_alert(src, "charging...") to_chat(src, "You begin to charge up...") - addtimer(CALLBACK(src, .proc/fire_laser), 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(fire_laser)), 1 SECONDS) COOLDOWN_START(src, ranged_cooldown, ranged_cooldown_time) /mob/living/simple_animal/hostile/asteroid/brimdemon/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE) @@ -143,7 +143,7 @@ last_brimbeam.icon_state = "brimbeam_end" var/atom/first_brimbeam = beamparts[1] first_brimbeam.icon_state = "brimbeam_start" - addtimer(CALLBACK(src, .proc/end_laser), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(end_laser)), 2 SECONDS) /// Deletes all the brimbeam parts and sets variables back to their initial ones. /mob/living/simple_animal/hostile/asteroid/brimdemon/proc/end_laser() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm index 33bd3e6ba0f0..fb06bfdf11ca 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm @@ -117,15 +117,15 @@ While using this makes the system rely on OnFire, it still gives options for tim if(boosted) mychild.playsound_local(get_turf(mychild), 'sound/effects/magic.ogg', 40, 0) to_chat(mychild, "Someone has activated your tumor. You will be returned to fight shortly, get ready!") - addtimer(CALLBACK(src, .proc/return_elite), 30) - INVOKE_ASYNC(src, .proc/arena_checks) + addtimer(CALLBACK(src, PROC_REF(return_elite)), 30) + INVOKE_ASYNC(src, PROC_REF(arena_checks)) if(TUMOR_INACTIVE) activity = TUMOR_ACTIVE var/mob/dead/observer/elitemind = null visible_message("[src] begins to convulse. Your instincts tell you to step back.") activator = user if(!boosted) - addtimer(CALLBACK(src, .proc/spawn_elite), 30) + addtimer(CALLBACK(src, PROC_REF(spawn_elite)), 30) return visible_message("Something within [src] stirs...") var/list/candidates = pollCandidatesForMob("Do you want to play as a lavaland elite?", ROLE_SENTIENCE, null, ROLE_SENTIENCE, 50, src, POLL_IGNORE_SENTIENCE_POTION) @@ -134,7 +134,7 @@ While using this makes the system rely on OnFire, it still gives options for tim elitemind = pick(candidates) elitemind.playsound_local(get_turf(elitemind), 'sound/effects/magic.ogg', 40, 0) to_chat(elitemind, "You have been chosen to play as a Lavaland Elite.\nIn a few seconds, you will be summoned on Lavaland as a monster to fight your activator, in a fight to the death.\nYour attacks can be switched using the buttons on the top left of the HUD, and used by clicking on targets or tiles similar to a gun.\nWhile the opponent might have an upper hand with powerful mining equipment and tools, you have great power normally limited by AI mobs.\nIf you want to win, you'll have to use your powers in creative ways to ensure the kill. It's suggested you try using them all as soon as possible.\nShould you win, you'll receive extra information regarding what to do after. Good luck!") - addtimer(CALLBACK(src, .proc/spawn_elite, elitemind), 100) + addtimer(CALLBACK(src, PROC_REF(spawn_elite), elitemind), 100) else visible_message("The stirring stops, and nothing emerges. Perhaps try again later.") activity = TUMOR_INACTIVE @@ -150,7 +150,7 @@ While using this makes the system rely on OnFire, it still gives options for tim mychild.sentience_act() notify_ghosts("\A [mychild] has been awakened in \the [get_area(src)]!", source = mychild, action = NOTIFY_ORBIT, flashwindow = FALSE, header = "Lavaland Elite awakened") icon_state = "tumor_popped" - INVOKE_ASYNC(src, .proc/arena_checks) + INVOKE_ASYNC(src, PROC_REF(arena_checks)) /obj/structure/elite_tumor/proc/return_elite() mychild.forceMove(loc) @@ -198,11 +198,11 @@ While using this makes the system rely on OnFire, it still gives options for tim /obj/structure/elite_tumor/proc/arena_checks() if(activity != TUMOR_ACTIVE || QDELETED(src)) return - INVOKE_ASYNC(src, .proc/fighters_check) //Checks to see if our fighters died. - INVOKE_ASYNC(src, .proc/arena_trap) //Gets another arena trap queued up for when this one runs out. - INVOKE_ASYNC(src, .proc/border_check) //Checks to see if our fighters got out of the arena somehow. + INVOKE_ASYNC(src, PROC_REF(fighters_check)) //Checks to see if our fighters died. + INVOKE_ASYNC(src, PROC_REF(arena_trap)) //Gets another arena trap queued up for when this one runs out. + INVOKE_ASYNC(src, PROC_REF(border_check)) //Checks to see if our fighters got out of the arena somehow. if(!QDELETED(src)) - addtimer(CALLBACK(src, .proc/arena_checks), 50) + addtimer(CALLBACK(src, PROC_REF(arena_checks)), 50) /obj/structure/elite_tumor/proc/fighters_check() if(activator != null && activator.stat == DEAD || activity == TUMOR_ACTIVE && QDELETED(activator)) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm index 91fdf286aae7..7e2b1c3d990c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm @@ -145,7 +145,7 @@ color = "#FF0000" set_varspeed(0) move_to_delay = 3 - addtimer(CALLBACK(src, .proc/reset_rage), 65) + addtimer(CALLBACK(src, PROC_REF(reset_rage)), 65) /mob/living/simple_animal/hostile/asteroid/elite/broodmother/proc/reset_rage() color = "#FFFFFF" @@ -230,11 +230,11 @@ retract() else deltimer(timerid) - timerid = addtimer(CALLBACK(src, .proc/retract), 10, TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(retract)), 10, TIMER_STOPPABLE) /obj/effect/temp_visual/goliath_tentacle/broodmother/patch/Initialize(mapload, new_spawner) . = ..() - INVOKE_ASYNC(src, .proc/createpatch) + INVOKE_ASYNC(src, PROC_REF(createpatch)) /obj/effect/temp_visual/goliath_tentacle/broodmother/patch/proc/createpatch() var/tentacle_locs = spiral_range_turfs(1, get_turf(src)) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm index 0ead18b36ad9..ba8ae69093a4 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm @@ -56,7 +56,7 @@ /mob/living/simple_animal/hostile/asteroid/elite/herald/death() . = ..() if(!is_mirror) - addtimer(CALLBACK(src, .proc/become_ghost), 8) + addtimer(CALLBACK(src, PROC_REF(become_ghost)), 8) if(my_mirror != null) qdel(my_mirror) @@ -145,13 +145,13 @@ var/target_turf = get_turf(target) var/angle_to_target = Get_Angle(src, target_turf) shoot_projectile(target_turf, angle_to_target, FALSE) - addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE), 2) - addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE), 4) + addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE), 2) + addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE), 4) if(health < maxHealth * 0.5) playsound(get_turf(src), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE) - addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE), 10) - addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE), 12) - addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE), 14) + addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE), 10) + addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE), 12) + addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE), 14) /mob/living/simple_animal/hostile/asteroid/elite/herald/proc/herald_circleshot() var/static/list/directional_shot_angles = list(0, 45, 90, 135, 180, 225, 270, 315) @@ -168,11 +168,11 @@ if(!is_mirror) icon_state = "herald_enraged" playsound(get_turf(src), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE) - addtimer(CALLBACK(src, .proc/herald_circleshot), 5) + addtimer(CALLBACK(src, PROC_REF(herald_circleshot)), 5) if(health < maxHealth * 0.5) playsound(get_turf(src), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE) - addtimer(CALLBACK(src, .proc/herald_circleshot), 15) - addtimer(CALLBACK(src, .proc/unenrage), 20) + addtimer(CALLBACK(src, PROC_REF(herald_circleshot)), 15) + addtimer(CALLBACK(src, PROC_REF(unenrage)), 20) /mob/living/simple_animal/hostile/asteroid/elite/herald/proc/herald_teleshot(target) ranged_cooldown = world.time + 30 @@ -278,4 +278,4 @@ owner.visible_message("[owner]'s [src] emits a loud noise as [owner] is struck!") var/static/list/directional_shot_angles = list(0, 45, 90, 135, 180, 225, 270, 315) playsound(get_turf(owner), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE) - addtimer(CALLBACK(src, .proc/reactionshot, owner), 10) + addtimer(CALLBACK(src, PROC_REF(reactionshot), owner), 10) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm index 8f991a400f18..f0b6dc3e8d54 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm @@ -104,7 +104,7 @@ T = get_step(T, dir_to_target) playsound(src,'sound/magic/demon_attack1.ogg', 200, 1) visible_message("[src] prepares to charge!") - addtimer(CALLBACK(src, .proc/legionnaire_charge_2, dir_to_target, 0), 5) + addtimer(CALLBACK(src, PROC_REF(legionnaire_charge_2), dir_to_target, 0), 5) /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/legionnaire_charge_2(move_dir, times_ran) if(times_ran >= 4) @@ -132,7 +132,7 @@ L.safe_throw_at(throwtarget, 10, 1, src) L.Paralyze(20) L.adjustBruteLoss(50) - addtimer(CALLBACK(src, .proc/legionnaire_charge_2, move_dir, (times_ran + 1)), 2) + addtimer(CALLBACK(src, PROC_REF(legionnaire_charge_2), move_dir, (times_ran + 1)), 2) /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/head_detach(target) ranged_cooldown = world.time + 10 @@ -160,7 +160,7 @@ /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/onHeadDeath() myhead = null - addtimer(CALLBACK(src, .proc/regain_head), 50) + addtimer(CALLBACK(src, PROC_REF(regain_head)), 50) /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/regain_head() has_head = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm index 33165a4b6dbe..4077f8b58949 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm @@ -122,7 +122,7 @@ new /obj/effect/temp_visual/hierophant/blast/pandora(T, src) T = get_step(T, angleused) procsleft = procsleft - 1 - addtimer(CALLBACK(src, .proc/singular_shot_line, procsleft, angleused, T), 2) + addtimer(CALLBACK(src, PROC_REF(singular_shot_line), procsleft, angleused, T), 2) /mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/magic_box(target) ranged_cooldown = world.time + cooldown_time @@ -138,7 +138,7 @@ new /obj/effect/temp_visual/hierophant/telegraph(T, src) new /obj/effect/temp_visual/hierophant/telegraph(source, src) playsound(source,'sound/machines/airlockopen.ogg', 200, 1) - addtimer(CALLBACK(src, .proc/pandora_teleport_2, T, source), 2) + addtimer(CALLBACK(src, PROC_REF(pandora_teleport_2), T, source), 2) /mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/pandora_teleport_2(turf/T, turf/source) new /obj/effect/temp_visual/hierophant/telegraph/teleport(T, src) @@ -150,7 +150,7 @@ animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out visible_message("[src] fades out!") density = FALSE - addtimer(CALLBACK(src, .proc/pandora_teleport_3, T), 2) + addtimer(CALLBACK(src, PROC_REF(pandora_teleport_3), T), 2) /mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/pandora_teleport_3(turf/T) forceMove(T) @@ -163,7 +163,7 @@ var/turf/T = get_turf(target) new /obj/effect/temp_visual/hierophant/blast/pandora(T, src) var/max_size = 2 - addtimer(CALLBACK(src, .proc/aoe_squares_2, T, 0, max_size), 2) + addtimer(CALLBACK(src, PROC_REF(aoe_squares_2), T, 0, max_size), 2) /mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/aoe_squares_2(turf/T, ring, max_size) if(ring > max_size) @@ -171,7 +171,7 @@ for(var/t in spiral_range_turfs(ring, T)) if(get_dist(t, T) == ring) new /obj/effect/temp_visual/hierophant/blast/pandora(t, src) - addtimer(CALLBACK(src, .proc/aoe_squares_2, T, (ring + 1), max_size), 2) + addtimer(CALLBACK(src, PROC_REF(aoe_squares_2), T, (ring + 1), max_size), 2) /mob/living/simple_animal/hostile/asteroid/elite/pandora/death() //open all pandora gates diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm index 91f728b9b4b0..e4eb7122d391 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm @@ -130,7 +130,7 @@ retreat_distance = 10 minimum_distance = 10 if(will_burrow) - addtimer(CALLBACK(src, .proc/Burrow), chase_time) + addtimer(CALLBACK(src, PROC_REF(Burrow)), chase_time) /mob/living/simple_animal/hostile/asteroid/goldgrub/AttackingTarget() if(istype(target, /obj/item/stack/ore)) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm index f17070695381..1fa691b85de7 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm @@ -306,7 +306,7 @@ var/turf/closed/mineral/M = loc M.gets_drilled() deltimer(timerid) - timerid = addtimer(CALLBACK(src, .proc/tripanim), 7, TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(tripanim)), 7, TIMER_STOPPABLE) if(!recursive) return var/list/directions = get_directions() @@ -321,7 +321,7 @@ /obj/effect/temp_visual/goliath_tentacle/proc/tripanim() deltimer(timerid) - timerid = addtimer(CALLBACK(src, .proc/trip), 3, TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(trip)), 3, TIMER_STOPPABLE) /obj/effect/temp_visual/goliath_tentacle/proc/trip() var/latched = FALSE @@ -335,7 +335,7 @@ retract() else deltimer(timerid) - timerid = addtimer(CALLBACK(src, .proc/retract), 10, TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(retract)), 10, TIMER_STOPPABLE) /obj/effect/temp_visual/goliath_tentacle/proc/on_hit(mob/living/L) L.Stun(100) @@ -392,13 +392,13 @@ shake_animation(20) visible_message("[src] convulses violently!! Get back!!") playsound(loc, 'sound/effects/magic.ogg', 100, TRUE) - addtimer(CALLBACK(src, .proc/open_fire_2), 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(open_fire_2)), 1 SECONDS) /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient/crystal/proc/open_fire_2() if(prob(20) && !(spiral_attack_inprogress)) visible_message("[src] sprays crystalline shards in a circle!") playsound(loc, 'sound/magic/charge.ogg', 100, TRUE) - INVOKE_ASYNC(src,.proc/spray_of_crystals) + INVOKE_ASYNC(src, PROC_REF(spray_of_crystals)) else visible_message("[src] expels it's matter, releasing a spray of crystalline shards!") playsound(loc, 'sound/effects/bamf.ogg', 100, TRUE) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm index 99807cff8210..ee48ed624ee4 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm @@ -48,7 +48,7 @@ /mob/living/simple_animal/hostile/asteroid/gutlunch/Initialize() . = ..() if(wanted_objects.len) - AddComponent(/datum/component/udder, /obj/item/udder/gutlunch, CALLBACK(src, .proc/regenerate_icons), CALLBACK(src, .proc/regenerate_icons)) + AddComponent(/datum/component/udder, /obj/item/udder/gutlunch, CALLBACK(src, PROC_REF(regenerate_icons)), CALLBACK(src, PROC_REF(regenerate_icons))) /mob/living/simple_animal/hostile/asteroid/gutlunch/CanAttack(atom/the_target) // Gutlunch-specific version of CanAttack to handle stupid stat_exclusive = true crap so we don't have to do it for literally every single simple_animal/hostile except the two that spawn in lavaland if(isturf(the_target) || !the_target || the_target.type == /atom/movable/lighting_object) // bail out on invalids diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index aa2446ca108a..bdc4124ed929 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -94,7 +94,7 @@ /mob/living/simple_animal/hostile/asteroid/hivelordbrood/Initialize(_source) . = ..() source = source - addtimer(CALLBACK(src, .proc/death), 100) + addtimer(CALLBACK(src, PROC_REF(death)), 100) AddComponent(/datum/component/swarming) //Legion @@ -222,7 +222,7 @@ /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/staff/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/death), 50) + addtimer(CALLBACK(src, PROC_REF(death)), 50) AddComponent(/datum/component/swarming) /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/Life() @@ -1036,5 +1036,11 @@ if(prob(75)) backpack_contents += list(/obj/item/ammo_box/c38_box = 1) if(prob(75)) - backpack_contents += list(pick(/obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask/vintageash, /obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask/vintageice, /obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask/vintageshock) = 1) + backpack_contents += list(pick( + /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine, + /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/icewine, + /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/shockwine, + /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/hearthwine, + /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/forcewine, + /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/prismwine,) = 2) . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm index 9f458f617c87..2315f6e61a4f 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm @@ -194,7 +194,7 @@ icon_state = "frozen" /datum/status_effect/ice_crystal/on_apply() - RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, .proc/owner_moved) + RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(owner_moved)) if(!owner.stat) to_chat(owner, "You become frozen in a cube!") cube = icon('icons/effects/freeze.dmi', "ice_cube") diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index 4c7ddedbbb1d..26a587f7f854 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -88,7 +88,7 @@ /mob/living/simple_animal/hostile/mushroom/adjustHealth(amount, updating_health = TRUE, forced = FALSE) //Possibility to flee from a fight just to make it more visually interesting if(!retreat_distance && prob(33)) retreat_distance = 5 - addtimer(CALLBACK(src, .proc/stop_retreat), 30) + addtimer(CALLBACK(src, PROC_REF(stop_retreat)), 30) . = ..() /mob/living/simple_animal/hostile/mushroom/proc/stop_retreat() @@ -137,7 +137,7 @@ revive(full_heal = TRUE, admin_revive = FALSE) UpdateMushroomCap() recovery_cooldown = 1 - addtimer(CALLBACK(src, .proc/recovery_recharge), 300) + addtimer(CALLBACK(src, PROC_REF(recovery_recharge)), 300) /mob/living/simple_animal/hostile/mushroom/proc/recovery_recharge() recovery_cooldown = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/regalrat.dm b/code/modules/mob/living/simple_animal/hostile/regalrat.dm index 8c1e47926935..cad59e7369b8 100644 --- a/code/modules/mob/living/simple_animal/hostile/regalrat.dm +++ b/code/modules/mob/living/simple_animal/hostile/regalrat.dm @@ -37,7 +37,7 @@ riot = new /datum/action/cooldown/riot coffer.Grant(src) riot.Grant(src) - INVOKE_ASYNC(src, .proc/get_player) + INVOKE_ASYNC(src, PROC_REF(get_player)) /mob/living/simple_animal/hostile/regalrat/Destroy() coffer.Remove(src) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/retaliate.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/retaliate.dm index 0eb4232e65fd..7853b478033f 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/retaliate.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/retaliate.dm @@ -46,12 +46,12 @@ Retaliate() /mob/living/simple_animal/hostile/retaliate/proc/add_enemy(new_enemy) - RegisterSignal(new_enemy, COMSIG_PARENT_QDELETING, .proc/remove_enemy, override = TRUE) + RegisterSignal(new_enemy, COMSIG_PARENT_QDELETING, PROC_REF(remove_enemy), override = TRUE) enemies |= new_enemy /mob/living/simple_animal/hostile/retaliate/proc/add_enemies(new_enemies) for(var/new_enemy in new_enemies) - RegisterSignal(new_enemy, COMSIG_PARENT_QDELETING, .proc/remove_enemy, override = TRUE) + RegisterSignal(new_enemy, COMSIG_PARENT_QDELETING, PROC_REF(remove_enemy), override = TRUE) enemies |= new_enemy /mob/living/simple_animal/hostile/retaliate/proc/clear_enemies() diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm index c43c37a6bd21..3375cd0a7269 100644 --- a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm @@ -198,7 +198,7 @@ if(D.density) return delayFire += 1.5 - addtimer(CALLBACK(src, .proc/dragon_fire_line, T), delayFire) + addtimer(CALLBACK(src, PROC_REF(dragon_fire_line), T), delayFire) /** * What occurs on each tile to actually create the fire. @@ -279,7 +279,7 @@ fully_heal() color = "#FF0000" set_varspeed(-0.5) - addtimer(CALLBACK(src, .proc/rift_empower, FALSE), 300) + addtimer(CALLBACK(src, PROC_REF(rift_empower), FALSE), 300) else color = "#FFFFFF" set_varspeed(0) @@ -312,7 +312,7 @@ /mob/living/simple_animal/hostile/space_dragon/proc/useGust(timer) if(timer != 10) pixel_y = pixel_y + 2; - addtimer(CALLBACK(src, .proc/useGust, timer + 1), 1.5) + addtimer(CALLBACK(src, PROC_REF(useGust), timer + 1), 1.5) return pixel_y = 0 icon_state = "spacedragon_gust_2" @@ -330,7 +330,7 @@ var/throwtarget = get_edge_target_turf(target, dir_to_target) L.safe_throw_at(throwtarget, 10, 1, src) L.Paralyze(50) - addtimer(CALLBACK(src, .proc/reset_status), 4 + ((tiredness * tiredness_mult) / 10)) + addtimer(CALLBACK(src, PROC_REF(reset_status)), 4 + ((tiredness * tiredness_mult) / 10)) tiredness = tiredness + (30 * tiredness_mult) /** diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm index e518955d91af..52ddcc72963a 100644 --- a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm +++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm @@ -32,7 +32,7 @@ for(var/turf/T in anchors) vines += Beam(T, "vine", maxdistance=5, beam_type=/obj/effect/ebeam/vine) - addtimer(CALLBACK(src, .proc/bear_fruit), growth_time) + addtimer(CALLBACK(src, PROC_REF(bear_fruit)), growth_time) /obj/structure/alien/resin/flower_bud_enemy/Destroy() QDEL_LIST(vines) @@ -131,7 +131,7 @@ return var/datum/beam/newVine = Beam(the_target, icon_state = "vine", maxdistance = vine_grab_distance, beam_type=/obj/effect/ebeam/vine, emissive = FALSE) - RegisterSignal(newVine, COMSIG_PARENT_QDELETING, .proc/remove_vine, newVine) + RegisterSignal(newVine, COMSIG_PARENT_QDELETING, PROC_REF(remove_vine), newVine) vines += newVine if(isliving(the_target)) var/mob/living/L = the_target diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index 5eb2965fdc0e..b77436c09c89 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -100,7 +100,7 @@ F.environment_smash = ENVIRONMENT_SMASH_WALLS F.mob_size = MOB_SIZE_LARGE F.speed = 1 - addtimer(CALLBACK(F, /mob/living/simple_animal/hostile/asteroid/fugu/proc/Deflate), 100) + addtimer(CALLBACK(F, TYPE_PROC_REF(/mob/living/simple_animal/hostile/asteroid/fugu, Deflate)), 100) /mob/living/simple_animal/hostile/asteroid/fugu/proc/Deflate() if(wumbo) diff --git a/code/modules/mob/living/simple_animal/hostile/zombie.dm b/code/modules/mob/living/simple_animal/hostile/zombie.dm index 2de9fba68678..37be0db7f16c 100644 --- a/code/modules/mob/living/simple_animal/hostile/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/zombie.dm @@ -26,7 +26,7 @@ /mob/living/simple_animal/hostile/zombie/Initialize(mapload) . = ..() - INVOKE_ASYNC(src, .proc/setup_visuals) + INVOKE_ASYNC(src, PROC_REF(setup_visuals)) /mob/living/simple_animal/hostile/zombie/proc/setup_visuals() var/datum/preferences/dummy_prefs = new diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index 5260c76e8a01..b880704c9bf9 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -375,7 +375,7 @@ else if(!HAS_TRAIT(src, TRAIT_IMMOBILIZED) && isturf(loc) && prob(33)) step(src, pick(GLOB.cardinals)) else if(!AIproc) - INVOKE_ASYNC(src, .proc/AIprocess) + INVOKE_ASYNC(src, PROC_REF(AIprocess)) /mob/living/simple_animal/slime/handle_automated_movement() return //slime random movement is currently handled in handle_targets() diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index d8d34a804958..cb4b76983563 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -457,7 +457,7 @@ if(user) step_away(src,user,15) - addtimer(CALLBACK(src, .proc/slime_move, user), 0.3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(slime_move), user), 0.3 SECONDS) /mob/living/simple_animal/slime/proc/slime_move(mob/user) @@ -490,7 +490,7 @@ if(old_target && !SLIME_CARES_ABOUT(old_target)) UnregisterSignal(old_target, COMSIG_PARENT_QDELETING) if(Target) - RegisterSignal(Target, COMSIG_PARENT_QDELETING, .proc/clear_memories_of, override = TRUE) + RegisterSignal(Target, COMSIG_PARENT_QDELETING, PROC_REF(clear_memories_of), override = TRUE) /mob/living/simple_animal/slime/proc/set_leader(new_leader) var/old_leader = Leader @@ -498,19 +498,19 @@ if(old_leader && !SLIME_CARES_ABOUT(old_leader)) UnregisterSignal(old_leader, COMSIG_PARENT_QDELETING) if(Leader) - RegisterSignal(Leader, COMSIG_PARENT_QDELETING, .proc/clear_memories_of, override = TRUE) + RegisterSignal(Leader, COMSIG_PARENT_QDELETING, PROC_REF(clear_memories_of), override = TRUE) /mob/living/simple_animal/slime/proc/add_friendship(new_friend, amount = 1) if(!Friends[new_friend]) Friends[new_friend] = 0 Friends[new_friend] += amount if(new_friend) - RegisterSignal(new_friend, COMSIG_PARENT_QDELETING, .proc/clear_memories_of, override = TRUE) + RegisterSignal(new_friend, COMSIG_PARENT_QDELETING, PROC_REF(clear_memories_of), override = TRUE) /mob/living/simple_animal/slime/proc/set_friendship(new_friend, amount = 1) Friends[new_friend] = amount if(new_friend) - RegisterSignal(new_friend, COMSIG_PARENT_QDELETING, .proc/clear_memories_of, override = TRUE) + RegisterSignal(new_friend, COMSIG_PARENT_QDELETING, PROC_REF(clear_memories_of), override = TRUE) /mob/living/simple_animal/slime/proc/remove_friend(friend) Friends -= friend diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index d48db130f983..6e60af7ed244 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -453,7 +453,7 @@ set name = "Examine" set category = "IC" - DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, .proc/run_examinate, examinify)) + DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, PROC_REF(run_examinate), examinify)) /mob/proc/run_examinate(atom/examinify) @@ -472,8 +472,8 @@ if(isnull(client.recent_examines[examinify]) || client.recent_examines[examinify] < world.time) result = examinify.examine(src) client.recent_examines[examinify] = world.time + EXAMINE_MORE_TIME // set the value to when the examine cooldown ends - RegisterSignal(examinify, COMSIG_PARENT_QDELETING, .proc/clear_from_recent_examines, override=TRUE) // to flush the value if deleted early - addtimer(CALLBACK(src, .proc/clear_from_recent_examines, examinify), EXAMINE_MORE_TIME) + RegisterSignal(examinify, COMSIG_PARENT_QDELETING, PROC_REF(clear_from_recent_examines), override=TRUE) // to flush the value if deleted early + addtimer(CALLBACK(src, PROC_REF(clear_from_recent_examines), examinify), EXAMINE_MORE_TIME) handle_eye_contact(examinify) else result = examinify.examine_more(src) @@ -559,11 +559,11 @@ // check to see if their face is blocked or, if not, a signal blocks it if(examined_mob.is_face_visible() && SEND_SIGNAL(src, COMSIG_MOB_EYECONTACT, examined_mob, TRUE) != COMSIG_BLOCK_EYECONTACT) var/msg = "You make eye contact with [examined_mob]." - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, src, msg), 3) // so the examine signal has time to fire and this will print after + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), src, msg), 3) // so the examine signal has time to fire and this will print after if(is_face_visible() && SEND_SIGNAL(examined_mob, COMSIG_MOB_EYECONTACT, src, FALSE) != COMSIG_BLOCK_EYECONTACT) var/msg = "[src] makes eye contact with you." - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, examined_mob, msg), 3) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), examined_mob, msg), 3) ///Can this mob resist (default FALSE) @@ -608,7 +608,7 @@ set category = "Object" set src = usr - DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, .proc/execute_mode)) + DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, PROC_REF(execute_mode))) ///proc version to finish /mob/verb/mode() execution. used in case the proc needs to be queued for the tick after its first called /mob/proc/execute_mode() @@ -623,6 +623,22 @@ I.attack_self(src) update_inv_hands() +/mob/verb/do_unique_action() + set name = "Do Unique Action" + set category = "Object" + set src = usr + + if(ismecha(loc)) + return + + if(incapacitated()) + return + + var/obj/item/I = get_active_held_item() + if(I) + I.unique_action(src) + update_inv_hands() + /** * Get the notes of this mob * @@ -1079,6 +1095,14 @@ return LAZYLEN(match_list) return FALSE +/mob/proc/update_joined_player_list(newname, oldname) + if(newname == oldname) + return + if(oldname) + GLOB.joined_player_list -= oldname + if(newname) + GLOB.joined_player_list[newname] = TRUE + /** * Fully update the name of a mob @@ -1094,6 +1118,9 @@ log_played_names(ckey,newname) + if(GLOB.joined_player_list[oldname]) + update_joined_player_list(newname, oldname) + real_name = newname name = newname if(mind) @@ -1179,6 +1206,11 @@ if(client.mouse_override_icon) client.mouse_pointer_icon = client.mouse_override_icon +/mob/proc/update_names_joined_list(new_name, old_name) + if(old_name) + GLOB.real_names_joined -= old_name + if(new_name) + GLOB.real_names_joined[new_name] = TRUE ///This mob is abile to read books /mob/proc/is_literate() @@ -1403,7 +1435,7 @@ UnregisterSignal(active_storage, COMSIG_PARENT_QDELETING) active_storage = new_active_storage if(active_storage) - RegisterSignal(active_storage, COMSIG_PARENT_QDELETING, .proc/active_storage_deleted) + RegisterSignal(active_storage, COMSIG_PARENT_QDELETING, PROC_REF(active_storage_deleted)) /mob/proc/active_storage_deleted(datum/source) SIGNAL_HANDLER diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 4c4a58378410..de1cb857ed4e 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -221,23 +221,37 @@ return sanitize(.) ///Shake the camera of the person viewing the mob SO REAL! -/proc/shake_camera(mob/M, duration, strength=1) - if(!M || !M.client || duration < 1) +/proc/shake_camera(mob/recoilster, duration, strength=1) + if(!recoilster || !recoilster.client || duration < 1) return - var/client/C = M.client - var/oldx = C.pixel_x - var/oldy = C.pixel_y + var/client/client_to_shake = recoilster.client + var/oldx = client_to_shake.pixel_x + var/oldy = client_to_shake.pixel_y var/max = strength*world.icon_size var/min = -(strength*world.icon_size) for(var/i in 0 to duration-1) if (i == 0) - animate(C, pixel_x=rand(min,max), pixel_y=rand(min,max), time=1) + animate(client_to_shake, pixel_x=rand(min,max), pixel_y=rand(min,max), time=1) else animate(pixel_x=rand(min,max), pixel_y=rand(min,max), time=1) animate(pixel_x=oldx, pixel_y=oldy, time=1) +/proc/recoil_camera(mob/recoilster, duration, backtime_duration, strength, angle) + if(!recoilster || !recoilster.client) + return + strength *= world.icon_size + var/client/client_to_shake = recoilster.client + var/oldx = client_to_shake.pixel_x + var/oldy = client_to_shake.pixel_y + + //get pixels to move the camera in an angle + var/mpx = sin(angle) * strength + var/mpy = cos(angle) * strength + animate(client_to_shake, pixel_x = oldx+mpx, pixel_y = oldy+mpy, time = duration, flags = ANIMATION_RELATIVE) + animate(pixel_x = oldx, pixel_y = oldy, time = backtime_duration, easing = BACK_EASING) + ///Find if the message has the real name of any user mob in the mob_list /proc/findname(msg) if(!istext(msg)) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index aa8a869da38a..59b64f63d139 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -19,7 +19,7 @@ new /obj/effect/temp_visual/monkeyify(loc) - transformation_timer = addtimer(CALLBACK(src, .proc/finish_monkeyize, tr_flags), TRANSFORMATION_DURATION, TIMER_UNIQUE) + transformation_timer = addtimer(CALLBACK(src, PROC_REF(finish_monkeyize), tr_flags), TRANSFORMATION_DURATION, TIMER_UNIQUE) /mob/living/carbon/proc/finish_monkeyize(tr_flags) transformation_timer = null @@ -189,7 +189,7 @@ invisibility = INVISIBILITY_MAXIMUM new /obj/effect/temp_visual/monkeyify/humanify(loc) - transformation_timer = addtimer(CALLBACK(src, .proc/finish_humanize, tr_flags), TRANSFORMATION_DURATION, TIMER_UNIQUE) + transformation_timer = addtimer(CALLBACK(src, PROC_REF(finish_humanize), tr_flags), TRANSFORMATION_DURATION, TIMER_UNIQUE) /mob/living/carbon/proc/finish_humanize(tr_flags) transformation_timer = null diff --git a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm index 939cafb13f0c..8fdad6474636 100644 --- a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm +++ b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm @@ -21,7 +21,7 @@ if(istype(computer, /obj/item/modular_computer/tablet/integrated)) //If this is a borg's integrated tablet var/obj/item/modular_computer/tablet/integrated/modularInterface = computer to_chat(modularInterface.borgo,"SYSTEM PURGE DETECTED/") - addtimer(CALLBACK(modularInterface.borgo, /mob/living/silicon/robot/.proc/death), 2 SECONDS, TIMER_UNIQUE) + addtimer(CALLBACK(modularInterface.borgo, TYPE_PROC_REF(/mob/living/silicon/robot, death)), 2 SECONDS, TIMER_UNIQUE) return computer.visible_message("\The [computer]'s screen brightly flashes and loud electrical buzzing is heard.") diff --git a/code/modules/modular_computers/file_system/programs/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/sm_monitor.dm index d1c6335587a4..1506d7512fe0 100644 --- a/code/modules/modular_computers/file_system/programs/sm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/sm_monitor.dm @@ -54,7 +54,7 @@ if (!isturf(S.loc) || !S.virtual_z() == T.virtual_z()) continue supermatters.Add(S) - RegisterSignal(S, COMSIG_PARENT_QDELETING, .proc/react_to_del) + RegisterSignal(S, COMSIG_PARENT_QDELETING, PROC_REF(react_to_del)) /datum/computer_file/program/supermatter_monitor/proc/get_status() . = SUPERMATTER_INACTIVE @@ -70,8 +70,8 @@ */ /datum/computer_file/program/supermatter_monitor/proc/set_signals() if(active) - RegisterSignal(active, COMSIG_SUPERMATTER_DELAM_ALARM, .proc/send_alert, override = TRUE) - RegisterSignal(active, COMSIG_SUPERMATTER_DELAM_START_ALARM, .proc/send_start_alert, override = TRUE) + RegisterSignal(active, COMSIG_SUPERMATTER_DELAM_ALARM, PROC_REF(send_alert), override = TRUE) + RegisterSignal(active, COMSIG_SUPERMATTER_DELAM_START_ALARM, PROC_REF(send_start_alert), override = TRUE) /** * Removes the signal listener for Supermatter delaminations from the selected supermatter. diff --git a/code/modules/modular_computers/laptop_vendor.dm b/code/modules/modular_computers/laptop_vendor.dm index f9ac4410f65d..7d518c0b2f6d 100644 --- a/code/modules/modular_computers/laptop_vendor.dm +++ b/code/modules/modular_computers/laptop_vendor.dm @@ -304,6 +304,6 @@ credits -= total_price say("Enjoy your new product!") state = 3 - addtimer(CALLBACK(src, .proc/reset_order), 100) + addtimer(CALLBACK(src, PROC_REF(reset_order)), 100) return TRUE return FALSE diff --git a/code/modules/movespeed/modifiers/items.dm b/code/modules/movespeed/modifiers/items.dm index 32f5756e0843..b10e25c84e7a 100644 --- a/code/modules/movespeed/modifiers/items.dm +++ b/code/modules/movespeed/modifiers/items.dm @@ -11,5 +11,9 @@ /datum/movespeed_modifier/die_of_fate multiplicative_slowdown = 1 +/datum/movespeed_modifier/gun + multiplicative_slowdown = 1 + variable = TRUE + /datum/movespeed_modifier/berserk multiplicative_slowdown = -0.2 diff --git a/code/modules/movespeed/modifiers/mobs.dm b/code/modules/movespeed/modifiers/mobs.dm index 8263b3c7dcf4..c1ec7fb45078 100644 --- a/code/modules/movespeed/modifiers/mobs.dm +++ b/code/modules/movespeed/modifiers/mobs.dm @@ -1,6 +1,3 @@ -/datum/movespeed_modifier/obesity - multiplicative_slowdown = 1.5 - /datum/movespeed_modifier/monkey_reagent_speedmod variable = TRUE diff --git a/code/modules/movespeed/modifiers/reagent.dm b/code/modules/movespeed/modifiers/reagent.dm index fb4994f00ad3..d6b0703ccb59 100644 --- a/code/modules/movespeed/modifiers/reagent.dm +++ b/code/modules/movespeed/modifiers/reagent.dm @@ -38,4 +38,4 @@ multiplicative_slowdown = -0.45 /datum/movespeed_modifier/reagent/shock_wine - multiplicative_slowdown = -0.15 + multiplicative_slowdown = -0.40 diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm index 673283bb5d2a..db4267f6849f 100644 --- a/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm +++ b/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm @@ -16,7 +16,7 @@ a_boost-- to_chat(H, "There are [a_boost] adrenaline boosts remaining.") s_coold = 3 - addtimer(CALLBACK(src, .proc/ninjaboost_after), 70) + addtimer(CALLBACK(src, PROC_REF(ninjaboost_after)), 70) /obj/item/clothing/suit/space/space_ninja/proc/ninjaboost_after() var/mob/living/carbon/human/H = affecting diff --git a/code/modules/ninja/suit/suit_initialisation.dm b/code/modules/ninja/suit/suit_initialisation.dm index bb9f88646a40..cc30ddb9a882 100644 --- a/code/modules/ninja/suit/suit_initialisation.dm +++ b/code/modules/ninja/suit/suit_initialisation.dm @@ -81,7 +81,7 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list( playsound(U, 'sound/effects/sparks1.ogg', 10, TRUE) if (phase < NINJA_COMPLETE_PHASE) - addtimer(CALLBACK(src, .proc/ninitialize, delay, U, phase + 1), delay) + addtimer(CALLBACK(src, PROC_REF(ninitialize), delay, U, phase + 1), delay) /** * Deinitializes the ninja suit @@ -110,7 +110,7 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list( playsound(U, 'sound/items/deconstruct.ogg', 10, TRUE) if (phase < NINJA_COMPLETE_PHASE) - addtimer(CALLBACK(src, .proc/deinitialize, delay, U, phase + 1), delay) + addtimer(CALLBACK(src, PROC_REF(deinitialize), delay, U, phase + 1), delay) else unlock_suit() U.regenerate_icons() diff --git a/code/modules/overmap/_overmap_datum.dm b/code/modules/overmap/_overmap_datum.dm index 420b7aad4055..076188f6ec58 100644 --- a/code/modules/overmap/_overmap_datum.dm +++ b/code/modules/overmap/_overmap_datum.dm @@ -38,6 +38,9 @@ /// The icon state the token will be set to on init. var/token_icon_state = "object" + /// The current docking ticket of this object, if any + var/datum/docking_ticket/current_docking_ticket + /datum/overmap/New(position, ...) SHOULD_NOT_OVERRIDE(TRUE) // Use [/datum/overmap/proc/Initialize] instead. if(!position) @@ -64,6 +67,8 @@ /datum/overmap/Destroy(force, ...) SSovermap.overmap_objects -= src + if(current_docking_ticket) + QDEL_NULL(current_docking_ticket) if(docked_to) docked_to.post_undocked() docked_to.contents -= src @@ -219,22 +224,25 @@ if(docked_to) CRASH("Overmap datum [src] tried to dock to [docked_to] when it is already docked to another overmap datum.") - if(docking) - return + if(docking || current_docking_ticket) + return "Already docking!" docking = TRUE var/datum/docking_ticket/ticket = dock_target.pre_docked(src) - if(!ticket || ticket.docking_error) + var/ticket_error = ticket?.docking_error + if(!ticket || ticket_error) + qdel(ticket) docking = FALSE - return ticket?.docking_error || "Unknown docking error!" + return ticket_error || "Unknown docking error!" if(!pre_dock(dock_target, ticket)) + qdel(ticket) docking = FALSE - return + return ticket_error start_dock(dock_target, ticket) if(dock_time && !force) - dock_timer_id = addtimer(CALLBACK(src, .proc/complete_dock, dock_target, ticket), dock_time) + dock_timer_id = addtimer(CALLBACK(src, PROC_REF(complete_dock), dock_target, ticket), dock_time) else complete_dock(dock_target, ticket) @@ -289,6 +297,9 @@ dock_target.post_docked(src) docking = FALSE + //Clears the docking ticket from both sides + qdel(current_docking_ticket) + SEND_SIGNAL(src, COMSIG_OVERMAP_DOCK, dock_target) /** @@ -312,7 +323,7 @@ docking = TRUE if(dock_time && !force) - dock_timer_id = addtimer(CALLBACK(src, .proc/complete_undock), dock_time) + dock_timer_id = addtimer(CALLBACK(src, PROC_REF(complete_undock)), dock_time) else complete_undock() @@ -332,7 +343,7 @@ var/datum/overmap/old_docked_to = docked_to docked_to = null token.forceMove(OVERMAP_TOKEN_TURF(x, y)) - INVOKE_ASYNC(old_docked_to, .proc/post_undocked, src) + INVOKE_ASYNC(old_docked_to, PROC_REF(post_undocked), src) docking = FALSE SEND_SIGNAL(src, COMSIG_OVERMAP_UNDOCK, old_docked_to) diff --git a/code/modules/overmap/docking_ticket.dm b/code/modules/overmap/docking_ticket.dm index f32ffde39716..4e6465043246 100644 --- a/code/modules/overmap/docking_ticket.dm +++ b/code/modules/overmap/docking_ticket.dm @@ -9,7 +9,40 @@ var/docking_error /datum/docking_ticket/New(_target_port, _issuer, _target, _docking_error) + docking_error = _docking_error + if(docking_error) + return + + if(!_target_port) + docking_error = "No target port specified!" + return target_port = _target_port + if(target_port.current_docking_ticket) + docking_error = "[target_port] is already being docked to!" + return + target_port.current_docking_ticket = src + + if(!_issuer) + docking_error = "No issuer overmap datum specified!" + return issuer = _issuer + + if(!_target) + docking_error = "No target overmap datum specified!" + return target = _target - docking_error = _docking_error + if(target.current_docking_ticket) + docking_error = "[target] is already docking!" + return + target.current_docking_ticket = src + + +/datum/docking_ticket/Destroy(force, ...) + if(target) + target.current_docking_ticket = null + target = null + if(target_port) + target_port.current_docking_ticket = null + target_port = null + + return ..() diff --git a/code/modules/overmap/helm.dm b/code/modules/overmap/helm.dm index e39b6bc88866..59fdee827907 100644 --- a/code/modules/overmap/helm.dm +++ b/code/modules/overmap/helm.dm @@ -66,7 +66,7 @@ if(jump_state != JUMP_STATE_OFF && !inline) return // This exists to prefent Href exploits to call process_jump more than once by a client message_admins("[ADMIN_LOOKUPFLW(usr)] has initiated a bluespace jump in [ADMIN_VERBOSEJMP(src)]") - jump_timer = addtimer(CALLBACK(src, .proc/jump_sequence, TRUE), JUMP_CHARGEUP_TIME, TIMER_STOPPABLE) + jump_timer = addtimer(CALLBACK(src, PROC_REF(jump_sequence), TRUE), JUMP_CHARGEUP_TIME, TIMER_STOPPABLE) priority_announce("Bluespace jump calibration initialized. Calibration completion in [JUMP_CHARGEUP_TIME/600] minutes.", sender_override="[current_ship.name] Bluespace Pylon", zlevel=virtual_z()) calibrating = TRUE return TRUE @@ -99,9 +99,9 @@ if(JUMP_STATE_FIRING) jump_state = JUMP_STATE_FINALIZED priority_announce("Bluespace Pylon launched.", sender_override = "[current_ship.name] Bluespace Pylon", sound = 'sound/magic/lightning_chargeup.ogg', zlevel = virtual_z()) - addtimer(CALLBACK(src, .proc/do_jump), 10 SECONDS) + addtimer(CALLBACK(src, PROC_REF(do_jump)), 10 SECONDS) return - jump_timer = addtimer(CALLBACK(src, .proc/jump_sequence, TRUE), JUMP_CHARGE_DELAY, TIMER_STOPPABLE) + jump_timer = addtimer(CALLBACK(src, PROC_REF(jump_sequence), TRUE), JUMP_CHARGE_DELAY, TIMER_STOPPABLE) /obj/machinery/computer/helm/proc/do_jump() priority_announce("Bluespace Jump Initiated.", sender_override = "[current_ship.name] Bluespace Pylon", sound = 'sound/magic/lightningbolt.ogg', zlevel = virtual_z()) diff --git a/code/modules/overmap/missions.dm b/code/modules/overmap/missions.dm index e3461ced00de..135f6b53ce45 100644 --- a/code/modules/overmap/missions.dm +++ b/code/modules/overmap/missions.dm @@ -35,7 +35,7 @@ value = round(rand(value-val_mod, value+val_mod) * (dur_value_scaling ? old_dur / duration : 1), 50) source_outpost = _outpost - RegisterSignal(source_outpost, COMSIG_PARENT_QDELETING, .proc/on_vital_delete) + RegisterSignal(source_outpost, COMSIG_PARENT_QDELETING, PROC_REF(on_vital_delete)) return ..() /datum/mission/proc/accept(datum/overmap/ship/controlled/acceptor, turf/accept_loc) @@ -43,7 +43,7 @@ servant = acceptor LAZYREMOVE(source_outpost.missions, src) LAZYADD(servant.missions, src) - RegisterSignal(servant, COMSIG_PARENT_QDELETING, .proc/on_vital_delete) + RegisterSignal(servant, COMSIG_PARENT_QDELETING, PROC_REF(on_vital_delete)) dur_timer = addtimer(VARSET_CALLBACK(src, failed, TRUE), duration, TIMER_STOPPABLE) /datum/mission/proc/on_vital_delete() @@ -117,7 +117,7 @@ if(sparks) do_sparks(3, FALSE, get_turf(bound)) LAZYSET(bound_atoms, bound, list(fail_on_delete, destroy_cb)) - RegisterSignal(bound, COMSIG_PARENT_QDELETING, .proc/bound_deleted) + RegisterSignal(bound, COMSIG_PARENT_QDELETING, PROC_REF(bound_deleted)) return bound /** diff --git a/code/modules/overmap/missions/research_mission.dm b/code/modules/overmap/missions/research_mission.dm index c80686039f8d..0e4996f7719d 100644 --- a/code/modules/overmap/missions/research_mission.dm +++ b/code/modules/overmap/missions/research_mission.dm @@ -20,7 +20,7 @@ /datum/mission/research/accept(datum/overmap/ship/controlled/acceptor, turf/accept_loc) . = ..() scanner = spawn_bound(/obj/machinery/mission_scanner, accept_loc, VARSET_CALLBACK(src, scanner, null)) - RegisterSignal(servant, COMSIG_OVERMAP_MOVED, .proc/ship_moved) + RegisterSignal(servant, COMSIG_OVERMAP_MOVED, PROC_REF(ship_moved)) /datum/mission/research/Destroy() scanner = null @@ -129,7 +129,7 @@ use_power = NO_POWER_USE power_change() // calls update_appearance(), makes sure we're powered -/obj/machinery/mission_scanner/update_icon_state() +/obj/machinery/mission_scanner/update_appearance(updates) . = ..() if(is_operational) icon_state = "scanner_power" diff --git a/code/modules/overmap/objects/dynamic_datum.dm b/code/modules/overmap/objects/dynamic_datum.dm index c6f0ed4a193e..82b77b513469 100644 --- a/code/modules/overmap/objects/dynamic_datum.dm +++ b/code/modules/overmap/objects/dynamic_datum.dm @@ -27,6 +27,8 @@ var/ruin_type /// list of ruins and their target turf, indexed by name var/list/ruin_turfs + /// Whether or not the level is currently loading. + var/loading = FALSE /// The mapgenerator itself. SHOULD NOT BE NULL if the datum ever creates an encounter var/datum/map_generator/mapgen = /datum/map_generator/single_turf/space @@ -68,6 +70,8 @@ return get_turf(pick(reserve_docks)) /datum/overmap/dynamic/pre_docked(datum/overmap/ship/controlled/dock_requester) + if(loading) + return new /datum/docking_ticket(_docking_error = "[src] is currently being scanned for suitable docking locations by another ship. Please wait.") if(!load_level()) return new /datum/docking_ticket(_docking_error = "[src] cannot be docked to.") else @@ -177,15 +181,21 @@ return FALSE if(mapzone) return TRUE + + loading = TRUE log_shuttle("[src] [REF(src)] LEVEL_INIT") + // use the ruin type in template if it exists, or pick from ruin list if IT exists; otherwise null var/selected_ruin = template || (ruin_type ? pickweightAllowZero(SSmapping.ruin_types_probabilities[ruin_type]) : null) var/list/dynamic_encounter_values = SSovermap.spawn_dynamic_encounter(src, selected_ruin) if(!length(dynamic_encounter_values)) return FALSE + mapzone = dynamic_encounter_values[1] reserve_docks = dynamic_encounter_values[2] ruin_turfs = dynamic_encounter_values[3] + + loading = FALSE return TRUE /datum/overmap/dynamic/empty diff --git a/code/modules/overmap/objects/outpost/elevator/elevator_machines.dm b/code/modules/overmap/objects/outpost/elevator/elevator_machines.dm index e4e32492e1de..bcd6f98a4d8e 100644 --- a/code/modules/overmap/objects/outpost/elevator/elevator_machines.dm +++ b/code/modules/overmap/objects/outpost/elevator/elevator_machines.dm @@ -50,7 +50,7 @@ var/down_arrow = my_floor.calls & DOWN ? "green_arrow" : "red_arrow" opts["Down"] = image(icon = 'icons/misc/arrows.dmi', icon_state = down_arrow, dir = SOUTH) - var/result = show_radial_menu(user, src, opts, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = !(issilicon(user) || isAdminGhostAI(user)), tooltips = TRUE) + var/result = show_radial_menu(user, src, opts, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = !(issilicon(user) || isAdminGhostAI(user)), tooltips = TRUE) if(!result || !my_floor || !my_floor.master) return switch(result) diff --git a/code/modules/overmap/objects/outpost/elevator/elevator_master.dm b/code/modules/overmap/objects/outpost/elevator/elevator_master.dm index 9bbc5e29d25d..2c934bb94aab 100644 --- a/code/modules/overmap/objects/outpost/elevator/elevator_master.dm +++ b/code/modules/overmap/objects/outpost/elevator/elevator_master.dm @@ -174,7 +174,7 @@ if(next_move != NONE) // sets in motion a chain of procs that will, after a bit, call check_move() again. - addtimer(CALLBACK(src, .proc/move_elevator, next_move), floor_move_time) + addtimer(CALLBACK(src, PROC_REF(move_elevator), next_move), floor_move_time) return // This is the only way the elevator may become idle: if it does not find anywhere to go on check_move(). @@ -255,10 +255,10 @@ cur_floor.calls &= ~seeking_dir cur_floor.button?.update_icon() - addtimer(CALLBACK(src, .proc/open_doors, cur_floor), door_open_time) - addtimer(CALLBACK(src, .proc/close_doors, cur_floor), door_open_time+floor_idle_time) + addtimer(CALLBACK(src, PROC_REF(open_doors), cur_floor), door_open_time) + addtimer(CALLBACK(src, PROC_REF(close_doors), cur_floor), door_open_time+floor_idle_time) // Continue the check_move() chain. - addtimer(CALLBACK(src, .proc/check_move), door_open_time+floor_idle_time+(1 SECONDS)) + addtimer(CALLBACK(src, PROC_REF(check_move)), door_open_time+floor_idle_time+(1 SECONDS)) /datum/elevator_master/proc/open_doors(datum/floor/d_floor) for(var/obj/machinery/door/fl_door as anything in d_floor.doors) @@ -267,13 +267,13 @@ if(!fl_door.wires.is_cut(WIRE_BOLTS)) fl_door.unlock() fl_door.autoclose = FALSE - INVOKE_ASYNC(fl_door, /obj/machinery/door.proc/open) + INVOKE_ASYNC(fl_door, TYPE_PROC_REF(/obj/machinery/door, open)) /datum/elevator_master/proc/close_doors(datum/floor/d_floor) for(var/obj/machinery/door/fl_door as anything in d_floor.doors) // respect the cut wire fl_door.autoclose = fl_door.wires.is_cut(WIRE_TIMING) - INVOKE_ASYNC(fl_door, /obj/machinery/door.proc/close) + INVOKE_ASYNC(fl_door, TYPE_PROC_REF(/obj/machinery/door, close)) // bolts can be lowered without power, or a cut wire (since if wire is cut they're automatically down) fl_door.lock() @@ -350,7 +350,7 @@ // you can always lower the bolts; doors are locked on floor creation to ensure no entry into shaft fl_door.lock() // don't want door refs hanging around - RegisterSignal(fl_door, COMSIG_PARENT_QDELETING, .proc/door_qdelete) + RegisterSignal(fl_door, COMSIG_PARENT_QDELETING, PROC_REF(door_qdelete)) // Deletion via means other than /datum/elevator_master/remove_floor() are likely to cause nasty elevator desyncs. /datum/floor/Destroy() diff --git a/code/modules/overmap/objects/outpost/elevator/elevator_platform.dm b/code/modules/overmap/objects/outpost/elevator/elevator_platform.dm index b530ee7e0435..03c8c66e4838 100644 --- a/code/modules/overmap/objects/outpost/elevator/elevator_platform.dm +++ b/code/modules/overmap/objects/outpost/elevator/elevator_platform.dm @@ -30,9 +30,9 @@ . = ..() var/static/list/connections = list( - COMSIG_ATOM_ENTERED = .proc/AddItemOnPlat, - COMSIG_ATOM_CREATED = .proc/AddItemOnPlat, - COMSIG_ATOM_EXITED = .proc/RemoveItemFromPlat + COMSIG_ATOM_ENTERED = PROC_REF(AddItemOnPlat), + COMSIG_ATOM_CREATED = PROC_REF(AddItemOnPlat), + COMSIG_ATOM_EXITED = PROC_REF(RemoveItemFromPlat) ) AddElement(/datum/element/connect_loc, connections) @@ -62,7 +62,7 @@ if(AM in lift_load) return LAZYADD(lift_load, AM) - RegisterSignal(AM, COMSIG_PARENT_QDELETING, .proc/RemoveItemFromPlat) + RegisterSignal(AM, COMSIG_PARENT_QDELETING, PROC_REF(RemoveItemFromPlat)) /obj/structure/elevator_platform/proc/RemoveItemFromPlat(datum/source, atom/movable/AM) SIGNAL_HANDLER diff --git a/code/modules/overmap/objects/outpost/outpost.dm b/code/modules/overmap/objects/outpost/outpost.dm index 8613d9ee62de..2d493a12b64a 100644 --- a/code/modules/overmap/objects/outpost/outpost.dm +++ b/code/modules/overmap/objects/outpost/outpost.dm @@ -33,9 +33,6 @@ /// The mapzone used by the outpost level and hangars. Using a single mapzone means networked radio messages. var/datum/map_zone/mapzone var/list/datum/hangar_shaft/shaft_datums = list() - /// A list keeping track of the docks that're currently being landed at. Helps to prevent SGTs, - /// as at time of writing there's no protection against a ship docking with a port that's already being docked to. - var/list/landing_in_progress_docks = list() // TODO: generalize this approach to prevent simultaneous-dock ship-overlap SGTs /// The maximum number of missions that may be offered by the outpost at one time. /// Missions which have been accepted do not count against this limit. @@ -65,7 +62,7 @@ Rename(gen_outpost_name()) fill_missions() - addtimer(CALLBACK(src, .proc/fill_missions), 10 MINUTES, TIMER_STOPPABLE|TIMER_LOOP|TIMER_DELETE_ME) + addtimer(CALLBACK(src, PROC_REF(fill_missions)), 10 MINUTES, TIMER_STOPPABLE|TIMER_LOOP|TIMER_DELETE_ME) /datum/overmap/outpost/Destroy(...) // cleanup our data structures. behavior here is currently relatively restrained; may be made more expansive in the future @@ -214,14 +211,10 @@ ) return FALSE - landing_in_progress_docks += h_dock adjust_dock_to_shuttle(h_dock, dock_requester.shuttle_port) return new /datum/docking_ticket(h_dock, src, dock_requester) /datum/overmap/outpost/post_docked(datum/overmap/ship/controlled/dock_requester) - // removes the stationary dock from the list, so that we don't have to worry about it causing merge SGTs - landing_in_progress_docks -= dock_requester.shuttle_port.docked - for(var/mob/M as anything in GLOB.player_list) if(dock_requester.shuttle_port.is_in_shuttle_bounds(M)) M.play_screen_text("[name]
[station_time_timestamp_fancy("hh:mm")]") @@ -288,7 +281,7 @@ // a dock/undock cycle may leave the stationary port w/ flipped width and height, // due to adjust_dock_to_shuttle(). so we need to check both orderings of the list. if( \ - !(h_dock in landing_in_progress_docks) && !h_dock.docked && \ + !h_dock.current_docking_ticket && !h_dock.docked && \ ( \ (h_dock.width == h_template.dock_width && h_dock.height == h_template.dock_height) || \ (h_dock.width == h_template.dock_height && h_dock.height == h_template.dock_width) \ diff --git a/code/modules/overmap/objects/outpost/outpost_types.dm b/code/modules/overmap/objects/outpost/outpost_types.dm index fd30ff4e8ab8..fb707213e5eb 100644 --- a/code/modules/overmap/objects/outpost/outpost_types.dm +++ b/code/modules/overmap/objects/outpost/outpost_types.dm @@ -12,6 +12,10 @@ /datum/map_template/outpost/elevator_test name = "elevator_test" +/datum/map_template/outpost/elevator_indie + name = "elevator_indie" + + /* Independent Space Outpost //creative name! */ @@ -81,8 +85,8 @@ /datum/overmap/outpost/indie_space token_icon_state = "station_1" main_template = /datum/map_template/outpost/indie_space - elevator_template = /datum/map_template/outpost/elevator_test - // Uses "test" hangars. + elevator_template = /datum/map_template/outpost/elevator_indie + // Uses "default" hangars (indie_space). /datum/overmap/outpost/nanotrasen_asteroid token_icon_state = "station_asteroid_0" diff --git a/code/modules/overmap/ships/controlled_ship_datum.dm b/code/modules/overmap/ships/controlled_ship_datum.dm index a04355197dd6..4397919593aa 100644 --- a/code/modules/overmap/ships/controlled_ship_datum.dm +++ b/code/modules/overmap/ships/controlled_ship_datum.dm @@ -77,7 +77,9 @@ shuttle_area.rename_area("[new_name] [initial(shuttle_area.name)]") if(!force) COOLDOWN_START(src, rename_cooldown, 5 MINUTES) - priority_announce("The [oldname] has been renamed to the [new_name].", "Docking Announcement", sender_override = new_name, zlevel = shuttle_port.virtual_z()) + if(shuttle_port?.virtual_z() == null) + return TRUE + priority_announce("The [oldname] has been renamed to the [new_name].", "Docking Announcement", sender_override = new_name, zlevel = shuttle_port?.virtual_z()) return TRUE /** @@ -103,7 +105,7 @@ ship_account = new(name, source_template.starting_funds) #ifdef UNIT_TESTS - Rename("[source_template]") + Rename("[source_template]", TRUE) #else Rename("[source_template.prefix] [pick_list_replacements(SHIP_NAMES_FILE, pick(source_template.name_categories))]", TRUE) #endif @@ -139,8 +141,10 @@ /datum/overmap/ship/controlled/pre_dock(datum/overmap/to_dock, datum/docking_ticket/ticket) if(ticket.target != src || ticket.issuer != to_dock) + ticket.docking_error = "Invalid target." return FALSE if(!shuttle_port.check_dock(ticket.target_port)) + ticket.docking_error = "Targeted docking port invalid." return FALSE return TRUE @@ -285,7 +289,7 @@ ) LAZYSET(owner_candidates, H.mind, mind_info) H.mind.original_ship = WEAKREF(src) - RegisterSignal(H.mind, COMSIG_PARENT_QDELETING, .proc/crew_mind_deleting) + RegisterSignal(H.mind, COMSIG_PARENT_QDELETING, PROC_REF(crew_mind_deleting)) if(!owner_mob) set_owner_mob(H) @@ -312,7 +316,7 @@ // turns out that timers don't get added to active_timers if the datum is getting qdeleted. // so this timer was sitting around after deletion and clogging up runtime logs. thus, the QDELING() check. oops! if(!owner_check_timer_id && !QDELING(src)) - owner_check_timer_id = addtimer(CALLBACK(src, .proc/check_owner), 5 MINUTES, TIMER_STOPPABLE|TIMER_LOOP|TIMER_DELETE_ME) + owner_check_timer_id = addtimer(CALLBACK(src, PROC_REF(check_owner)), 5 MINUTES, TIMER_STOPPABLE|TIMER_LOOP|TIMER_DELETE_ME) return owner_mob = new_owner @@ -326,8 +330,8 @@ if(!(owner_mind in owner_candidates)) stack_trace("[src] tried to set ship owner to [new_owner] despite its mind [new_owner.mind] not being in owner_candidates!") - RegisterSignal(owner_mob, COMSIG_MOB_LOGOUT, .proc/owner_mob_logout) - RegisterSignal(owner_mob, COMSIG_MOB_GO_INACTIVE, .proc/owner_mob_afk) + RegisterSignal(owner_mob, COMSIG_MOB_LOGOUT, PROC_REF(owner_mob_logout)) + RegisterSignal(owner_mob, COMSIG_MOB_GO_INACTIVE, PROC_REF(owner_mob_afk)) if(!owner_act) owner_act = new(src) owner_act.Grant(owner_mob) diff --git a/code/modules/overmap/ships/ship_application.dm b/code/modules/overmap/ships/ship_application.dm index cd8a1f48f5e9..7389759ea7ed 100644 --- a/code/modules/overmap/ships/ship_application.dm +++ b/code/modules/overmap/ships/ship_application.dm @@ -26,8 +26,8 @@ // these are registered so we can cancel the application fill-out if the ship // gets deleted before the application is finalized, or the character spawns in. // your currently-open tgui windows don't get removed if you spawn into a body - RegisterSignal(app_mob, COMSIG_PARENT_QDELETING, .proc/applicant_deleting) - RegisterSignal(parent_ship, COMSIG_PARENT_QDELETING, .proc/important_deleting_during_apply) + RegisterSignal(app_mob, COMSIG_PARENT_QDELETING, PROC_REF(applicant_deleting)) + RegisterSignal(parent_ship, COMSIG_PARENT_QDELETING, PROC_REF(important_deleting_during_apply)) /datum/ship_application/Destroy() SStgui.close_uis(src) diff --git a/code/modules/overmap/ships/ship_datum.dm b/code/modules/overmap/ships/ship_datum.dm index 9c68b0ed8ae2..ed8f40a28f64 100644 --- a/code/modules/overmap/ships/ship_datum.dm +++ b/code/modules/overmap/ships/ship_datum.dm @@ -30,7 +30,7 @@ /datum/overmap/ship/Initialize(position, ...) . = ..() if(docked_to) - RegisterSignal(docked_to, COMSIG_OVERMAP_MOVED, .proc/on_docked_to_moved) + RegisterSignal(docked_to, COMSIG_OVERMAP_MOVED, PROC_REF(on_docked_to_moved)) /datum/overmap/ship/Destroy() if(movement_callback_id) @@ -40,7 +40,7 @@ /datum/overmap/ship/complete_dock(datum/overmap/dock_target, datum/docking_ticket/ticket) . = ..() // override prevents runtime on controlled ship init due to docking after initializing at a position - RegisterSignal(dock_target, COMSIG_OVERMAP_MOVED, .proc/on_docked_to_moved, override = TRUE) + RegisterSignal(dock_target, COMSIG_OVERMAP_MOVED, PROC_REF(on_docked_to_moved), override = TRUE) /datum/overmap/ship/complete_undock() UnregisterSignal(docked_to, COMSIG_OVERMAP_MOVED) @@ -83,7 +83,7 @@ return var/timer = 1 / MAGNITUDE(speed_x, speed_y) * offset - movement_callback_id = addtimer(CALLBACK(src, .proc/tick_move), timer, TIMER_STOPPABLE, SSovermap_movement) + movement_callback_id = addtimer(CALLBACK(src, PROC_REF(tick_move)), timer, TIMER_STOPPABLE, SSovermap_movement) /** * Called by [/datum/overmap/ship/proc/adjust_speed], this continually moves the ship according to its speed @@ -106,7 +106,7 @@ return var/timer = 1 / current_speed - movement_callback_id = addtimer(CALLBACK(src, .proc/tick_move), timer, TIMER_STOPPABLE, SSovermap_movement) + movement_callback_id = addtimer(CALLBACK(src, PROC_REF(tick_move)), timer, TIMER_STOPPABLE, SSovermap_movement) token.update_screen() /** diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm index b919078a97f7..0dd736ce9936 100644 --- a/code/modules/paperwork/contract.dm +++ b/code/modules/paperwork/contract.dm @@ -244,7 +244,7 @@ user.visible_message("With a sudden blaze, [H] stands back up.") H.fakefire() fulfillContract(H, TRUE)//Revival contracts are always signed in blood - addtimer(CALLBACK(H, /mob/living/carbon/human.proc/fakefireextinguish), 5, TIMER_UNIQUE) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human, fakefireextinguish)), 5, TIMER_UNIQUE) addtimer(CALLBACK(src, "resetcooldown"), 300, TIMER_UNIQUE) else ..() diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index bd232fd566e3..f85bd0bc77f9 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -133,23 +133,23 @@ return FALSE // Basic paper if(istype(paper_copy, /obj/item/paper)) - do_copy_loop(CALLBACK(src, .proc/make_paper_copy), usr) + do_copy_loop(CALLBACK(src, PROC_REF(make_paper_copy)), usr) return TRUE // Devil contract paper. if(istype(paper_copy, /obj/item/paper/contract/employment)) - do_copy_loop(CALLBACK(src, .proc/make_devil_paper_copy), usr) + do_copy_loop(CALLBACK(src, PROC_REF(make_devil_paper_copy)), usr) return TRUE // Copying photo. if(photo_copy) - do_copy_loop(CALLBACK(src, .proc/make_photo_copy), usr) + do_copy_loop(CALLBACK(src, PROC_REF(make_photo_copy)), usr) return TRUE // Copying Documents. if(document_copy) - do_copy_loop(CALLBACK(src, .proc/make_document_copy), usr) + do_copy_loop(CALLBACK(src, PROC_REF(make_document_copy)), usr) return TRUE // ASS COPY. By Miauw if(ass) - do_copy_loop(CALLBACK(src, .proc/make_ass_copy), usr) + do_copy_loop(CALLBACK(src, PROC_REF(make_ass_copy)), usr) return TRUE // Remove the paper/photo/document from the photocopier. @@ -211,7 +211,7 @@ if (toner_cartridge.charges - PAPER_TONER_USE < 0) to_chat(usr, span_warning("There is not enough toner in [src] to print the form, please replace the cartridge.")) return FALSE - do_copy_loop(CALLBACK(src, .proc/make_blank_print), usr) + do_copy_loop(CALLBACK(src, PROC_REF(make_blank_print)), usr) var/obj/item/paper/printblank = new /obj/item/paper (loc) var/printname = params["name"] var/list/printinfo @@ -248,7 +248,7 @@ var/i for(i in 1 to copies) addtimer(copy_cb, i SECONDS) - addtimer(CALLBACK(src, .proc/reset_busy), i SECONDS) + addtimer(CALLBACK(src, PROC_REF(reset_busy)), i SECONDS) /** * Sets busy to `FALSE`. Created as a proc so it can be used in callbacks. diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm index 24a256282fad..c645b3108b47 100644 --- a/code/modules/paperwork/ticketmachine.dm +++ b/code/modules/paperwork/ticketmachine.dm @@ -187,7 +187,7 @@ tickets += theirticket if(obj_flags & EMAGGED) //Emag the machine to destroy the HOP's life. ready = FALSE - addtimer(CALLBACK(src, .proc/reset_cooldown), cooldown)//Small cooldown to prevent piles of flaming tickets + addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), cooldown)//Small cooldown to prevent piles of flaming tickets theirticket.fire_act() user.dropItemToGround(theirticket) user.adjust_fire_stacks(1) diff --git a/code/modules/photography/camera/camera.dm b/code/modules/photography/camera/camera.dm index 7ef48e8e8240..93b8319dbed7 100644 --- a/code/modules/photography/camera/camera.dm +++ b/code/modules/photography/camera/camera.dm @@ -144,11 +144,11 @@ var/mob/living/carbon/human/H = user if (HAS_TRAIT(H, TRAIT_PHOTOGRAPHER)) realcooldown *= 0.5 - addtimer(CALLBACK(src, .proc/cooldown), realcooldown) + addtimer(CALLBACK(src, PROC_REF(cooldown)), realcooldown) icon_state = state_off - INVOKE_ASYNC(src, .proc/captureimage, target, user, flag, picture_size_x - 1, picture_size_y - 1) + INVOKE_ASYNC(src, PROC_REF(captureimage), target, user, flag, picture_size_x - 1, picture_size_y - 1) /obj/item/camera/proc/cooldown() @@ -166,7 +166,7 @@ /obj/item/camera/proc/captureimage(atom/target, mob/user, flag, size_x = 1, size_y = 1) if(flash_enabled) set_light_on(TRUE) - addtimer(CALLBACK(src, .proc/flash_end), FLASH_LIGHT_DURATION, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(flash_end)), FLASH_LIGHT_DURATION, TIMER_OVERRIDE|TIMER_UNIQUE) blending = TRUE var/turf/target_turf = get_turf(target) if(!isturf(target_turf)) diff --git a/code/modules/plumbing/plumbers/_plumb_machinery.dm b/code/modules/plumbing/plumbers/_plumb_machinery.dm index 19bc21239ac4..5a9d9192dbbf 100644 --- a/code/modules/plumbing/plumbers/_plumb_machinery.dm +++ b/code/modules/plumbing/plumbers/_plumb_machinery.dm @@ -26,7 +26,7 @@ . = ..() anchored = bolt create_reagents(buffer, reagent_flags) - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, .proc/can_be_rotated)) + AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated))) /obj/machinery/plumbing/proc/can_be_rotated(mob/user,rotation_type) return !anchored diff --git a/code/modules/plumbing/plumbers/grinder_chemical.dm b/code/modules/plumbing/plumbers/grinder_chemical.dm index 4a9be6160916..e192c54673c7 100644 --- a/code/modules/plumbing/plumbers/grinder_chemical.dm +++ b/code/modules/plumbing/plumbers/grinder_chemical.dm @@ -13,7 +13,7 @@ . = ..() AddComponent(/datum/component/plumbing/simple_supply, bolt) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered + COMSIG_ATOM_ENTERED = PROC_REF(on_entered) ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/point/point.dm b/code/modules/point/point.dm index fd8a8e1a510c..e959304efe4f 100644 --- a/code/modules/point/point.dm +++ b/code/modules/point/point.dm @@ -102,7 +102,7 @@ if(istype(A, /obj/effect/temp_visual/point)) return FALSE - DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, .proc/_pointed, A)) + DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, PROC_REF(_pointed), A)) /// possibly delayed verb that finishes the pointing process starting in [/mob/verb/pointed()]. /// either called immediately or in the tick after pointed() was called, as per the [DEFAULT_QUEUE_OR_CALL_VERB()] macro diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index f8156a97a5d4..ec83de125baa 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -243,7 +243,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) name = "\improper [get_area_name(area, TRUE)] APC" set_machine_stat(machine_stat | MAINT) update_appearance() - addtimer(CALLBACK(src, .proc/update), 5) + addtimer(CALLBACK(src, PROC_REF(update)), 5) /obj/machinery/power/apc/Destroy() GLOB.apcs_list -= src @@ -307,7 +307,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) make_terminal() - addtimer(CALLBACK(src, .proc/update), 5) + addtimer(CALLBACK(src, PROC_REF(update)), 5) /obj/machinery/power/apc/examine(mob/user) . = ..() @@ -1083,7 +1083,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) for(var/obj/machinery/light/L in area) if(!initial(L.no_emergency)) //If there was an override set on creation, keep that override L.no_emergency = emergency_lights - INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE) + INVOKE_ASYNC(L, TYPE_PROC_REF(/obj/machinery/light, update), FALSE) CHECK_TICK return 1 @@ -1106,7 +1106,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) return to_chat(malf, "Beginning override of APC systems. This takes some time, and you cannot perform other actions during the process.") malf.malfhack = src - malf.malfhacking = addtimer(CALLBACK(malf, /mob/living/silicon/ai/.proc/malfhacked, src), 600, TIMER_STOPPABLE) + malf.malfhacking = addtimer(CALLBACK(malf, TYPE_PROC_REF(/mob/living/silicon/ai, malfhacked), src), 600, TIMER_STOPPABLE) var/atom/movable/screen/alert/hackingapc/A A = malf.throw_alert("hackingapc", /atom/movable/screen/alert/hackingapc) @@ -1129,7 +1129,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) to_chat(malf, "Temporarily masking AI subroutines in APC. Expected duration: [duration] seconds") malf.malfhack = src - malf.malfhacking = addtimer(CALLBACK(src, /obj/machinery/power/apc/proc/malfunhidehack, malf), duration, TIMER_STOPPABLE) + malf.malfhacking = addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/power/apc, malfunhidehack), malf), duration, TIMER_STOPPABLE) var/atom/movable/screen/alert/hackingapc/A A = malf.throw_alert("hackingapc", /atom/movable/screen/alert/hackingapc) @@ -1146,7 +1146,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) malf.clear_alert("hackingapc") malfhackhide = -1 - malfhackhidecooldown = addtimer(CALLBACK(src, /obj/machinery/power/apc/proc/malfhiderestore, malf), 600, TIMER_STOPPABLE) + malfhackhidecooldown = addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/power/apc, malfhiderestore), malf), 600, TIMER_STOPPABLE) /obj/machinery/power/apc/proc/malfhiderestore(mob/living/silicon/ai/malf) if(src.machine_stat & BROKEN) @@ -1494,7 +1494,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) environ = APC_CHANNEL_OFF update_appearance() update() - addtimer(CALLBACK(src, .proc/reset, APC_RESET_EMP), 600) + addtimer(CALLBACK(src, PROC_REF(reset), APC_RESET_EMP), 600) /obj/machinery/power/apc/blob_act(obj/structure/blob/B) set_broken() @@ -1520,7 +1520,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) return if(cell && cell.charge>=20) cell.use(20) - INVOKE_ASYNC(src, .proc/break_lights) + INVOKE_ASYNC(src, PROC_REF(break_lights)) /obj/machinery/power/apc/proc/break_lights() for(var/obj/machinery/light/L in area) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index cec3440d1319..3f85acdddfe6 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -457,7 +457,7 @@ GLOBAL_LIST_INIT(cable_colors, list( moveToNullspace() powernet.remove_cable(src) //remove the cut cable from its powernet - addtimer(CALLBACK(O, .proc/auto_propogate_cut_cable, O), 0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables + addtimer(CALLBACK(O, PROC_REF(auto_propogate_cut_cable), O), 0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables // Disconnect machines connected to nodes if(d1 == 0) // if we cut a node (O-X) cable diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 66f1f74f11c1..0f84b5571382 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -412,7 +412,7 @@ maxcharge = 10000 custom_materials = list(/datum/material/glass=60) chargerate = 1500 - rating = 0 //gun batteries now incompatible with RPED WS edit + rating = 0 //Makes it incompatible with RPED /obj/item/stock_parts/cell/gun/empty/Initialize() . = ..() @@ -476,6 +476,19 @@ charge = 0 update_appearance() +/obj/item/stock_parts/cell/gun/kalix + name = "Etherbor EWC-5" + desc = "Brought to you by Etherbor Industries, proudly based within the PGF, is the EWC-5, an energy cell compatible with any Etherbor Industries energy weapons." + icon_state = "kalix-cell" + maxcharge = 12750 // 15 shots at 850 energy per + chargerate = 1750 + +/obj/item/stock_parts/cell/gun/pgf + name = "Etherbor EWC-6m" + desc = "Exclusive only to the PGF military, the EWC-6m is an Etherbor energy weapon cell designed for military-grade use, including expanded capacity and output." + icon_state = "pgf-cell" + maxcharge = 20000 // 20 shots at 1000 energy per + chargerate = 2000 #undef CELL_DRAIN_TIME #undef CELL_POWER_GAIN diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 7f2f3c3efbe9..24b106f0241f 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -357,7 +357,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/built, 28) brightness = 4 if(prob(5)) break_light_tube(1) - addtimer(CALLBACK(src, .proc/update, 0), 1) + addtimer(CALLBACK(src, PROC_REF(update), 0), 1) /obj/machinery/light/Destroy() var/area/A = get_area(src) @@ -451,7 +451,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/built, 28) if(!start_only) do_sparks(3, TRUE, src) var/delay = rand(BROKEN_SPARKS_MIN, BROKEN_SPARKS_MAX) - addtimer(CALLBACK(src, .proc/broken_sparks), delay, TIMER_UNIQUE | TIMER_NO_HASH_WAIT) + addtimer(CALLBACK(src, PROC_REF(broken_sparks)), delay, TIMER_UNIQUE | TIMER_NO_HASH_WAIT) /obj/machinery/light/process() if (!cell) @@ -877,7 +877,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/built, 28) . = ..() update() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered + COMSIG_ATOM_ENTERED = PROC_REF(on_entered) ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/power/multiz.dm b/code/modules/power/multiz.dm index 2ce27c356cfd..b98f107055cb 100644 --- a/code/modules/power/multiz.dm +++ b/code/modules/power/multiz.dm @@ -110,7 +110,7 @@ /obj/machinery/power/deck_relay/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/find_relays), 30) + addtimer(CALLBACK(src, PROC_REF(find_relays)), 30) ///Handles re-acquiring + merging powernets found by find_relays() /obj/machinery/power/deck_relay/proc/refresh() @@ -152,5 +152,5 @@ above.below = src if(below) below.above = src - addtimer(CALLBACK(src, .proc/refresh), 20) //Wait a bit so we can find the one below, then get powering + addtimer(CALLBACK(src, PROC_REF(refresh)), 20) //Wait a bit so we can find the one below, then get powering return TRUE diff --git a/code/modules/power/rtg.dm b/code/modules/power/rtg.dm index b5c2a2a35b89..1645afe9832b 100644 --- a/code/modules/power/rtg.dm +++ b/code/modules/power/rtg.dm @@ -76,7 +76,7 @@ "You hear a loud electrical crack!") playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) tesla_zap(src, 5, power_gen * 0.05) - addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, get_turf(src), 2, 3, 4, 8), 100) // Not a normal explosion. + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(explosion), get_turf(src), 2, 3, 4, 8), 100) // Not a normal explosion. /obj/machinery/power/rtg/abductor/bullet_act(obj/projectile/Proj) . = ..() diff --git a/code/modules/power/singularity/boh_tear.dm b/code/modules/power/singularity/boh_tear.dm index a0a90a4a1045..7d870f8523c8 100644 --- a/code/modules/power/singularity/boh_tear.dm +++ b/code/modules/power/singularity/boh_tear.dm @@ -45,4 +45,4 @@ to_chat(user, "You don't feel like you are real anymore.") user.dust_animation() user.spawn_dust() - addtimer(CALLBACK(src, .proc/consume, user), 5) + addtimer(CALLBACK(src, PROC_REF(consume), user), 5) diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index 289c43c3e3bc..77c400ae2b07 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -22,7 +22,7 @@ air_update_turf(TRUE) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered + COMSIG_ATOM_ENTERED = PROC_REF(on_entered) ) AddElement(/datum/element/connect_loc, loc_connections) @@ -149,4 +149,4 @@ do_sparks(5, TRUE, AM.loc) var/atom/target = get_edge_target_turf(AM, get_dir(src, get_step_away(AM, src))) AM.throw_at(target, 200, 4) - addtimer(CALLBACK(src, .proc/clear_shock), 5) + addtimer(CALLBACK(src, PROC_REF(clear_shock)), 5) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 05bd1e648032..e6b09920de63 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -28,7 +28,7 @@ var/allow_switch_interact = TRUE var/projectile_type = /obj/projectile/beam/emitter/hitscan //WS - Hitscan emitters - var/projectile_sound = 'sound/weapons/emitter.ogg' + var/projectile_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' var/datum/effect_system/spark_spread/sparks var/obj/item/gun/energy/gun @@ -113,7 +113,7 @@ /obj/machinery/power/emitter/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, .proc/can_be_rotated)) + AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated))) /obj/machinery/power/emitter/proc/can_be_rotated(mob/user,rotation_type) if (anchored) diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index d11479a5ac74..d3e7a31d4cb9 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -193,8 +193,8 @@ field_generator power level display active = FG_OFFLINE CanAtmosPass = ATMOS_PASS_YES air_update_turf(TRUE) - INVOKE_ASYNC(src, .proc/cleanup) - addtimer(CALLBACK(src, .proc/cool_down), 50) + INVOKE_ASYNC(src, PROC_REF(cleanup)) + addtimer(CALLBACK(src, PROC_REF(cool_down)), 50) /obj/machinery/field/generator/proc/cool_down() if(active || warming_up <= 0) @@ -202,11 +202,11 @@ field_generator power level display warming_up-- update_appearance() if(warming_up > 0) - addtimer(CALLBACK(src, .proc/cool_down), 50) + addtimer(CALLBACK(src, PROC_REF(cool_down)), 50) /obj/machinery/field/generator/proc/turn_on() active = FG_CHARGING - addtimer(CALLBACK(src, .proc/warm_up), 50) + addtimer(CALLBACK(src, PROC_REF(warm_up)), 50) /obj/machinery/field/generator/proc/warm_up() if(!active) @@ -216,7 +216,7 @@ field_generator power level display if(warming_up >= 3) start_fields() else - addtimer(CALLBACK(src, .proc/warm_up), 50) + addtimer(CALLBACK(src, PROC_REF(warm_up)), 50) /obj/machinery/field/generator/proc/calc_power(set_power_draw) var/power_draw = 2 + fields.len @@ -271,10 +271,10 @@ field_generator power level display move_resist = INFINITY CanAtmosPass = ATMOS_PASS_NO air_update_turf(TRUE) - addtimer(CALLBACK(src, .proc/setup_field, 1), 1) - addtimer(CALLBACK(src, .proc/setup_field, 2), 2) - addtimer(CALLBACK(src, .proc/setup_field, 4), 3) - addtimer(CALLBACK(src, .proc/setup_field, 8), 4) + addtimer(CALLBACK(src, PROC_REF(setup_field), 1), 1) + addtimer(CALLBACK(src, PROC_REF(setup_field), 2), 2) + addtimer(CALLBACK(src, PROC_REF(setup_field), 4), 3) + addtimer(CALLBACK(src, PROC_REF(setup_field), 8), 4) addtimer(VARSET_CALLBACK(src, active, FG_ONLINE), 5) /obj/machinery/field/generator/proc/setup_field(NSEW) @@ -348,7 +348,7 @@ field_generator power level display //This is here to help fight the "hurr durr, release singulo cos nobody will notice before the //singulo eats the evidence". It's not fool-proof but better than nothing. //I want to avoid using global variables. - INVOKE_ASYNC(src, .proc/notify_admins) + INVOKE_ASYNC(src, PROC_REF(notify_admins)) move_resist = initial(move_resist) diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index ee61bccbad51..81f12838c0d3 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -68,7 +68,7 @@ if(player.stat != DEAD && player.loc && !iscultist(player) && !isanimal(player)) souls_needed[player] = TRUE soul_goal = round(1 + LAZYLEN(souls_needed) * 0.75) - INVOKE_ASYNC(GLOBAL_PROC, .proc/begin_the_end) + INVOKE_ASYNC(GLOBAL_PROC, PROC_REF(begin_the_end)) /proc/begin_the_end() SSredbot.send_discord_message("admin","Nar'sie has been summoned.","round ending event") @@ -77,7 +77,7 @@ priority_announce("Status report? We detected a anomaly, but it disappeared almost immediately.","Central Command Higher Dimensional Affairs", 'sound/misc/notice1.ogg') GLOB.cult_narsie = null sleep(20) - INVOKE_ASYNC(GLOBAL_PROC, .proc/cult_ending_helper, 2) + INVOKE_ASYNC(GLOBAL_PROC, PROC_REF(cult_ending_helper), 2) return priority_announce("An acausal dimensional event has been detected in your sector. Event has been flagged EXTINCTION-CLASS. Directing all available assets toward simulating solutions. SOLUTION ETA: 60 SECONDS.","Central Command Higher Dimensional Affairs", 'sound/misc/airraid.ogg') sleep(500) @@ -85,7 +85,7 @@ priority_announce("Simulations aborted, sensors report that the acasual event is normalizing. Good work, crew.","Central Command Higher Dimensional Affairs", 'sound/misc/notice1.ogg') GLOB.cult_narsie = null sleep(20) - INVOKE_ASYNC(GLOBAL_PROC, .proc/cult_ending_helper, 2) + INVOKE_ASYNC(GLOBAL_PROC, PROC_REF(cult_ending_helper), 2) return priority_announce("Simulations on acausal dimensional event complete. Deploying solution package now. Deployment ETA: ONE MINUTE. ","Central Command Higher Dimensional Affairs") sleep(50) @@ -98,12 +98,12 @@ sleep(20) set_security_level("red") SSshuttle.lockdown = FALSE - INVOKE_ASYNC(GLOBAL_PROC, .proc/cult_ending_helper, 2) + INVOKE_ASYNC(GLOBAL_PROC, PROC_REF(cult_ending_helper), 2) return if(GLOB.cult_narsie.resolved == FALSE) GLOB.cult_narsie.resolved = TRUE sound_to_playing_players('sound/machines/alarm.ogg') - addtimer(CALLBACK(GLOBAL_PROC, .proc/cult_ending_helper), 120) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(cult_ending_helper)), 120) /obj/singularity/narsie/large/cult/Destroy() send_to_playing_players("\"[pick("Nooooo...", "Not die. How-", "Die. Mort-", "Sas tyen re-")]\"") @@ -125,11 +125,11 @@ /proc/cult_ending_helper(ending_type = 0) if(ending_type == 2) //narsie fukkin died - Cinematic(CINEMATIC_CULT_FAIL,world,CALLBACK(GLOBAL_PROC,/proc/ending_helper)) + Cinematic(CINEMATIC_CULT_FAIL,world,CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ending_helper))) else if(ending_type) //no explosion - Cinematic(CINEMATIC_CULT,world,CALLBACK(GLOBAL_PROC,/proc/ending_helper)) + Cinematic(CINEMATIC_CULT,world,CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ending_helper))) else // explosion - Cinematic(CINEMATIC_CULT_NUKE,world,CALLBACK(GLOBAL_PROC,/proc/ending_helper)) + Cinematic(CINEMATIC_CULT_NUKE,world,CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ending_helper))) //ATTACK GHOST IGNORING PARENT RETURN VALUE /obj/singularity/narsie/large/attack_ghost(mob/dead/observer/user as mob) @@ -230,7 +230,7 @@ setDir(SOUTH) move_self = FALSE flick("narsie_spawn_anim",src) - addtimer(CALLBACK(src, .proc/narsie_spawn_animation_end), 3.5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(narsie_spawn_animation_end)), 3.5 SECONDS) /obj/singularity/narsie/proc/narsie_spawn_animation_end() move_self = TRUE diff --git a/code/modules/power/singularity/particle_accelerator/particle.dm b/code/modules/power/singularity/particle_accelerator/particle.dm index 01e4d0324857..b593d3f546bb 100644 --- a/code/modules/power/singularity/particle_accelerator/particle.dm +++ b/code/modules/power/singularity/particle_accelerator/particle.dm @@ -23,10 +23,10 @@ /obj/effect/accelerated_particle/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/move), 1) + addtimer(CALLBACK(src, PROC_REF(move)), 1) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered + COMSIG_ATOM_ENTERED = PROC_REF(on_entered) ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index d14bacdf0a0e..93ed8a5d606d 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -45,9 +45,9 @@ target = singubeacon break AddElement(/datum/element/bsa_blocker) - RegisterSignal(src, COMSIG_ATOM_BSA_BEAM, .proc/bluespace_reaction) + RegisterSignal(src, COMSIG_ATOM_BSA_BEAM, PROC_REF(bluespace_reaction)) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered + COMSIG_ATOM_ENTERED = PROC_REF(on_entered) ) AddElement(/datum/element/connect_loc, loc_connections) @@ -480,7 +480,7 @@ /obj/singularity/deadchat_controlled/Initialize(mapload, starting_energy) . = ..() AddComponent(/datum/component/deadchat_control, DEMOCRACY_MODE, list( - "up" = CALLBACK(GLOBAL_PROC, .proc/_step, src, NORTH), - "down" = CALLBACK(GLOBAL_PROC, .proc/_step, src, SOUTH), - "left" = CALLBACK(GLOBAL_PROC, .proc/_step, src, WEST), - "right" = CALLBACK(GLOBAL_PROC, .proc/_step, src, EAST))) + "up" = CALLBACK(GLOBAL_PROC, PROC_REF(_step), src, NORTH), + "down" = CALLBACK(GLOBAL_PROC, PROC_REF(_step), src, SOUTH), + "left" = CALLBACK(GLOBAL_PROC, PROC_REF(_step), src, WEST), + "right" = CALLBACK(GLOBAL_PROC, PROC_REF(_step), src, EAST))) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index dfe24e46cb5b..6068b8725f10 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -440,7 +440,7 @@ . = ..() if(. & EMP_PROTECT_SELF) return - emp_timer = addtimer(CALLBACK(src, .proc/emp_end, output_attempt), SMESEMPTIME, TIMER_UNIQUE | TIMER_OVERRIDE) + emp_timer = addtimer(CALLBACK(src, PROC_REF(emp_end), output_attempt), SMESEMPTIME, TIMER_UNIQUE | TIMER_OVERRIDE) is_emped = TRUE input_attempt = rand(0,1) inputting = input_attempt diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index b35974b8b930..8ca409051d6c 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -33,7 +33,7 @@ panel.layer = FLY_LAYER Make(S) connect_to_network() - RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/queue_update_solar_exposure) + RegisterSignal(SSsun, COMSIG_SUN_MOVED, PROC_REF(queue_update_solar_exposure)) /obj/machinery/power/solar/Destroy() UnregisterSignal(SSsun, COMSIG_SUN_MOVED) @@ -343,7 +343,7 @@ /obj/machinery/power/solar_control/Initialize() . = ..() azimuth_rate = SSsun.base_rotation - RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/timed_track) + RegisterSignal(SSsun, COMSIG_SUN_MOVED, PROC_REF(timed_track)) connect_to_network() if(powernet) set_panels(azimuth_target) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index f34a268738d5..5593744219d0 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -285,7 +285,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) GLOB.main_supermatter_engine = src AddElement(/datum/element/bsa_blocker) - RegisterSignal(src, COMSIG_ATOM_BSA_BEAM, .proc/call_explode) + RegisterSignal(src, COMSIG_ATOM_BSA_BEAM, PROC_REF(call_explode)) soundloop = new(list(src), TRUE) @@ -1111,7 +1111,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) else if(isliving(target))//If we got a fleshbag on our hands var/mob/living/creature = target creature.set_shocked() - addtimer(CALLBACK(creature, /mob/living/proc/reset_shocked), 10) + addtimer(CALLBACK(creature, TYPE_PROC_REF(/mob/living, reset_shocked)), 10) //3 shots a human with no resistance. 2 to crit, one to death. This is at at least 10000 power. //There's no increase after that because the input power is effectivly capped at 10k //Does 1.5 damage at the least diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index f7ae1b53bb98..82372d221baf 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -101,7 +101,7 @@ D.adjust_money(min(power_produced, 1)) if(istype(linked_techweb) && (zap_flags & ZAP_GIVES_RESEARCH) && can_generate_research) linked_techweb.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, min(power_produced, 3)) // x4 coils = 12 points a shock for RND, if they even bothered to link the server. - addtimer(CALLBACK(src, .proc/reset_shocked), 10) + addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 10) zap_buckle_check(power) playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) return power_produced @@ -140,7 +140,7 @@ D.adjust_money(min(power_produced, 12)) if(istype(linked_techweb) && (zap_flags & ZAP_GIVES_RESEARCH)) linked_techweb.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, min(power_produced, 25)) // x4 coils = 100 points per shock, which is a good reward for building a research tesla or electrical storm harvest ship - addtimer(CALLBACK(src, .proc/reset_shocked), 10) + addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 10) zap_buckle_check(power) playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) return power_produced diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index 88762101c32f..fbece73764a4 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -107,7 +107,7 @@ energy_to_raise = energy_to_raise * 1.25 playsound(src.loc, 'sound/magic/lightning_chargeup.ogg', 100, TRUE, extrarange = 30) - addtimer(CALLBACK(src, .proc/new_mini_ball), 100) + addtimer(CALLBACK(src, PROC_REF(new_mini_ball)), 100) else if(energy < energy_to_lower && orbiting_balls.len) energy_to_raise = energy_to_raise / 1.25 @@ -313,7 +313,7 @@ if(closest_type == LIVING) var/mob/living/closest_mob = closest_atom closest_mob.set_shocked() - addtimer(CALLBACK(closest_mob, /mob/living/proc/reset_shocked), 10) + addtimer(CALLBACK(closest_mob, TYPE_PROC_REF(/mob/living, reset_shocked)), 10) var/shock_damage = (zap_flags & ZAP_MOB_DAMAGE) ? (min(round(power/600), 90) + rand(-5, 5)) : 0 closest_mob.electrocute_act(shock_damage, source, 1, SHOCK_TESLA | ((zap_flags & ZAP_MOB_STUN) ? NONE : SHOCK_NOSTUN)) if(issilicon(closest_mob)) diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm index 4b3f9b760fd6..bfd0464f5e13 100644 --- a/code/modules/power/tracker.dm +++ b/code/modules/power/tracker.dm @@ -20,7 +20,7 @@ . = ..() Make(S) connect_to_network() - RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/sun_update) + RegisterSignal(SSsun, COMSIG_SUN_MOVED, PROC_REF(sun_update)) /obj/machinery/power/tracker/Destroy() unset_control() //remove from control computer diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index 6222f147861e..e0b5c0608b9d 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -23,7 +23,7 @@ /// The sound played when this ammo is fired by an energy gun. var/fire_sound = null /// The visual effect that appears when the ammo is fired. - var/firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect + var/firing_effect_type /// Enables casing spinning and sizzling after being ejected from a gun. var/heavy_metal = TRUE /// If true, the casing's sprite will automatically be transformed in Initialize(). @@ -36,6 +36,8 @@ var/delay = 0 //Delay for energy weapons var/click_cooldown_override = 0 //Override this to make your gun have a faster fire rate, in tenths of a second. 4 is the default gun cooldown. + var/list/bounce_sfx_override // if true, overrides the bouncing sfx from the turf to this one + /obj/item/ammo_casing/spent name = "spent bullet casing" @@ -104,7 +106,10 @@ update_appearance() SpinAnimation(10, 1) var/turf/T = get_turf(src) + if(bounce_sfx_override) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(playsound), src, pick(bounce_sfx_override), 20, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them. + return if(still_warm && T && T.bullet_sizzle) - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, 'sound/items/welder.ogg', 20, 1), bounce_delay) //If the turf is made of water and the shell casing is still hot, make a sizzling sound when it's ejected. + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, 'sound/items/welder.ogg', 20, 1), bounce_delay) //If the turf is made of water and the shell casing is still hot, make a sizzling sound when it's ejected. else if(T && T.bullet_bounce_sound) - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, T.bullet_bounce_sound, 20, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them. + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, pick(T.bullet_bounce_sound), 20, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them. diff --git a/code/modules/projectiles/ammunition/ballistic/pistol.dm b/code/modules/projectiles/ammunition/ballistic/pistol.dm index 15abfdb02e10..b9237ea91b4d 100644 --- a/code/modules/projectiles/ammunition/ballistic/pistol.dm +++ b/code/modules/projectiles/ammunition/ballistic/pistol.dm @@ -127,3 +127,11 @@ name = ".50 AE hollow point bullet casing" desc = "A .50 AE hollow point bullet casing." projectile_type = /obj/projectile/bullet/a50AE/hp + +// .22 LR (Himehabu) +/obj/item/ammo_casing/c22lr + name = ".22 LR bullet casing" + desc = "A .22 LR bullet casing." + projectile_type = /obj/projectile/bullet/c22lr + caliber = "22lr" + diff --git a/code/modules/projectiles/ammunition/ballistic/rifle.dm b/code/modules/projectiles/ammunition/ballistic/rifle.dm index ff6c42284055..63c8340e99bd 100644 --- a/code/modules/projectiles/ammunition/ballistic/rifle.dm +++ b/code/modules/projectiles/ammunition/ballistic/rifle.dm @@ -86,3 +86,10 @@ icon_state = "rifle-steel" caliber = ".308 Winchester" projectile_type = /obj/projectile/bullet/win308 + +/obj/item/ammo_casing/caseless/c299 + name = ".229 Eoehoma caseless bullet casing" + desc = "A .229 Eoehoma caseless bullet casing." + icon_state = "caseless" + caliber = ".299 caseless" + projectile_type = /obj/projectile/bullet/c299 diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index 9f74727086e5..b297ee30e776 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -9,6 +9,8 @@ custom_materials = list(/datum/material/iron=4000) projectile_type = /obj/projectile/bullet/slug + bounce_sfx_override = 'sound/weapons/gun/general/bulletcasing_shotgun_bounce.ogg' + /obj/item/ammo_casing/shotgun/update_icon_state() icon_state = "[initial(icon_state)][BB ? "" : "-spent"]" return ..() diff --git a/code/modules/projectiles/ammunition/energy/_energy.dm b/code/modules/projectiles/ammunition/energy/_energy.dm index 25dae693dbab..c82e01306c0a 100644 --- a/code/modules/projectiles/ammunition/energy/_energy.dm +++ b/code/modules/projectiles/ammunition/energy/_energy.dm @@ -5,7 +5,7 @@ projectile_type = /obj/projectile/energy var/e_cost = 1000 //The amount of energy a cell needs to expend to create this shot. var/select_name = "energy" - fire_sound = 'sound/weapons/laser.ogg' + fire_sound = 'sound/weapons/gun/laser/nt-fire.ogg' firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/energy heavy_metal = FALSE delay = 5 diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm index 05653dab0bd8..dd68cd2e5619 100644 --- a/code/modules/projectiles/ammunition/energy/laser.dm +++ b/code/modules/projectiles/ammunition/energy/laser.dm @@ -2,15 +2,36 @@ projectile_type = /obj/projectile/beam/laser select_name = "kill" +/obj/item/ammo_casing/energy/laser/eoehoma + projectile_type = /obj/projectile/beam/laser/eoehoma + fire_sound = 'sound/weapons/gun/laser/e-fire.ogg' + +/obj/item/ammo_casing/energy/laser/assault + projectile_type = /obj/projectile/beam/laser/assault + fire_sound = 'sound/weapons/gun/laser/e40_las.ogg' + delay = 2 + e_cost = 666 //30 per upgraded cell + +/obj/item/ammo_casing/energy/laser/eoehoma/e50 + projectile_type = /obj/projectile/beam/emitter/hitscan + fire_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' + e_cost = 12500 + delay = 1 SECONDS + /obj/item/ammo_casing/energy/lasergun projectile_type = /obj/projectile/beam/laser e_cost = 830 select_name = "kill" -/obj/item/ammo_casing/energy/laser/smg //WS edit: fun +/obj/item/ammo_casing/energy/lasergun/eoehoma + projectile_type = /obj/projectile/beam/laser/eoehoma + fire_sound = 'sound/weapons/gun/laser/e-fire.ogg' + +/obj/item/ammo_casing/energy/laser/smg projectile_type = /obj/projectile/beam/laser/weak/negative_ap e_cost = 799 //12 shots with a normal power cell, 25 with an upgraded select_name = "kill" + delay = 0.2 SECONDS /obj/item/ammo_casing/energy/lasergun/old projectile_type = /obj/projectile/beam/laser @@ -50,7 +71,7 @@ projectile_type = /obj/projectile/beam/pulse e_cost = 2000 select_name = "DESTROY" - fire_sound = 'sound/weapons/pulse.ogg' + fire_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' /obj/item/ammo_casing/energy/laser/bluetag projectile_type = /obj/projectile/beam/lasertag/bluetag @@ -151,4 +172,5 @@ select_name = "kill" projectile_type = /obj/projectile/beam/weak/penetrator variance = 0.8 + delay = 0.5 fire_sound = 'sound/weapons/laser4.ogg' diff --git a/code/modules/projectiles/ammunition/energy/special.dm b/code/modules/projectiles/ammunition/energy/special.dm index 692c87db2ad6..e7e465e69cfa 100644 --- a/code/modules/projectiles/ammunition/energy/special.dm +++ b/code/modules/projectiles/ammunition/energy/special.dm @@ -78,6 +78,7 @@ e_cost = 300 select_name = "shock" projectile_type = /obj/projectile/energy/tesla_cannon + delay = 1 /obj/item/ammo_casing/energy/shrink projectile_type = /obj/projectile/beam/shrink diff --git a/code/modules/projectiles/ammunition/energy/stun.dm b/code/modules/projectiles/ammunition/energy/stun.dm index 8879981b1e16..c47a88b38830 100644 --- a/code/modules/projectiles/ammunition/energy/stun.dm +++ b/code/modules/projectiles/ammunition/energy/stun.dm @@ -46,3 +46,4 @@ /obj/item/ammo_casing/energy/disabler/smg projectile_type = /obj/projectile/beam/disabler/weak/negative_ap e_cost = 330 + delay = 0.2 SECONDS diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 0336744ec748..e8c47f60f85b 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -150,6 +150,7 @@ max_ammo = 22 multiple_sprites = AMMO_BOX_FULL_EMPTY item_flags = NO_MAT_REDEMPTION + instant_load = TRUE // Ammo Boxes @@ -366,3 +367,21 @@ icon_state = "foambox_riot" ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot custom_materials = list(/datum/material/iron = 50000) + +/obj/item/ammo_box/c22lr_box + name = "ammo box (.22 LR)" + desc = "A box of standard .22 LR ammo." + icon_state = "22lrbox" + ammo_type = /obj/item/ammo_casing/c22lr + max_ammo = 75 + +/obj/item/ammo_box/c45_speedloader + name = "speed loader (.45)" + desc = "Designed to quickly reload revolvers." + icon_state = "38" + ammo_type = /obj/item/ammo_casing/c45 + max_ammo = 6 + multiple_sprites = AMMO_BOX_PER_BULLET + custom_materials = list(/datum/material/iron = 15000) + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE diff --git a/code/modules/projectiles/boxes_magazines/external/gauss.dm b/code/modules/projectiles/boxes_magazines/external/gauss.dm index ca497d6560cb..fa3797707ce6 100644 --- a/code/modules/projectiles/boxes_magazines/external/gauss.dm +++ b/code/modules/projectiles/boxes_magazines/external/gauss.dm @@ -9,7 +9,7 @@ /obj/item/ammo_box/magazine/modelh name = "Model H magazine (ferromagnetic slugs)" - desc = "A 10-round magazine for the Model H pistol. Ferromagnetic slugs are slow, but do incredible damage with significant armor penetration." + desc = "A 10-round magazine for the Model H pistol. Ferromagnetic slugs are slow and incredibly powerful bullets, but are easily stopped by even a sliver of armor." icon_state = "smallmagmag" ammo_type = /obj/item/ammo_casing/caseless/gauss/slug caliber = "slug" diff --git a/code/modules/projectiles/boxes_magazines/external/lmg.dm b/code/modules/projectiles/boxes_magazines/external/lmg.dm index 192a9f723857..402db1502853 100644 --- a/code/modules/projectiles/boxes_magazines/external/lmg.dm +++ b/code/modules/projectiles/boxes_magazines/external/lmg.dm @@ -5,7 +5,7 @@ base_icon_state = "a762" ammo_type = /obj/item/ammo_casing/mm712x82 caliber = "7.12x82mm" - max_ammo = 50 + max_ammo = 100 w_class = WEIGHT_CLASS_NORMAL /obj/item/ammo_box/magazine/mm712x82/hollow @@ -30,4 +30,4 @@ /obj/item/ammo_box/magazine/mm712x82/update_icon_state() . = ..() - icon_state = "[base_icon_state]-[round(ammo_count(), 10)]" + icon_state = "[base_icon_state]-[round(ammo_count(), 20)]" diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index ca4702b641d7..cc92a758eba0 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -136,3 +136,12 @@ caliber = "9mm" max_ammo = 4 custom_materials = list(/datum/material/iron = 20000) + +/obj/item/ammo_box/magazine/m22lr + name = "pistol magazine (.22 LR)" + desc = "A single-stack handgun magazine designed to chamber .22 LR. It's rather tiny, all things considered." + icon_state = "pistol_22lr" + ammo_type = /obj/item/ammo_casing/c22lr + caliber = "22lr" + max_ammo = 10 + w_class = WEIGHT_CLASS_TINY diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index 86fef186652b..786bf8e9dfb6 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -27,7 +27,7 @@ base_icon_state = "47x33mm" ammo_type = /obj/item/ammo_casing/caseless/c47x33mm caliber = "4.73x33mm caseless" - max_ammo = 50 //brrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr + max_ammo = 100 //brrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr w_class = WEIGHT_CLASS_NORMAL /obj/item/ammo_box/magazine/rifle47x33mm/update_icon_state() @@ -64,7 +64,7 @@ icon_state = "ak47_mag" ammo_type = /obj/item/ammo_casing/a762_39 caliber = "7.62x39mm" - max_ammo = 20 + max_ammo = 30 /obj/item/ammo_box/magazine/ak47/update_icon_state() . = ..() @@ -117,3 +117,14 @@ /obj/item/ammo_box/magazine/swiss/update_icon_state() . = ..() icon_state = "swissmag-[!!ammo_count()]" + +/obj/item/ammo_box/magazine/e40 + name = "E-40 magazine (.229 Eoehoma caseless)" + icon_state = "e40_mag" + ammo_type = /obj/item/ammo_casing/caseless/c299 + caliber = ".299 caseless" + max_ammo = 30 + +/obj/item/ammo_box/magazine/e40/update_icon_state() + . = ..() + icon_state = "e40_mag-[!!ammo_count()]" diff --git a/code/modules/projectiles/boxes_magazines/internal/gauss.dm b/code/modules/projectiles/boxes_magazines/internal/gauss.dm index 06527ae49197..6e561f6d26d5 100644 --- a/code/modules/projectiles/boxes_magazines/internal/gauss.dm +++ b/code/modules/projectiles/boxes_magazines/internal/gauss.dm @@ -3,3 +3,4 @@ ammo_type = /obj/item/ammo_casing/caseless/gauss caliber = "pellet" max_ammo = 22 + instant_load = TRUE diff --git a/code/modules/projectiles/boxes_magazines/internal/revolver.dm b/code/modules/projectiles/boxes_magazines/internal/revolver.dm index 13b007e229e0..7715d31b1323 100644 --- a/code/modules/projectiles/boxes_magazines/internal/revolver.dm +++ b/code/modules/projectiles/boxes_magazines/internal/revolver.dm @@ -32,3 +32,10 @@ /obj/item/ammo_box/magazine/internal/cylinder/pepperbox name = "pepperbox revolver cylinder" max_ammo = 5 + +/obj/item/ammo_box/magazine/internal/cylinder/rev45 + name = "cattleman revolver cylinder" + ammo_type = /obj/item/ammo_casing/c45 + caliber = ".45" + max_ammo = 6 + instant_load = TRUE diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f91fa467cfef..b250e23751d5 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1,7 +1,22 @@ -#define DUALWIELD_PENALTY_EXTRA_MULTIPLIER 1.4 +#define DUALWIELD_PENALTY_EXTRA_MULTIPLIER 1.6 #define FIRING_PIN_REMOVAL_DELAY 50 +#define MANUFACTURER_NONE null +#define MANUFACTURER_SHARPLITE "the Sharplite Defense logo" +#define MANUFACTURER_SHARPLITE_NEW "the Nanotrasen-Sharplite logo" +#define MANUFACTURER_HUNTERSPRIDE "the Hunter's Pride Arms and Ammunition logo" +#define MANUFACTURER_SOLARARMORIES "the Solarbundswaffenkammer emblem" +#define MANUFACTURER_SCARBOROUGH "the Scarborough Arms logo" +#define MANUFACTURER_EOEHOMA "the Eoehoma Firearms emblem" +#define MANUFACTURER_NANOTRASEN_OLD "an outdated Nanotrasen logo" +#define MANUFACTURER_NANOTRASEN "the Nanotrasen logo" +#define MANUFACTURER_BRAZIL "a green flag with a blue circle and a yellow diamond around it" +#define MANUFACTURER_INTEQ "an orange crest with the letters 'IRMG'" +#define MANUFACTURER_MINUTEMAN "the Lanchester City Firearms Plant logo" +#define MANUFACTURER_DONKCO "the Donk! Co. logo" +#define MANUFACTURER_PGF "the Etherbor Industries emblem" + /obj/item/gun name = "gun" desc = "It's a gun. It's pretty terrible, though." @@ -21,32 +36,33 @@ pickup_sound = 'sound/items/handling/gun_pickup.ogg' drop_sound = 'sound/items/handling/gun_drop.ogg' + /// The manufacturer of this weapon. For flavor mostly. If none, this will not show. + var/manufacturer = MANUFACTURER_NONE + var/fire_sound = 'sound/weapons/gun/pistol/shot.ogg' var/vary_fire_sound = TRUE var/fire_sound_volume = 50 var/dry_fire_sound = 'sound/weapons/gun/general/dry_fire.ogg' - var/dry_fire_text = "click" //change this on non-gun things WS Edit - Dry firing + var/dry_fire_text = "click" //change this on non-gun things var/suppressed = null //whether or not a message is displayed when fired var/can_suppress = FALSE var/suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' var/suppressed_volume = 60 var/can_unsuppress = TRUE - var/recoil = 0 //boom boom shake the room var/clumsy_check = TRUE var/obj/item/ammo_casing/chambered = null trigger_guard = TRIGGER_GUARD_NORMAL //trigger guard on the weapon, hulks can't fire them with their big meaty fingers - var/sawn_desc = null //description change if weapon is sawn-off + var/sawn_desc = null //description change if weapon is sawn-off var/sawn_off = FALSE - var/burst_size = 1 //how large a burst is - var/fire_delay = 0 //rate of fire for burst firing and semi auto - var/firing_burst = 0 //Prevent the weapon from firing again while already firing - var/semicd = 0 //cooldown handler + var/burst_size = 1 //how large a burst is + var/fire_delay = 0 //rate of fire for burst firing and semi auto + var/firing_burst = 0 //Prevent the weapon from firing again while already firing + var/semicd = 0 //cooldown handler var/weapon_weight = WEAPON_LIGHT var/dual_wield_spread = 24 //additional spread when dual wielding - var/spread = 0 //Spread induced by the gun itself. var/randomspread = 1 //Set to 0 for shotguns. This is used for weapons that don't fire all their bullets at once. - var/projectile_damage_multiplier = 1 //Alters projectile damage multiplicatively based on this value. Use it for "better" or "worse" weapons that use the same ammo. + var/projectile_damage_multiplier = 1 //Alters projectile damage multiplicatively based on this value. Use it for "better" or "worse" weapons that use the same ammo. lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' @@ -77,14 +93,84 @@ var/pb_knockback = 0 + var/wielded = FALSE // true if the gun is wielded via twohanded component, shouldnt affect anything else + + var/wielded_fully = FALSE // true if the gun is wielded after delay, should affects accuracy + + ///How much the bullet scatters when fired while wielded. + var/spread = 4 + ///How much the bullet scatters when fired while unwielded. + var/spread_unwielded = 12 + + ///Screen shake when the weapon is fired while wielded. + var/recoil = 0 + ///Screen shake when the weapon is fired while unwielded. + var/recoil_unwielded = 0 + ///a multiplier of the duration the recoil takes to go back to normal view, this is (recoil*recoil_backtime_multiplier)+1 + var/recoil_backtime_multiplier = 2 + ///this is how much deviation the gun recoil can have, recoil pushes the screen towards the reverse angle you shot + some deviation which this is the max. + var/recoil_deviation = 22.5 + + ///Slowdown for wielding + var/wield_slowdown = 0.1 + ///How long between wielding and firing in tenths of seconds + var/wield_delay = 0.4 SECONDS + ///Storing value for above + var/wield_time = 0 + + ///Effect for the muzzle flash of the gun. + var/obj/effect/muzzle_flash/muzzle_flash + ///Icon state of the muzzle flash effect. + var/muzzleflash_iconstate + ///Brightness of the muzzle flash effect. + var/muzzle_flash_lum = 3 + ///Color of the muzzle flash effect. + var/muzzle_flash_color = COLOR_VERY_SOFT_YELLOW + + //gun saftey + ///Does this gun have a saftey and thus can toggle it? + var/has_safety = FALSE + ///If the saftey on? If so, we can't fire the weapon + var/safety = FALSE + /obj/item/gun/Initialize() . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) if(pin) pin = new pin(src) if(gun_light) alight = new(src) + muzzle_flash = new(src, muzzleflash_iconstate) build_zooming() +/obj/item/gun/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed) + +/// triggered on wield of two handed item +/obj/item/gun/proc/on_wield(obj/item/source, mob/user) + wielded = TRUE + INVOKE_ASYNC(src, .proc.do_wield, user) + +/obj/item/gun/proc/do_wield(mob/user) + user.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/gun, multiplicative_slowdown = wield_slowdown) + wield_time = world.time + wield_delay + if(wield_time > 0) + if(do_mob(user, user, wield_delay, FALSE, TRUE, CALLBACK(src, PROC_REF(is_wielded)), ignore_loc_change = TRUE)) + wielded_fully = TRUE + else + wielded_fully = TRUE + +/obj/item/gun/proc/is_wielded() + return wielded + +/// triggered on unwield of two handed item +/obj/item/gun/proc/on_unwield(obj/item/source, mob/user) + wielded = FALSE + wielded_fully = FALSE + user.remove_movespeed_modifier(/datum/movespeed_modifier/gun) + /obj/item/gun/Destroy() if(isobj(pin)) //Can still be the initial path, then we skip QDEL_NULL(pin) @@ -98,6 +184,8 @@ QDEL_NULL(azoom) if(isatom(suppressed)) //SUPPRESSED IS USED AS BOTH A TRUE/FALSE AND AS A REF, WHAT THE FUCKKKKKKKKKKKKKKKKK QDEL_NULL(suppressed) + if(muzzle_flash) + QDEL_NULL(muzzle_flash) return ..() /obj/item/gun/handle_atom_del(atom/A) @@ -134,6 +222,13 @@ else if(can_bayonet) . += "It has a bayonet lug on it." + if(has_safety) + . += "The safety is [safety ? "ON" : "OFF"]. Ctrl-Click to toggle the safety." + + if(manufacturer) + . += "It has [manufacturer] engraved on it." + + /obj/item/gun/equipped(mob/living/user, slot) . = ..() if(zoomed && user.get_active_held_item() != src) @@ -146,16 +241,28 @@ //check if there's enough ammo/energy/whatever to shoot one time //i.e if clicking would make it shoot /obj/item/gun/proc/can_shoot() + if(safety) + return FALSE return TRUE /obj/item/gun/proc/shoot_with_empty_chamber(mob/living/user as mob|obj) - to_chat(user, "*[dry_fire_text]*") //WS Edit - Dry firing - playsound(src, dry_fire_sound, 30, TRUE) + if(!safety) + to_chat(user, "*[dry_fire_text]*") + playsound(src, dry_fire_sound, 30, TRUE) + return + to_chat(user, "Safeties are active on the [src]! Turn them off to fire!") /obj/item/gun/proc/shoot_live_shot(mob/living/user, pointblank = 0, atom/pbtarget = null, message = 1) - if(recoil) - shake_camera(user, recoil + 1, recoil) + var/actual_angle = get_angle_with_scatter((user || get_turf(src)), pbtarget, rand(-recoil_deviation, recoil_deviation) + 180) + var/muzzle_angle = Get_Angle(get_turf(src), pbtarget) + if(muzzle_flash && !muzzle_flash.applied) + handle_muzzle_flash(user, muzzle_angle) + + if(wielded_fully && recoil) + simulate_recoil(user, recoil, actual_angle) + else if(!wielded_fully && recoil_unwielded) + simulate_recoil(user, recoil_unwielded, actual_angle) if(suppressed) playsound(user, suppressed_sound, suppressed_volume, vary_fire_sound, ignore_walls = FALSE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_distance = 0) @@ -224,9 +331,8 @@ if(check_botched(user)) return - var/obj/item/bodypart/other_hand = user.has_hand_for_held_index(user.get_inactive_hand_index()) //returns non-disabled inactive hands - if(weapon_weight == WEAPON_HEAVY && (user.get_inactive_held_item() || !other_hand)) - to_chat(user, "You need two hands to fire [src]!") + if(weapon_weight == WEAPON_HEAVY && (!wielded)) + to_chat(user, "You need a more secure grip to fire [src]!") return //DUAL (or more!) WIELDING var/bonus_spread = 0 @@ -239,7 +345,7 @@ else if(G.can_trigger_gun(user)) bonus_spread += dual_wield_spread loop_counter++ - addtimer(CALLBACK(G, /obj/item/gun.proc/process_fire, target, user, TRUE, params, null, bonus_spread), loop_counter) + addtimer(CALLBACK(G, TYPE_PROC_REF(/obj/item/gun, process_fire), target, user, TRUE, params, null, bonus_spread), loop_counter) return process_fire(target, user, TRUE, params, null, bonus_spread) @@ -322,8 +428,12 @@ var/sprd = 0 var/randomized_gun_spread = 0 var/rand_spr = rand() - if(spread) + + if(wielded_fully && spread) randomized_gun_spread = rand(0,spread) + else if(!wielded_fully && spread_unwielded) + randomized_gun_spread = rand(0,spread_unwielded) + if(HAS_TRAIT(user, TRAIT_POOR_AIM)) //nice shootin' tex bonus_spread += 25 var/randomized_bonus_spread = rand(0, bonus_spread) @@ -331,7 +441,7 @@ if(burst_size > 1) firing_burst = TRUE for(var/i = 1 to burst_size) - addtimer(CALLBACK(src, .proc/process_burst, user, target, message, params, zone_override, sprd, randomized_gun_spread, randomized_bonus_spread, rand_spr, i), fire_delay * (i - 1)) + addtimer(CALLBACK(src, PROC_REF(process_burst), user, target, message, params, zone_override, sprd, randomized_gun_spread, randomized_bonus_spread, rand_spr, i), fire_delay * (i - 1)) else if(chambered) if(HAS_TRAIT(user, TRAIT_PACIFISM)) // If the user has the pacifist trait, then they won't be able to fire [src] if the round chambered inside of [src] is lethal. @@ -353,8 +463,9 @@ return process_chamber() update_appearance() - semicd = TRUE - addtimer(CALLBACK(src, .proc/reset_semicd), fire_delay) + if(fire_delay) + semicd = TRUE + addtimer(CALLBACK(src, PROC_REF(reset_semicd)), fire_delay) if(user) user.update_inv_hands() @@ -409,6 +520,25 @@ else return ..() +/obj/item/gun/CtrlClick(mob/user) + . = ..() + if(!has_safety) + return + + if(src == !user.get_active_held_item()) + return + + playsound(user, 'sound/weapons/gun/general/selector.ogg', 100, TRUE) + safety = !safety + + user.visible_message( + span_notice("[user] turns the safety on [src] [safety ? "ON" : "OFF"]."), + span_notice("You turn the safety on [src] [safety ? "ON" : "OFF"]."), + vision_distance = COMBAT_MESSAGE_RANGE + ) + update_appearance() + + /obj/item/gun/screwdriver_act(mob/living/user, obj/item/I) . = ..() if(.) @@ -550,7 +680,7 @@ gun_light.update_brightness() to_chat(user, "You toggle the gunlight [gun_light.on ? "on":"off"].") - playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) + playsound(user, gun_light.on ? gun_light.toggle_on_sound : gun_light.toggle_off_sound, 40, TRUE) update_gunlight() /obj/item/gun/proc/update_gunlight() @@ -559,13 +689,19 @@ var/datum/action/A = X A.UpdateButtonIcon() +/obj/item/gun/attack_hand(mob/user) + . = ..() + update_appearance() + /obj/item/gun/pickup(mob/user) - ..() + . = ..() + update_appearance() if(azoom) azoom.Grant(user) /obj/item/gun/dropped(mob/user) . = ..() + update_appearance() if(azoom) azoom.Remove(user) if(zoomed) @@ -594,6 +730,15 @@ knife_overlay.pixel_y = knife_y_offset . += knife_overlay + if(ismob(loc) && has_safety) + var/mutable_appearance/safety_overlay + safety_overlay = mutable_appearance('icons/obj/guns/safety.dmi') + if(safety) + safety_overlay.icon_state = "safety-on" + else + safety_overlay.icon_state = "safety-off" + . += safety_overlay + /obj/item/gun/proc/handle_suicide(mob/living/carbon/human/user, mob/living/carbon/human/target, params, bypass_timer) if(!ishuman(user) || !ishuman(target)) return @@ -637,6 +782,111 @@ /obj/item/gun/proc/before_firing(atom/target,mob/user) return +/obj/item/gun/proc/simulate_recoil(mob/living/user, recoil_bonus = 0, firing_angle) + var/total_recoil = recoil_bonus + + var/actual_angle = firing_angle + rand(-recoil_deviation, recoil_deviation) + 180 + if(actual_angle > 360) + actual_angle -= 360 + if(total_recoil > 0) + recoil_camera(user, total_recoil + 1, (total_recoil * recoil_backtime_multiplier)+1, total_recoil, actual_angle) + return TRUE + +/obj/item/gun/proc/handle_muzzle_flash(mob/living/user, firing_angle) + var/atom/movable/flash_loc = user + var/prev_light = light_range + if(!light_on && (light_range <= muzzle_flash_lum)) + set_light_range(muzzle_flash_lum) + set_light_color(muzzle_flash_color) + set_light_on(TRUE) + update_light() + addtimer(CALLBACK(src, PROC_REF(reset_light_range), prev_light), 1 SECONDS) + //Offset the pixels. + switch(firing_angle) + if(0, 360) + muzzle_flash.pixel_x = 0 + muzzle_flash.pixel_y = 8 + muzzle_flash.layer = initial(muzzle_flash.layer) + if(1 to 44) + muzzle_flash.pixel_x = round(4 * ((firing_angle) / 45)) + muzzle_flash.pixel_y = 8 + muzzle_flash.layer = initial(muzzle_flash.layer) + if(45) + muzzle_flash.pixel_x = 8 + muzzle_flash.pixel_y = 8 + muzzle_flash.layer = initial(muzzle_flash.layer) + if(46 to 89) + muzzle_flash.pixel_x = 8 + muzzle_flash.pixel_y = round(4 * ((90 - firing_angle) / 45)) + muzzle_flash.layer = initial(muzzle_flash.layer) + if(90) + muzzle_flash.pixel_x = 8 + muzzle_flash.pixel_y = 0 + muzzle_flash.layer = initial(muzzle_flash.layer) + if(91 to 134) + muzzle_flash.pixel_x = 8 + muzzle_flash.pixel_y = round(-3 * ((firing_angle - 90) / 45)) + muzzle_flash.layer = initial(muzzle_flash.layer) + if(135) + muzzle_flash.pixel_x = 8 + muzzle_flash.pixel_y = -6 + muzzle_flash.layer = initial(muzzle_flash.layer) + if(136 to 179) + muzzle_flash.pixel_x = round(4 * ((180 - firing_angle) / 45)) + muzzle_flash.pixel_y = -6 + muzzle_flash.layer = ABOVE_MOB_LAYER + if(180) + muzzle_flash.pixel_x = 0 + muzzle_flash.pixel_y = -6 + muzzle_flash.layer = ABOVE_MOB_LAYER + if(181 to 224) + muzzle_flash.pixel_x = round(-6 * ((firing_angle - 180) / 45)) + muzzle_flash.pixel_y = -6 + muzzle_flash.layer = ABOVE_MOB_LAYER + if(225) + muzzle_flash.pixel_x = -6 + muzzle_flash.pixel_y = -6 + muzzle_flash.layer = initial(muzzle_flash.layer) + if(226 to 269) + muzzle_flash.pixel_x = -6 + muzzle_flash.pixel_y = round(-6 * ((270 - firing_angle) / 45)) + muzzle_flash.layer = initial(muzzle_flash.layer) + if(270) + muzzle_flash.pixel_x = -6 + muzzle_flash.pixel_y = 0 + muzzle_flash.layer = initial(muzzle_flash.layer) + if(271 to 314) + muzzle_flash.pixel_x = -6 + muzzle_flash.pixel_y = round(8 * ((firing_angle - 270) / 45)) + muzzle_flash.layer = initial(muzzle_flash.layer) + if(315) + muzzle_flash.pixel_x = -6 + muzzle_flash.pixel_y = 8 + muzzle_flash.layer = initial(muzzle_flash.layer) + if(316 to 359) + muzzle_flash.pixel_x = round(-6 * ((360 - firing_angle) / 45)) + muzzle_flash.pixel_y = 8 + muzzle_flash.layer = initial(muzzle_flash.layer) + + muzzle_flash.transform = null + muzzle_flash.transform = turn(muzzle_flash.transform, firing_angle) + flash_loc.vis_contents += muzzle_flash + muzzle_flash.applied = TRUE + + addtimer(CALLBACK(src, PROC_REF(remove_muzzle_flash), flash_loc, muzzle_flash), 0.2 SECONDS) + +/obj/item/gun/proc/reset_light_range(lightrange) + set_light_range(lightrange) + set_light_color(initial(light_color)) + if(lightrange <= 0) + set_light_on(FALSE) + update_light() + +/obj/item/gun/proc/remove_muzzle_flash(atom/movable/flash_loc, obj/effect/muzzle_flash/muzzle_flash) + if(!QDELETED(flash_loc)) + flash_loc.vis_contents -= muzzle_flash + muzzle_flash.applied = FALSE + ///////////// // ZOOMING // ///////////// @@ -677,7 +927,7 @@ zoomed = forced_zoom if(zoomed) - RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, .proc/rotate) + RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, PROC_REF(rotate)) user.client.view_size.zoomOut(zoom_out_amt, zoom_amt, direc) else UnregisterSignal(user, COMSIG_ATOM_DIR_CHANGE) diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 9efbc6169b25..a8e2a201c81a 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -6,6 +6,9 @@ icon_state = "pistol" w_class = WEIGHT_CLASS_NORMAL + has_safety = TRUE + safety = TRUE + ///sound when inserting magazine var/load_sound = 'sound/weapons/gun/general/magazine_insert_full.ogg' ///sound when inserting an empty magazine @@ -81,12 +84,15 @@ var/rack_delay = 5 ///time of the most recent rack, used for cooldown purposes var/recent_rack = 0 - ///Whether the gun can be tacloaded by slapping a fresh magazine directly on it - var/tac_reloads = TRUE //Snowflake mechanic no more. ///Whether the gun can be sawn off by sawing tools var/can_be_sawn_off = FALSE var/flip_cooldown = 0 + ///Whether the gun can be tacloaded by slapping a fresh magazine directly on it + var/tac_reloads = TRUE //Snowflake mechanic no more. + ///If we have the 'snowflake mechanic,' how long should it take to reload? + var/tactical_reload_delay = 1 SECONDS + /obj/item/gun/ballistic/Initialize() . = ..() if (!spawnwithmagazine) @@ -220,21 +226,27 @@ playsound(src, eject_empty_sound, eject_sound_volume, eject_sound_vary) magazine.forceMove(drop_location()) var/obj/item/ammo_box/magazine/old_mag = magazine - if (tac_load) - if (insert_magazine(user, tac_load, FALSE)) - to_chat(user, "You perform a tactical reload on \the [src].") - else - to_chat(user, "You dropped the old [magazine_wording], but the new one doesn't fit. How embarassing.") - magazine = null - else - magazine = null - user.put_in_hands(old_mag) old_mag.update_appearance() + magazine = null if (display_message) to_chat(user, "You pull the [magazine_wording] out of \the [src].") update_appearance() + if (tac_load) + if(do_after(user, tactical_reload_delay, TRUE, src)) + if (insert_magazine(user, tac_load, FALSE)) + to_chat(user, "You perform a tactical reload on \the [src].") + else + to_chat(user, "You dropped the old [magazine_wording], but the new one doesn't fit. How embarassing.") + else + to_chat(user, "Your reload was interupted!") + return + + user.put_in_hands(old_mag) + update_appearance() /obj/item/gun/ballistic/can_shoot() + if(safety) + return FALSE return chambered /obj/item/gun/ballistic/attackby(obj/item/A, mob/user, params) @@ -342,7 +354,7 @@ return return ..() -/obj/item/gun/ballistic/attack_self(mob/living/user) +/obj/item/gun/ballistic/unique_action(mob/living/user) if(HAS_TRAIT(user, TRAIT_GUNFLIP)) if(flip_cooldown <= world.time) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40)) @@ -352,13 +364,10 @@ user.dropItemToGround(src, TRUE) return flip_cooldown = (world.time + 30) + SpinAnimation(7,1) user.visible_message("[user] spins the [src] around their finger by the trigger. That’s pretty badass.") playsound(src, 'sound/items/handling/ammobox_pickup.ogg', 20, FALSE) return - if(!internal_magazine && magazine) - if(!magazine.ammo_count()) - eject_magazine(user) - return if(bolt_type == BOLT_TYPE_NO_BOLT) chambered = null var/num_unloaded = 0 diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 7ec610bbc33c..66f6699321c2 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -1,12 +1,31 @@ /obj/item/gun/ballistic/automatic/assault burst_size = 1 actions_types = list() + wield_delay = 0.7 SECONDS + wield_slowdown = 0.6 + + fire_delay = 1 + + load_sound = 'sound/weapons/gun/rifle/ar_reload.ogg' + load_empty_sound = 'sound/weapons/gun/rifle/ar_reload.ogg' + eject_sound = 'sound/weapons/gun/rifle/ar_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/rifle/ar_unload.ogg' + + rack_sound = 'sound/weapons/gun/rifle/ar_cock.ogg' + spread_unwielded = 20 /obj/item/gun/ballistic/automatic/assault/ak47 name = "\improper SVG-67" desc = "A Frontier-built assault rifle descended from a pattern of unknown provenance. Its low cost, ease of maintenance, and powerful 7.62x39mm cartridge make it a popular choice among a wide variety of outlaws." icon = 'icons/obj/guns/48x32guns.dmi' fire_sound = 'sound/weapons/gun/rifle/ak47.ogg' + + rack_sound = 'sound/weapons/gun/rifle/ak47_cocked.ogg' + load_sound = 'sound/weapons/gun/rifle/ak47_reload.ogg' + load_empty_sound = 'sound/weapons/gun/rifle/ak47_reload.ogg' + eject_sound = 'sound/weapons/gun/rifle/ak47_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/rifle/ak47_unload.ogg' + icon_state = "ak47" item_state = "ak47" mag_display = TRUE @@ -14,6 +33,8 @@ w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK mag_type = /obj/item/ammo_box/magazine/ak47 + spread = 0 + wield_delay = 0.7 SECONDS /obj/item/gun/ballistic/automatic/assault/ak47/ComponentInitialize() . = ..() @@ -89,6 +110,13 @@ w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK mag_type = /obj/item/ammo_box/magazine/p16 + spread = 2 + wield_delay = 0.5 SECONDS + rack_sound = 'sound/weapons/gun/rifle/m16_cocked.ogg' + load_sound = 'sound/weapons/gun/rifle/m16_reload.ogg' + load_empty_sound = 'sound/weapons/gun/rifle/m16_reload.ogg' + eject_sound = 'sound/weapons/gun/rifle/m16_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/rifle/m16_unload.ogg' /obj/item/gun/ballistic/automatic/assault/p16/ComponentInitialize() . = ..() @@ -133,6 +161,9 @@ slot_flags = ITEM_SLOT_BACK mag_type = /obj/item/ammo_box/magazine/swiss actions_types = list(/datum/action/item_action/toggle_firemode) + manufacturer = MANUFACTURER_SOLARARMORIES + spread = 8 + spread_unwielded = 15 /obj/item/gun/ballistic/automatic/assault/swiss_cheese/ComponentInitialize() . = ..() @@ -157,7 +188,127 @@ fire_delay = initial(fire_delay) to_chat(user, "You switch to [burst_size]-rnd Matter.") - playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) + playsound(user, 'sound/weapons/gun/general/selector.ogg', 100, TRUE) update_appearance() for(var/datum/action/action as anything in actions) action.UpdateButtonIcon() + +#define E40_BALLISTIC_MODE 1 +#define E40_LASER_MODE 2 + +/obj/item/gun/ballistic/automatic/assault/e40 + name = "\improper E-40 Hybrid Rifle" + desc = "A Hybrid Assault Rifle, best known for being having a dual ballistic and laser system. Chambered in .229 Eoehoma caseless, and uses energy for lasers." + icon = 'icons/obj/guns/48x32guns.dmi' + icon_state = "e40" + item_state = "e40" + mag_type = /obj/item/ammo_box/magazine/e40 + can_suppress = FALSE + actions_types = list(/datum/action/item_action/toggle_firemode) + var/obj/item/gun/energy/laser/e40_laser_secondary/secondary + + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + + mag_display = TRUE + empty_indicator = TRUE + fire_sound = 'sound/weapons/gun/laser/e40_bal.ogg' + manufacturer = MANUFACTURER_EOEHOMA + +/obj/item/gun/ballistic/automatic/assault/e40/Initialize() + . = ..() + secondary = new /obj/item/gun/energy/laser/e40_laser_secondary(src) + AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) + RegisterSignal(secondary, COMSIG_ATOM_UPDATE_ICON, PROC_REF(secondary_update_icon)) + SEND_SIGNAL(secondary, COMSIG_GUN_DISABLE_AUTOFIRE) + update_appearance() + +/obj/item/gun/ballistic/automatic/assault/e40/do_autofire(datum/source, atom/target, mob/living/shooter, params) + if(select == E40_LASER_MODE) + secondary.do_autofire(source, target, shooter, params) + else + return ..() + +/obj/item/gun/ballistic/automatic/assault/e40/do_autofire_shot(datum/source, atom/target, mob/living/shooter, params) + if(select == E40_LASER_MODE) + secondary.do_autofire_shot(source, target, shooter, params) + else + return ..() + +/obj/item/gun/ballistic/automatic/assault/e40/process_fire(atom/target, mob/living/user, message, params, zone_override, bonus_spread) + if(select == E40_LASER_MODE) + secondary.process_fire(target, user, message, params, zone_override, bonus_spread) + else + return ..() + +/obj/item/gun/ballistic/automatic/assault/e40/can_shoot() + if(select == E40_LASER_MODE) + return secondary.can_shoot() + else + return ..() + +/obj/item/gun/ballistic/automatic/assault/e40/afterattack(atom/target, mob/living/user, flag, params) + if(select == E40_LASER_MODE) + secondary.afterattack(target, user, flag, params) + else + return ..() + +/obj/item/gun/ballistic/automatic/assault/e40/attackby(obj/item/attack_obj, mob/user, params) + if(istype(attack_obj, /obj/item/stock_parts/cell/gun) || istype(attack_obj, /obj/item/screwdriver)) + secondary.attack_self() + secondary.attackby(attack_obj, user, params) + else + ..() + +/obj/item/gun/ballistic/automatic/assault/e40/can_shoot() + if(select == E40_LASER_MODE) + return secondary.can_shoot() + return ..() + +/obj/item/gun/ballistic/automatic/assault/e40/proc/secondary_update_icon() + update_icon() + +/obj/item/gun/ballistic/automatic/assault/e40/update_overlays() + . = ..() + //handle laser gunn overlays + if(!secondary) + return + var/ratio = secondary.get_charge_ratio() + if(ratio == 0) + . += "[icon_state]_chargeempty" + else + . += "[icon_state]_charge[ratio]" + if(secondary.cell) + . += "[icon_state]_cell" + + +/obj/item/gun/ballistic/automatic/assault/e40/burst_select() + var/mob/living/carbon/human/user = usr + switch(select) + if(NONE) + select = E40_BALLISTIC_MODE + to_chat(user, "You switch to full automatic ballistic.") + if(E40_BALLISTIC_MODE) + select = E40_LASER_MODE + to_chat(user, "You switch to full auto laser.") + SEND_SIGNAL(src, COMSIG_GUN_DISABLE_AUTOFIRE) + SEND_SIGNAL(secondary, COMSIG_GUN_ENABLE_AUTOFIRE) + if(E40_LASER_MODE) + select = E40_BALLISTIC_MODE + to_chat(user, "You switch to full automatic ballistic.") + SEND_SIGNAL(src, COMSIG_GUN_ENABLE_AUTOFIRE) + SEND_SIGNAL(secondary, COMSIG_GUN_DISABLE_AUTOFIRE) + playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) + update_icon() + return + +//laser + +/obj/item/gun/energy/laser/e40_laser_secondary + name = "secondary e40 laser gun" + desc = "The laser component of a E-40 Hybrid Rifle. You probably shouldn't see this." + fire_sound = 'sound/weapons/gun/laser/e40_las.ogg' + w_class = WEIGHT_CLASS_NORMAL + ammo_type = list(/obj/item/ammo_casing/energy/laser/assault) + fire_delay = 2 diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index b159376b547b..841e36927cb5 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -14,6 +14,13 @@ weapon_weight = WEAPON_MEDIUM pickup_sound = 'sound/items/handling/rifle_pickup.ogg' + wield_delay = 1 SECONDS + spread = 0 + spread_unwielded = 13 + recoil = 0 + recoil_unwielded = 4 + wield_slowdown = 0.35 + /obj/item/gun/ballistic/automatic/update_overlays() . = ..() if(!select) @@ -39,7 +46,7 @@ fire_delay = initial(fire_delay) to_chat(user, "You switch to [burst_size]-rnd burst.") - playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) + playsound(user, 'sound/weapons/gun/general/selector.ogg', 100, TRUE) update_appearance() for(var/X in actions) var/datum/action/A = X @@ -70,6 +77,14 @@ slot_flags = ITEM_SLOT_BACK actions_types = list() mag_display = TRUE + manufacturer = MANUFACTURER_SCARBOROUGH + + spread = -5 + spread_unwielded = 20 + recoil = 0 + recoil_unwielded = 4 + wield_slowdown = 1 + wield_delay = 1.3 SECONDS /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate name = "syndicate sniper rifle" @@ -117,7 +132,6 @@ icon = 'icons/obj/guns/48x32guns.dmi' lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' - fire_sound = 'sound/weapons/gun/rifle/shot.ogg' icon_state = "ebr" item_state = "ebr" mag_display = TRUE @@ -127,6 +141,10 @@ fire_sound = 'sound/weapons/gun/rifle/shot_alt2.ogg' burst_size = 0 actions_types = list() + manufacturer = MANUFACTURER_SCARBOROUGH + + wield_slowdown = 2 + spread = -4 /obj/item/gun/ballistic/automatic/gal name = "\improper CM-GAL-S" @@ -142,6 +160,10 @@ fire_sound = 'sound/weapons/gun/rifle/gal.ogg' burst_size = 0 actions_types = list() + manufacturer = MANUFACTURER_MINUTEMAN + + wield_slowdown = 2 + spread = -4 /obj/item/gun/ballistic/automatic/gal/inteq name = "\improper SsG-04" diff --git a/code/modules/projectiles/guns/ballistic/gauss.dm b/code/modules/projectiles/guns/ballistic/gauss.dm index 993c616f885f..b8b8e36e04b7 100644 --- a/code/modules/projectiles/guns/ballistic/gauss.dm +++ b/code/modules/projectiles/guns/ballistic/gauss.dm @@ -17,6 +17,14 @@ w_class = WEIGHT_CLASS_BULKY charge_sections = 4 ammo_x_offset = 2 + manufacturer = MANUFACTURER_NANOTRASEN + + spread = 0 + spread_unwielded = 25 + recoil = 0 + recoil_unwielded = 4 + wield_slowdown = 0.75 + wield_delay = 1 SECONDS /obj/item/gun/ballistic/automatic/powered/gauss/modelh name = "Model H" @@ -32,6 +40,12 @@ fire_delay = 0 //pistol mag_display = FALSE empty_indicator = FALSE + manufacturer = MANUFACTURER_SOLARARMORIES + recoil = 1 + recoil_unwielded = 2 + spread = 3 + spread_unwielded = 6 + /obj/item/gun/ballistic/automatic/powered/gauss/claris name = "Claris" @@ -49,6 +63,7 @@ casing_ejector = FALSE mag_display = FALSE empty_indicator = FALSE + manufacturer = MANUFACTURER_SOLARARMORIES /obj/item/gun/ballistic/automatic/powered/gauss/gar name = "Solar 'GAR' Assault Rifle" @@ -64,6 +79,10 @@ fire_delay = 2 actions_types = list() empty_indicator = FALSE + manufacturer = MANUFACTURER_SOLARARMORIES + + wield_delay = 0.7 SECONDS + fire_delay = 1 /obj/item/gun/ballistic/automatic/powered/gauss/gar/ComponentInitialize() . = ..() diff --git a/code/modules/projectiles/guns/ballistic/hmg.dm b/code/modules/projectiles/guns/ballistic/hmg.dm index dfe8a52cde19..3209513efc20 100644 --- a/code/modules/projectiles/guns/ballistic/hmg.dm +++ b/code/modules/projectiles/guns/ballistic/hmg.dm @@ -6,12 +6,19 @@ actions_types = list() slowdown = 1 drag_slowdown = 1.5 + fire_delay = 1 + + spread = 2 + spread_unwielded = 80 + recoil = 1 + recoil_unwielded = 4 + wield_slowdown = 4 // L6 SAW // /obj/item/gun/ballistic/automatic/hmg/l6_saw name = "\improper L6 SAW" - desc = "An HMG designated 'L6 SAW'. Has 'Aussec Armoury - 490 FS' engraved on the receiver below the designation. Chambered in 7.12x82mm." + desc = "A heavy machine gun, designated 'L6 SAW'. Chambered in 7.12x82mm." icon_state = "l6" item_state = "l6closedmag" base_icon_state = "l6" @@ -25,11 +32,12 @@ fire_sound = 'sound/weapons/gun/l6/shot.ogg' rack_sound = 'sound/weapons/gun/l6/l6_rack.ogg' suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' + manufacturer = MANUFACTURER_SCARBOROUGH var/cover_open = FALSE /obj/item/gun/ballistic/automatic/hmg/l6_saw/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.1 SECONDS) /obj/item/gun/ballistic/automatic/hmg/l6_saw/examine(mob/user) . = ..() @@ -83,7 +91,8 @@ can_bayonet = FALSE mag_display = TRUE w_class = WEIGHT_CLASS_BULKY + manufacturer = MANUFACTURER_SOLARARMORIES /obj/item/gun/ballistic/automatic/hmg/solar/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.1 SECONDS) diff --git a/code/modules/projectiles/guns/ballistic/launchers.dm b/code/modules/projectiles/guns/ballistic/launchers.dm index 18030833e6cd..c7d73c5459bc 100644 --- a/code/modules/projectiles/guns/ballistic/launchers.dm +++ b/code/modules/projectiles/guns/ballistic/launchers.dm @@ -50,6 +50,7 @@ item_state = "rocketlauncher" mag_type = /obj/item/ammo_box/magazine/internal/rocketlauncher fire_sound = 'sound/weapons/gun/general/rocket_launch.ogg' + load_sound = 'sound/weapons/gun/general/rocket_load.ogg' w_class = WEIGHT_CLASS_BULKY can_suppress = FALSE pin = /obj/item/firing_pin @@ -62,6 +63,7 @@ cartridge_wording = "rocket" empty_indicator = TRUE tac_reloads = FALSE + manufacturer = MANUFACTURER_SCARBOROUGH /obj/item/gun/ballistic/rocketlauncher/unrestricted pin = /obj/item/firing_pin @@ -79,3 +81,4 @@ icon = 'icons/obj/guns/48x32guns.dmi' icon_state = "panzerfaust" item_state = "panzerfaust" + manufacturer = MANUFACTURER_SOLARARMORIES diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index d03b3992b741..97974ff341fb 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -1,21 +1,21 @@ /obj/item/gun/ballistic/automatic/pistol - name = "stechkin pistol" + name = "Stechkin" desc = "A small, easily concealable 10mm handgun that bears Scarborough Arms stamps. Has a threaded barrel for suppressors." icon_state = "pistol" w_class = WEIGHT_CLASS_SMALL mag_type = /obj/item/ammo_box/magazine/m10mm can_suppress = TRUE burst_size = 1 - fire_delay = 0 + fire_delay = 0 //spam it as fast as you can actions_types = list() bolt_type = BOLT_TYPE_LOCKING fire_sound = 'sound/weapons/gun/pistol/shot.ogg' dry_fire_sound = 'sound/weapons/gun/pistol/dry_fire.ogg' suppressed_sound = 'sound/weapons/gun/pistol/shot_suppressed.ogg' - load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' - load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' - eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' - eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + load_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' vary_fire_sound = FALSE rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' @@ -25,6 +25,14 @@ weapon_weight = WEAPON_LIGHT pickup_sound = 'sound/items/handling/gun_pickup.ogg' fire_delay = 1 + manufacturer = MANUFACTURER_SCARBOROUGH + + wield_delay = 0.2 SECONDS + spread = -2 + spread_unwielded = 4 + wield_slowdown = 0.15 + + muzzleflash_iconstate = "muzzle_flash_light" /obj/item/gun/ballistic/automatic/pistol/no_mag spawnwithmagazine = FALSE @@ -35,16 +43,22 @@ install_suppressor(S) /obj/item/gun/ballistic/automatic/pistol/m1911 - name = "\improper M1911" + name = "\improper M1911A8" desc = "A classic .45 handgun. An engraving on the slide marks it as a product of Hunter's Pride." icon_state = "m1911" w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/m45 can_suppress = FALSE - fire_sound = 'sound/weapons/gun/pistol/shot.ogg' - rack_sound = 'sound/weapons/gun/pistol/rack.ogg' + fire_sound = 'sound/weapons/gun/pistol/m1911.ogg' + rack_sound = 'sound/weapons/gun/pistol/m1911_cocked.ogg' lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg' + manufacturer = MANUFACTURER_HUNTERSPRIDE + load_sound = 'sound/weapons/gun/pistol/m1911_reload.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/m1911_reload.ogg' + eject_sound = 'sound/weapons/gun/pistol/m1911_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/m1911_unload.ogg' + recoil = -2 /obj/item/gun/ballistic/automatic/pistol/m1911/no_mag spawnwithmagazine = FALSE @@ -57,10 +71,20 @@ mag_type = /obj/item/ammo_box/magazine/m50 can_suppress = FALSE mag_display = TRUE - fire_sound = 'sound/weapons/gun/rifle/shot_alt.ogg' + fire_sound = 'sound/weapons/gun/pistol/deagle.ogg' rack_sound = 'sound/weapons/gun/pistol/rack.ogg' lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg' + manufacturer = MANUFACTURER_NONE + load_sound = 'sound/weapons/gun/pistol/deagle_reload.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/deagle_reload.ogg' + eject_sound = 'sound/weapons/gun/pistol/deagle_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/deagle_unload.ogg' + fire_delay = 0.7 SECONDS + recoil = 1 + recoil_unwielded = 2 + spread = 4 + spread_unwielded = 7 /obj/item/gun/ballistic/automatic/pistol/deagle/gold desc = "A gold-plated Desert Eagle folded over a million times by superior Martian gunsmiths. Uses .50 AE ammo." @@ -87,6 +111,7 @@ name = "flat gun" desc = "A 2 dimensional gun.. what?" icon_state = "flatgun" + manufacturer = MANUFACTURER_NONE /obj/item/gun/ballistic/automatic/pistol/stickman/pickup(mob/living/user) SHOULD_CALL_PARENT(0) @@ -106,6 +131,12 @@ w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/co9mm can_suppress = FALSE + manufacturer = MANUFACTURER_NANOTRASEN + fire_sound = 'sound/weapons/gun/pistol/commander.ogg' + load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' /obj/item/gun/ballistic/automatic/pistol/commander/no_mag spawnwithmagazine = FALSE @@ -115,6 +146,7 @@ desc = "A handgun seized from Nanotrasen armories by deserting troopers and modified to IRMG's standards. A yellow IRMG shield is set into the grips. Chambered in 9mm." icon_state = "commander-inteq" item_state = "commander-inteq" + manufacturer = MANUFACTURER_INTEQ /obj/item/gun/ballistic/automatic/pistol/commander/inteq/no_mag spawnwithmagazine = FALSE @@ -128,6 +160,10 @@ can_suppress = FALSE var/funnysounds = TRUE var/cooldown = 0 + load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' /obj/item/gun/ballistic/automatic/pistol/commissar/equipped(mob/living/user, slot) ..() @@ -177,6 +213,11 @@ w_class = WEIGHT_CLASS_SMALL mag_type = /obj/item/ammo_box/magazine/pistol556mm fire_sound = 'sound/weapons/gun/pistol/pistolec.ogg' + manufacturer = MANUFACTURER_SOLARARMORIES + load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' /obj/item/gun/ballistic/automatic/pistol/solgov/old icon_state = "pistole-c-old" @@ -189,6 +230,10 @@ w_class = WEIGHT_CLASS_SMALL mag_type = /obj/item/ammo_box/magazine/tec9 mag_display = TRUE + load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' /obj/item/gun/ballistic/automatic/pistol/disposable name = "disposable gun" @@ -199,6 +244,10 @@ custom_materials = list(/datum/material/plastic=2000) can_suppress = FALSE var/random_icon = TRUE + manufacturer = MANUFACTURER_NONE + + has_safety = FALSE //thing barely costs anything, why would it have a safety? + safety = FALSE /obj/item/gun/ballistic/automatic/pistol/disposable/Initialize() . = ..() @@ -265,3 +314,17 @@ desc = "The golden sheen is somewhat counter-intuitive on a holdout weapon, but it looks cool. Uses .357 ammo." icon_state = "derringer_gold" mag_type = /obj/item/ammo_box/magazine/internal/derr357 + +/obj/item/gun/ballistic/automatic/pistol/himehabu + name = "\improper Himehabu" + desc = "A very small .22 LR pistol. The long awaited successor to the Stechkin; It has become a favorite among syndicate spies. Chambered in .22 LR." + icon_state = "himehabu" + w_class = WEIGHT_CLASS_TINY + mag_type = /obj/item/ammo_box/magazine/m22lr + can_suppress = FALSE + fire_sound = 'sound/weapons/gun/pistol/himehabu.ogg' + + recoil = -2 + recoil_unwielded = -2 + spread_unwielded = 0 + wield_slowdown = 0 diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index b1c70e7a73b6..454a790728d2 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -4,6 +4,7 @@ icon_state = "revolver" mag_type = /obj/item/ammo_box/magazine/internal/cylinder fire_sound = 'sound/weapons/gun/revolver/shot.ogg' + rack_sound = 'sound/weapons/gun/revolver/revolver_prime.ogg' load_sound = 'sound/weapons/gun/revolver/load_bullet.ogg' eject_sound = 'sound/weapons/gun/revolver/empty.ogg' vary_fire_sound = FALSE @@ -15,7 +16,53 @@ tac_reloads = FALSE var/spin_delay = 10 var/recent_spin = 0 - fire_delay = 7 + manufacturer = MANUFACTURER_SCARBOROUGH + fire_delay = 2 + spread_unwielded = 15 + recoil = 0.5 + recoil_unwielded = 1 + semi_auto = FALSE + bolt_wording = "hammer" + wield_slowdown = 0.3 + + has_safety = FALSE //irl revolvers dont have safetys. i think. maybe + safety = FALSE + +/obj/item/gun/ballistic/revolver/examine(mob/user) + . = ..() + . += "You can use the revolver with your other empty hand to empty the cylinder." + +/obj/item/gun/ballistic/revolver/attack_hand(mob/user) + if(loc == user && user.is_holding(src)) + chambered = null + var/num_unloaded = 0 + for(var/obj/item/ammo_casing/CB in get_ammo_list(FALSE, TRUE)) + CB.forceMove(drop_location()) + CB.bounce_away(FALSE, NONE) + num_unloaded++ + SSblackbox.record_feedback("tally", "station_mess_created", 1, CB.name) + if (num_unloaded) + to_chat(user, "You unload [num_unloaded] [cartridge_wording]\s from [src].") + playsound(user, eject_sound, eject_sound_volume, eject_sound_vary) + update_appearance() + return + else + return ..() + else + return ..() + + +/obj/item/gun/ballistic/revolver/unique_action(mob/living/user) + rack(user) + return + +///updates a bunch of racking related stuff and also handles the sound effects and the like +/obj/item/gun/ballistic/revolver/rack(mob/user = null) + if(user) + to_chat(user, "You rack the [bolt_wording] of \the [src].") + chamber_round(TRUE) + playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) + update_appearance() /obj/item/gun/ballistic/revolver/chamber_round(spin_cylinder = TRUE) if(spin_cylinder) @@ -23,10 +70,6 @@ else chambered = magazine.stored_ammo[1] -/obj/item/gun/ballistic/revolver/shoot_with_empty_chamber(mob/living/user as mob|obj) - ..() - chamber_round(TRUE) - /obj/item/gun/ballistic/revolver/AltClick(mob/user) ..() spin() @@ -74,9 +117,9 @@ . += "It can be spun with alt+click" /obj/item/gun/ballistic/revolver/detective - name = "\improper Colt Detective Special" + name = "\improper Hunter's Pride Detective Special" desc = "A compact and ridiculously old-fashioned law enforcement firearm. Uses .38 special rounds." - fire_sound = 'sound/weapons/gun/revolver/shot.ogg' + fire_sound = 'sound/weapons/gun/revolver/shot_light.ogg' icon_state = "detective" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 obj_flags = UNIQUE_RENAME @@ -90,6 +133,9 @@ "The Peacemaker" = "detective_peacemaker", "Black Panther" = "detective_panther" ) + manufacturer = MANUFACTURER_HUNTERSPRIDE + + recoil = 0 //weaker than normal revovler, no recoil /obj/item/gun/ballistic/revolver/detective/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(magazine.caliber != initial(magazine.caliber)) @@ -140,6 +186,10 @@ name = "\improper Unica 6 auto-revolver" desc = "A high-powered revolver with a unique auto-reloading system. Uses .357 ammo." icon_state = "mateba" + manufacturer = MANUFACTURER_NONE + semi_auto = TRUE + spread = 0 + spread_unwielded = 7 /obj/item/gun/ballistic/revolver/golden name = "\improper Golden revolver" @@ -148,12 +198,17 @@ fire_sound = 'sound/weapons/resonator_blast.ogg' recoil = 8 pin = /obj/item/firing_pin + manufacturer = MANUFACTURER_NONE /obj/item/gun/ballistic/revolver/nagant name = "\improper Nagant revolver" desc = "An ancient model of revolver with notoriously poor ergonomics, chambered in 7.62x38mmR. Uniquely able to be suppressed." icon_state = "nagant" can_suppress = TRUE + manufacturer = MANUFACTURER_NONE + spread_unwielded = 12 + recoil = 0 + recoil_unwielded = 0 mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev762 @@ -163,6 +218,12 @@ desc = "A massive, long-barreled revolver designed for the most dangerous game. Can only be reloaded one cartridge at a time due to its reinforced frame. Uses .45-70 ammo." icon_state = "hunting" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570 + fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' + wield_slowdown = 0.5 + spread_unwielded = 5 + spread = 2 + recoil = 2 + recoil_unwielded = 3 // A gun to play Russian Roulette! // You can spin the chamber to randomize the position of the bullet. @@ -173,6 +234,7 @@ icon_state = "russianrevolver" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rus357 var/spun = FALSE + manufacturer = MANUFACTURER_NONE /obj/item/gun/ballistic/revolver/russian/do_spin() . = ..() @@ -268,8 +330,9 @@ user.Paralyze(80) /obj/item/gun/ballistic/revolver/srm - name = "SRM Standard Issue .357 Revolver" + name = "SRM Standard Issue .357 Revolver" //should have used the pepperbox... desc = "A sturdy, powerful, and reliable revolver utilized by the Saint-Roumain Militia." + manufacturer = MANUFACTURER_HUNTERSPRIDE /obj/item/gun/ballistic/revolver/pepperbox name = "\improper pepperbox pistol" @@ -277,4 +340,22 @@ icon_state = "pepperbox" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/pepperbox spread = 20 - fire_delay = 4 + manufacturer = MANUFACTURER_HUNTERSPRIDE + spread_unwielded = 50 + fire_delay = 0 + semi_auto = TRUE + +/obj/item/gun/ballistic/revolver/cattleman + name = "\improper Cattleman" + desc = "A strangely ancient revolver. Despite the age, it is a favorite of fast drawing spacers and officers in various militaries, but sometimes very rarely used in small colonial police units. Uses .45 ACP." + fire_sound = 'sound/weapons/gun/revolver/cattleman.ogg' + icon = 'icons/obj/guns/48x32guns.dmi' + icon_state = "cattleman" + mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev45 + obj_flags = UNIQUE_RENAME + unique_reskin = list("Default" = "cattleman", + "Army" = "cattleman_army", + "General" = "cattleman_general" + ) + + recoil = 0 //weaker than normal revovler, no recoil diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index ac80dc47e890..6506edc4bb1d 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -17,6 +17,13 @@ weapon_weight = WEAPON_MEDIUM pickup_sound = 'sound/items/handling/rifle_pickup.ogg' + spread = -1 + spread_unwielded = 12 + recoil = -3 + recoil_unwielded = 4 + wield_slowdown = 1 + wield_delay = 1.2 SECONDS + /obj/item/gun/ballistic/rifle/update_overlays() . = ..() . += "[icon_state]_bolt[bolt_locked ? "_locked" : ""]" @@ -66,6 +73,7 @@ knife_x_offset = 27 knife_y_offset = 13 can_be_sawn_off = TRUE + manufacturer = MANUFACTURER_HUNTERSPRIDE /obj/item/gun/ballistic/rifle/boltaction/sawoff(mob/user) . = ..() @@ -89,6 +97,18 @@ fire_sound = 'sound/weapons/gun/rifle/ssg669c.ogg' can_be_sawn_off = FALSE + zoomable = TRUE + zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. + zoom_out_amt = 5 + + manufacturer = MANUFACTURER_SOLARARMORIES + spread = -5 + spread_unwielded = 20 + recoil = 0 + recoil_unwielded = 4 + wield_slowdown = 1 + wield_delay = 1.3 SECONDS + /obj/item/gun/ballistic/rifle/boltaction/roumain name = "standard-issue 'Smile' rifle" desc = "A bolt-action rifle usually given to mercenary hunters of the Saint-Roumain Militia. Chambered in .300 Magnum." @@ -97,12 +117,15 @@ item_state = "roma" can_be_sawn_off = FALSE + manufacturer = MANUFACTURER_HUNTERSPRIDE + /obj/item/gun/ballistic/rifle/boltaction/enchanted name = "enchanted bolt-action rifle" desc = "Careful not to lose your head." var/guns_left = 30 mag_type = /obj/item/ammo_box/magazine/internal/boltaction/enchanted can_be_sawn_off = FALSE + manufacturer = MANUFACTURER_NONE /obj/item/gun/ballistic/rifle/boltaction/enchanted/arcane_barrage name = "arcane barrage" @@ -158,3 +181,4 @@ w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/internal/boltaction/polymer can_be_sawn_off = FALSE + manufacturer = MANUFACTURER_NONE diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index e333122e2e0a..de8b923fb967 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -26,6 +26,15 @@ pickup_sound = 'sound/items/handling/shotgun_pickup.ogg' fire_delay = 7 pb_knockback = 2 + manufacturer = MANUFACTURER_HUNTERSPRIDE + + wield_slowdown = 0.45 + wield_delay = 0.6 SECONDS //Shotguns are really easy to put up to fire, since they are designed for CQC (at least compared to a rifle) + + spread = 4 + spread_unwielded = 10 + recoil = 2 + recoil_unwielded = 4 /obj/item/gun/ballistic/shotgun/blow_up(mob/user) . = 0 @@ -41,13 +50,37 @@ /obj/item/gun/ballistic/shotgun/riot //for spawn in the armory name = "riot shotgun" desc = "A sturdy shotgun with a six-shell tube and a fixed wooden stock designed for non-lethal riot control." + icon = 'icons/obj/guns/48x32guns.dmi' icon_state = "riotshotgun" item_state = "shotgun" mag_type = /obj/item/ammo_box/magazine/internal/shot/riot sawn_desc = "Come with me if you want to live." can_be_sawn_off = TRUE + rack_sound = 'sound/weapons/gun/shotgun/rack_alt.ogg' + fire_delay = 1 + +/obj/item/gun/ballistic/shotgun/riot/sawoff(mob/user) + . = ..() + if(.) + weapon_weight = WEAPON_MEDIUM + wield_slowdown = 0.25 + wield_delay = 0.3 SECONDS //OP? maybe + + spread = 8 + spread_unwielded = 15 + recoil = 3 //or not + recoil_unwielded = 5 // Automatic Shotguns// +/obj/item/gun/ballistic/shotgun/automatic + spread = 4 + spread_unwielded = 16 + recoil = 1 + recoil_unwielded = 4 + wield_delay = 0.65 SECONDS + +/obj/item/gun/ballistic/shotgun/automatic + manufacturer = MANUFACTURER_NANOTRASEN /obj/item/gun/ballistic/shotgun/automatic/shoot_live_shot(mob/living/user) ..() @@ -145,6 +178,14 @@ internal_magazine = FALSE tac_reloads = TRUE pickup_sound = 'sound/items/handling/rifle_pickup.ogg' + manufacturer = MANUFACTURER_SCARBOROUGH + + spread = 4 + spread_unwielded = 16 + recoil = 1 + recoil_unwielded = 4 + wield_slowdown = 0.6 + wield_delay = 0.65 SECONDS /obj/item/gun/ballistic/shotgun/bulldog/unrestricted pin = /obj/item/firing_pin @@ -156,6 +197,7 @@ item_state = "bulldog-inteq" mag_type = /obj/item/ammo_box/magazine/m12g pin = /obj/item/firing_pin + manufacturer = MANUFACTURER_INTEQ /obj/item/gun/ballistic/shotgun/bulldog/minutemen name = "\improper CM-15" @@ -168,6 +210,7 @@ empty_alarm = FALSE empty_indicator = FALSE special_mags = FALSE + manufacturer = MANUFACTURER_MINUTEMAN ///////////////////////////// // DOUBLE BARRELED SHOTGUN // @@ -198,6 +241,7 @@ bolt_type = BOLT_TYPE_NO_BOLT can_be_sawn_off = TRUE pb_knockback = 3 // it's a super shotgun! + manufacturer = MANUFACTURER_HUNTERSPRIDE /obj/item/gun/ballistic/shotgun/doublebarrel/AltClick(mob/user) . = ..() @@ -208,6 +252,13 @@ . = ..() if(.) weapon_weight = WEAPON_MEDIUM + wield_slowdown = 0.25 + wield_delay = 0.3 SECONDS //OP? maybe + + spread = 8 + spread_unwielded = 15 + recoil = 3 //or not + recoil_unwielded = 5 // IMPROVISED SHOTGUN // @@ -372,6 +423,7 @@ attack_verb = list("bludgeoned", "smashed") mag_type = /obj/item/ammo_box/magazine/internal/shot/sex burst_size = 6 + fire_delay = 0.1 pb_knockback = 12 unique_reskin = null recoil = 10 @@ -382,6 +434,7 @@ fire_sound_volume = 50 rack_sound_volume = 50 can_be_sawn_off = FALSE + manufacturer = MANUFACTURER_BRAZIL /obj/item/gun/ballistic/shotgun/doublebarrel/brazil/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(prob(0 + (magazine.ammo_count() * 10))) @@ -420,10 +473,21 @@ inhand_y_dimension = 32 mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester fire_sound = 'sound/weapons/gun/rifle/shot.ogg' - rack_sound = 'sound/weapons/gun/rifle/winchester_cocked.ogg' + rack_sound = 'sound/weapons/gun/rifle/ak47_cocked.ogg' bolt_wording = "lever" cartridge_wording = "bullet" + spread = -5 + spread_unwielded = 7 + recoil = 0 + recoil_unwielded = 2 + wield_slowdown = 0.5 + +/obj/item/gun/ballistic/shotgun/winchester/rack(mob/user = null) + . = ..() + if(!wielded) + SpinAnimation(7,1) + /obj/item/gun/ballistic/shotgun/winchester/mk1 name = "Winchester MK.1" desc = "A sturdy lever-action rifle. This antique pattern appears to be in excellent condition despite its age." @@ -455,6 +519,7 @@ can_be_sawn_off = FALSE fire_sound_volume = 80 rack_sound_volume = 50 + manufacturer = MANUFACTURER_HUNTERSPRIDE //Break-Action Rifle /obj/item/gun/ballistic/shotgun/contender @@ -469,7 +534,7 @@ inhand_x_dimension = 32 inhand_y_dimension = 32 mag_type = /obj/item/ammo_box/magazine/internal/shot/contender - fire_sound = 'sound/weapons/gun/rifle/shot.ogg' + fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' can_be_sawn_off=TRUE sawn_desc= "A single-shot pistol. It's hard to aim without a front sight." w_class = WEIGHT_CLASS_BULKY @@ -483,9 +548,22 @@ bolt_type = BOLT_TYPE_NO_BOLT can_be_sawn_off = TRUE pb_knockback = 3 + wield_slowdown = 0.7 + spread_unwielded = 15 + spread = 0 + recoil = 0 + recoil_unwielded = 5 + /obj/item/gun/ballistic/shotgun/contender/sawoff(mob/user) . = ..() if(.) item_state = "contender_sawn" + wield_slowdown = 0.5 + wield_delay = 0.5 SECONDS + + spread_unwielded = 5 //mostly the hunting revolver stats + spread = 2 + recoil = 2 + recoil_unwielded = 3 diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index e617173c932e..ab7c683ec423 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -1,6 +1,16 @@ /obj/item/gun/ballistic/automatic/smg burst_size = 1 actions_types = list() + fire_delay = 1 + spread = 4 + spread_unwielded = 10 + wield_slowdown = 0.35 + recoil_unwielded = 0.5 + + load_sound = 'sound/weapons/gun/smg/smg_reload.ogg' + load_empty_sound = 'sound/weapons/gun/smg/smg_reload.ogg' + eject_sound = 'sound/weapons/gun/smg/smg_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/smg/smg_unload.ogg' /obj/item/gun/ballistic/automatic/smg/proto name = "\improper Nanotrasen Saber SMG" @@ -11,10 +21,11 @@ pin = null bolt_type = BOLT_TYPE_LOCKING mag_display = TRUE + manufacturer = MANUFACTURER_NANOTRASEN_OLD /obj/item/gun/ballistic/automatic/smg/proto/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.25 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) /obj/item/gun/ballistic/automatic/smg/proto/unrestricted pin = /obj/item/firing_pin @@ -32,10 +43,11 @@ mag_display = TRUE mag_display_ammo = TRUE empty_indicator = TRUE + manufacturer = MANUFACTURER_SCARBOROUGH /obj/item/gun/ballistic/automatic/smg/c20r/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.25 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) /obj/item/gun/ballistic/automatic/smg/c20r/unrestricted pin = /obj/item/firing_pin @@ -56,6 +68,7 @@ desc = "An extreme modification of an obsolete assault rifle, converted into a compact submachine gun by IRMG. Chambered in 10mm." icon_state = "inteqsmg" item_state = "inteqsmg" + fire_sound = 'sound/weapons/gun/smg/vector_fire.ogg' mag_type = /obj/item/ammo_box/magazine/smgm10mm can_bayonet = FALSE can_flashlight = TRUE @@ -63,10 +76,11 @@ flight_y_offset = 13 can_suppress = TRUE mag_display = TRUE + manufacturer = MANUFACTURER_INTEQ /obj/item/gun/ballistic/automatic/smg/inteq/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.25 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) /obj/item/gun/ballistic/automatic/smg/wt550 name = "\improper WT-550 Automatic Rifle" @@ -84,38 +98,52 @@ mag_display = TRUE mag_display_ammo = TRUE empty_indicator = TRUE + manufacturer = MANUFACTURER_NANOTRASEN_OLD + fire_sound = 'sound/weapons/gun/smg/smg_heavy.ogg' /obj/item/gun/ballistic/automatic/smg/wt550/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.25 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) /obj/item/gun/ballistic/automatic/smg/mini_uzi name = "\improper Type U3 Uzi" desc = "A lightweight submachine gun, for when you really want someone dead. Uses 9mm rounds." icon_state = "uzi" mag_type = /obj/item/ammo_box/magazine/uzim9mm - burst_size = 2 bolt_type = BOLT_TYPE_OPEN mag_display = TRUE - rack_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' + + fire_sound = 'sound/weapons/gun/smg/uzi.ogg' + rack_sound = 'sound/weapons/gun/smg/uzi_cocked.ogg' + + load_sound = 'sound/weapons/gun/smg/uzi_reload.ogg' + load_empty_sound = 'sound/weapons/gun/smg/uzi_reload.ogg' + eject_sound = 'sound/weapons/gun/smg/uzi_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/smg/uzi_unload.ogg' + + spread = 4 + spread_unwielded = 8 + wield_slowdown = 0.25 + wield_delay = 0.2 SECONDS /obj/item/gun/ballistic/automatic/smg/mini_uzi/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.25 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.1 SECONDS) /obj/item/gun/ballistic/automatic/smg/vector name = "\improper Vector carbine" desc = "A police carbine based on a pre-Night of Fire SMG design. Most of the complex workings have been removed for reliability. Chambered in 9mm." icon_state = "vector" item_state = "vector" - mag_type = /obj/item/ammo_box/magazine/smgm9mm/rubber //you guys remember when the autorifle was chambered in 9mm + mag_type = /obj/item/ammo_box/magazine/smgm9mm //you guys remember when the autorifle was chambered in 9mm bolt_type = BOLT_TYPE_LOCKING mag_display = TRUE weapon_weight = WEAPON_LIGHT + fire_sound = 'sound/weapons/gun/smg/vector_fire.ogg' /obj/item/gun/ballistic/automatic/smg/vector/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.25 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) /obj/item/gun/ballistic/automatic/smg/m90 name = "\improper M-90gl Carbine" @@ -132,6 +160,11 @@ mag_display = TRUE empty_indicator = TRUE fire_sound = 'sound/weapons/gun/rifle/shot_alt.ogg' + manufacturer = MANUFACTURER_SCARBOROUGH + + spread = 1 + spread_unwielded = 8 + wield_slowdown = 0.4 /obj/item/gun/ballistic/automatic/smg/m90/Initialize() . = ..() @@ -186,7 +219,7 @@ burst_size = 1 fire_delay = 0 to_chat(user, "You switch to semi-auto.") - playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) + playsound(user, 'sound/weapons/gun/general/selector.ogg', 100, TRUE) update_appearance() return @@ -203,10 +236,11 @@ actions_types = list() fire_delay = 1 bolt_type = BOLT_TYPE_OPEN + wield_slowdown = 0.4 /obj/item/gun/ballistic/automatic/smg/thompson/Initialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.25 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) /obj/item/gun/ballistic/automatic/smg/thompson/drum name = "\improper Chicago Typewriter" @@ -220,11 +254,12 @@ item_state = "cm5" mag_type = /obj/item/ammo_box/magazine/smgm9mm weapon_weight = WEAPON_LIGHT - fire_sound = 'sound/weapons/gun/smg/smg_light.ogg' + fire_sound = 'sound/weapons/gun/smg/smg_heavy.ogg' + manufacturer = MANUFACTURER_MINUTEMAN /obj/item/gun/ballistic/automatic/smg/cm5/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.25 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) /obj/item/gun/ballistic/automatic/smg/aks74u name = "\improper AKS-74U" diff --git a/code/modules/projectiles/guns/ballistic/toy.dm b/code/modules/projectiles/guns/ballistic/toy.dm index 269baa7c83bf..4ce2819a902e 100644 --- a/code/modules/projectiles/guns/ballistic/toy.dm +++ b/code/modules/projectiles/guns/ballistic/toy.dm @@ -12,6 +12,9 @@ clumsy_check = 0 item_flags = NONE casing_ejector = FALSE + manufacturer = MANUFACTURER_NANOTRASEN + recoil = -10 //its a toy... + recoil_unwielded = -10 /obj/item/gun/ballistic/automatic/toy/update_overlays() . = ..() @@ -32,6 +35,8 @@ burst_size = 1 fire_delay = 0 actions_types = list() + recoil = -10 //its a toy... + recoil_unwielded = -10 /obj/item/gun/ballistic/automatic/toy/pistol/riot mag_type = /obj/item/ammo_box/magazine/toy/pistol/riot @@ -58,6 +63,8 @@ casing_ejector = FALSE can_suppress = FALSE pb_knockback = 0 + recoil = -10 //its a toy... + recoil_unwielded = -10 /obj/item/gun/ballistic/shotgun/toy/update_overlays() . = ..() @@ -81,6 +88,9 @@ fire_sound = 'sound/items/syringeproj.ogg' slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL + manufacturer = MANUFACTURER_DONKCO + recoil = -10 //its a toy... + recoil_unwielded = -10 /obj/item/gun/ballistic/automatic/smg/c20r/toy //This is the syndicate variant with syndicate firing pin and riot darts. name = "donksoft SMG" @@ -91,6 +101,9 @@ fire_sound = 'sound/items/syringeproj.ogg' casing_ejector = FALSE clumsy_check = FALSE + manufacturer = MANUFACTURER_DONKCO + recoil = -10 //its a toy... + recoil_unwielded = -10 /obj/item/gun/ballistic/automatic/smg/c20r/toy/unrestricted //Use this for actual toys pin = /obj/item/firing_pin @@ -112,6 +125,9 @@ mag_type = /obj/item/ammo_box/magazine/toy/m762/riot casing_ejector = FALSE clumsy_check = FALSE + manufacturer = MANUFACTURER_DONKCO + recoil = -10 //its a toy... + recoil_unwielded = -10 /obj/item/gun/ballistic/automatic/hmg/l6_saw/toy/unrestricted //Use this for actual toys pin = /obj/item/firing_pin diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index b186569afad4..7ba4a57bc057 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -4,6 +4,12 @@ desc = "A basic energy-based gun." icon = 'icons/obj/guns/energy.dmi' + muzzleflash_iconstate = "muzzle_flash_laser" + muzzle_flash_color = COLOR_SOFT_RED + + has_safety = TRUE + safety = TRUE + var/obj/item/stock_parts/cell/gun/cell //What type of power cell this uses var/cell_type = /obj/item/stock_parts/cell/gun var/modifystate = 0 @@ -93,7 +99,7 @@ recharge_newshot(TRUE) update_appearance() -/obj/item/gun/energy/attack_self(mob/living/user as mob) +/obj/item/gun/energy/unique_action(mob/living/user) if(ammo_type.len > 1) select_fire(user) update_appearance() @@ -144,7 +150,9 @@ eject_cell(user) return ..() -/obj/item/gun/energy/can_shoot() +/obj/item/gun/energy/can_shoot(visuals) + if(safety && !visuals) + return FALSE var/obj/item/ammo_casing/energy/shot = ammo_type[select] return !QDELETED(cell) ? (cell.charge >= shot.e_cost) : FALSE @@ -196,6 +204,7 @@ if (shot.select_name) to_chat(user, "[src] is now set to [shot.select_name].") chambered = null + playsound(user, 'sound/weapons/gun/general/selector.ogg', 100, TRUE) recharge_newshot(TRUE) update_appearance() return @@ -217,10 +226,17 @@ . = ..() if(!automatic_charge_overlays || QDELETED(src)) return - // Every time I see code this "flexible", a kitten fucking dies + if(cell) + . += "[icon_state]_cell" + // Every time I see code this "flexible", a kitten fucking dies //it got worse + //todo: refactor this a bit to allow showing of charge on a gun's cell var/overlay_icon_state = "[icon_state]_charge" var/obj/item/ammo_casing/energy/shot = ammo_type[modifystate ? select : 1] var/ratio = get_charge_ratio() + if(cell) + . += "[icon_state]_cell" + if(ratio == 0) + . += "[icon_state]_cellempty" if(ratio == 0) if(modifystate) . += "[icon_state]_[shot.select_name]" @@ -243,7 +259,7 @@ ///Used by update_icon_state() and update_overlays() /obj/item/gun/energy/proc/get_charge_ratio() - return can_shoot() ? CEILING(clamp(cell.charge / cell.maxcharge, 0, 1) * charge_sections, 1) : 0 + return can_shoot(visuals = TRUE) ? CEILING(clamp(cell.charge / cell.maxcharge, 0, 1) * charge_sections, 1) : 0 // Sets the ratio to 0 if the gun doesn't have enough charge to fire, or if its power cell is removed. /obj/item/gun/energy/vv_edit_var(var_name, var_value) @@ -268,18 +284,18 @@ else if(BB.nodamage || !BB.damage || BB.damage_type == STAMINA) user.visible_message("[user] tries to light [user.p_their()] [A.name] with [src], but it doesn't do anything. Dumbass.") playsound(user, E.fire_sound, 50, TRUE) - playsound(user, BB.hitsound, 50, TRUE) + playsound(user, BB.hitsound_non_living, 50, TRUE) cell.use(E.e_cost) . = "" else if(BB.damage_type != BURN) user.visible_message("[user] tries to light [user.p_their()] [A.name] with [src], but only succeeds in utterly destroying it. Dumbass.") playsound(user, E.fire_sound, 50, TRUE) - playsound(user, BB.hitsound, 50, TRUE) + playsound(user, BB.hitsound_non_living, 50, TRUE) cell.use(E.e_cost) qdel(A) . = "" else playsound(user, E.fire_sound, 50, TRUE) - playsound(user, BB.hitsound, 50, TRUE) + playsound(user, BB.hitsound_non_living, 50, TRUE) cell.use(E.e_cost) . = "[user] casually lights their [A.name] with [src]. Damn." diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 1e4af286d44f..223cdc09e157 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -6,10 +6,11 @@ ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) modifystate = 1 can_flashlight = TRUE - ammo_x_offset = 3 + ammo_x_offset = 2 flight_x_offset = 15 flight_y_offset = 10 dual_wield_spread = 60 + manufacturer = MANUFACTURER_SHARPLITE_NEW /obj/item/gun/energy/e_gun/mindshield pin = /obj/item/firing_pin/implant/mindshield @@ -34,19 +35,35 @@ set_gun_light(new /obj/item/flashlight/seclite(src)) return ..() -/obj/item/gun/energy/e_gun/stun - name = "tactical energy gun" - desc = "Military issue energy gun, is able to fire stun rounds." +/obj/item/gun/energy/e_gun/hades + name = "SL AL-655 'Hades' energy rifle" + desc = "The standard issue rifle of Nanotrasen's Security Forces. Most have been put in long term storage following the ICW, and usually aren't issued to low ranking security divisions." + icon = 'icons/obj/guns/48x32guns.dmi' icon_state = "energytac" ammo_x_offset = 2 - ammo_type = list(/obj/item/ammo_casing/energy/electrode/spec, /obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) + charge_sections = 5 + ammo_type = list(/obj/item/ammo_casing/energy/laser/assault, /obj/item/ammo_casing/energy/disabler) + cell_type = /obj/item/stock_parts/cell/gun/upgraded + + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + + wield_delay = 0.7 SECONDS + wield_slowdown = 0.6 + spread_unwielded = 20 + +/obj/item/gun/energy/e_gun/hades/Initialize() + . = ..() + AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) /obj/item/gun/energy/e_gun/old name = "prototype energy gun" - desc = "NT-P:01 Prototype Energy Gun. Early stage development of a unique laser rifle that has multifaceted energy lens allowing the gun to alter the form of projectile it fires on command." + desc = "NT-P:01 Prototype Energy Gun. Early stage development of a unique laser rifle that has a multifaceted energy lens, allowing the gun to alter the form of projectile it fires on command. The project was a dud, and Nanotrasen later acquired Sharplite to suit its laser weapon needs." icon_state = "protolaser" ammo_x_offset = 2 ammo_type = list(/obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/electrode/old) + manufacturer = MANUFACTURER_NANOTRASEN_OLD /obj/item/gun/energy/e_gun/mini/practice_phaser name = "practice phaser" @@ -63,18 +80,21 @@ ammo_type = list(/obj/item/ammo_casing/energy/disabler/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/ion/hos, /obj/item/ammo_casing/energy/electrode/hos) shaded_charge = TRUE resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF + manufacturer = MANUFACTURER_SHARPLITE_NEW /obj/item/gun/energy/e_gun/hos/brazil name = "modified antique laser gun" desc = "It's somehow modified to have more firemodes." icon_state = "capgun_brazil_hos" item_state = "hoslaser" + manufacturer = MANUFACTURER_SHARPLITE /obj/item/gun/energy/e_gun/hos/brazil/true - desc = "By using a original antique laser gun with a intact nuclear power cell, it is truly one of the finest weapons in this area of space." + desc = "This genuine antique laser gun, modified with an experimental suite of alternative firing modes based on the X-01 MultiPhase Energy Gun, is now truly one of the finest weapons in the frontier." icon_state = "capgun_hos" item_state = "hoslaser" selfcharge = 1 + manufacturer = MANUFACTURER_SHARPLITE /obj/item/gun/energy/e_gun/dragnet name = "\improper DRAGnet" @@ -120,6 +140,7 @@ var/reactor_overloaded var/fail_tick = 0 var/fail_chance = 0 + manufacturer = MANUFACTURER_NONE /obj/item/gun/energy/e_gun/nuclear/process() if(fail_tick > 0) @@ -194,9 +215,13 @@ charge_sections = 3 weapon_weight = WEAPON_LIGHT +/obj/item/gun/energy/e_gun/smg/Initialize() + . = ..() + AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) + /obj/item/gun/energy/e_gun/iot name = "\improper E-SG 500 Second Edition" - desc = "A improved version of the E-SG 255. It now includes two firing modes, disable and kill, while still keeping that sweed integrated computer. Please note that the screen is right next to the switch mode button." + desc = "A improved version of the E-SG 255. It now includes two firing modes, disable and kill, while still keeping that sweet integrated computer. Please note that the screen is right next to the switch mode button." lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' inhand_x_dimension = 64 @@ -208,3 +233,17 @@ ammo_type = list(/obj/item/ammo_casing/energy/disabler/scatter/ultima, /obj/item/ammo_casing/energy/laser/ultima) var/obj/item/modular_computer/integratedNTOS var/NTOS_type = /obj/item/modular_computer/internal + +/obj/item/gun/energy/e_gun/e11 + name = "E-11 hybrid energy rifle" + desc = "A hybrid energy gun fondly remembered as one of the worst weapons ever made. It hurts, but that's only if it manages to hit its target." + icon_state = "e11" + ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser/eoehoma) + can_flashlight = TRUE + ammo_x_offset = 0 + flight_x_offset = 20 + flight_y_offset = 9 + spread = 80 + dual_wield_spread = 140 + shaded_charge = TRUE + manufacturer = MANUFACTURER_EOEHOMA diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 7928094cab13..8a829153fcfd 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -18,6 +18,10 @@ internal_cell = TRUE custom_price = 750 w_class = WEIGHT_CLASS_BULKY + + muzzleflash_iconstate = "muzzle_flash_light" + muzzle_flash_color = COLOR_WHITE + var/overheat_time = 16 var/holds_charge = FALSE var/unique_frequency = FALSE // modified by KA modkits @@ -113,7 +117,7 @@ if(!QDELING(src) && !holds_charge) // Put it on a delay because moving item from slot to hand // calls dropped(). - addtimer(CALLBACK(src, .proc/empty_if_not_held), 2) + addtimer(CALLBACK(src, PROC_REF(empty_if_not_held)), 2) /obj/item/gun/energy/kinetic_accelerator/proc/empty_if_not_held() if(!ismob(loc)) @@ -144,7 +148,7 @@ carried = 1 deltimer(recharge_timerid) - recharge_timerid = addtimer(CALLBACK(src, .proc/reload), recharge_time * carried, TIMER_STOPPABLE) + recharge_timerid = addtimer(CALLBACK(src, PROC_REF(reload)), recharge_time * carried, TIMER_STOPPABLE) /obj/item/gun/energy/kinetic_accelerator/emp_act(severity) return diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 4551014cafea..0c02e2ff90e8 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -1,5 +1,5 @@ /obj/item/gun/energy/laser - name = "laser gun" + name = "SL L-204 laser gun" desc = "A basic energy-based laser gun that fires concentrated beams of light which pass through glass and thin metal." icon_state = "laser" item_state = "laser" @@ -7,44 +7,43 @@ custom_materials = list(/datum/material/iron=2000) ammo_type = list(/obj/item/ammo_casing/energy/lasergun) ammo_x_offset = 1 - shaded_charge = 1 + shaded_charge = TRUE supports_variations = VOX_VARIATION + manufacturer = MANUFACTURER_SHARPLITE_NEW + + spread = 0 + spread_unwielded = 10 /obj/item/gun/energy/laser/practice name = "practice laser gun" - desc = "A modified version of the basic laser gun, this one fires less concentrated energy bolts designed for target practice." + desc = "A modified version of the L-204 laser gun, this one fires less concentrated energy bolts designed for target practice." ammo_type = list(/obj/item/ammo_casing/energy/laser/practice) - clumsy_check = 0 + clumsy_check = TRUE item_flags = NONE /obj/item/gun/energy/laser/retro - name ="retro laser gun" - icon_state = "retro" - desc = "An older model of the basic lasergun, no longer used by Nanotrasen's private security or military forces. Nevertheless, it is still quite deadly and easy to maintain, making it a favorite amongst pirates and other outlaws." - ammo_x_offset = 3 - -/obj/item/gun/energy/laser/retro/old - name ="laser gun" + name ="SL L-104 retro laser gun" icon_state = "retro" - desc = "First generation lasergun, developed by Nanotrasen. Suffers from ammo issues but its unique ability to recharge its ammo without the need of a magazine helps compensate. You really hope someone has developed a better lasergun while you were in cryo." - ammo_type = list(/obj/item/ammo_casing/energy/lasergun/old) + desc = "An antiquated model of the basic lasergun, no longer used or sold by Sharplite. Nevertheless, the sheer popularity of this model makes it a somewhat common sight to this day." ammo_x_offset = 3 + manufacturer = MANUFACTURER_SHARPLITE /obj/item/gun/energy/laser/captain name = "antique laser gun" icon_state = "caplaser" item_state = null - desc = "This is an antique laser gun. All craftsmanship is of the highest quality. It is decorated with assistant leather and chrome. The object menaces with spikes of energy. On the item is an image of Space Station 13. The station is exploding." + desc = "This is the SL X-00, an antique laser gun, out of production for decades and well beyond anyone's capacity to recreate. All craftsmanship is of the highest quality. It is decorated with ashdrake leather and chrome. The gun menaces with spikes of energy. On the item is an image of a space station. The station is exploding." force = 10 ammo_x_offset = 3 - selfcharge = 1 + selfcharge = TRUE resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF + manufacturer = MANUFACTURER_SHARPLITE /obj/item/gun/energy/laser/captain/brazil icon_state = "capgun_brazil" item_state = "caplaser" - desc = "This is an antique laser gun. It seems all the high quality materials it was once made of are now scratched up and torn. The nuclear power cell has been removed, and will no longer automaticly recharge." - selfcharge = 0 + desc = "This is the SL X-00, an antique laser gun, out of production for decades and well beyond anyone's capacity to recreate. It seems all the high quality materials it was once made of are now scratched up and torn. The nuclear power cell has been removed, and the gun will no longer automatically recharge." + selfcharge = FALSE /obj/item/gun/energy/laser/captain/scattershot name = "scatter shot laser rifle" @@ -58,6 +57,7 @@ can_charge = FALSE desc = "An energy-based laser gun that draws power from the cyborg's internal energy cell directly. So this is what freedom looks like?" use_cyborg_cell = TRUE + manufacturer = MANUFACTURER_NONE /obj/item/gun/energy/laser/cyborg/emp_act() return @@ -66,6 +66,7 @@ name = "scatter laser gun" desc = "A laser gun equipped with a refraction kit that spreads bolts." ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter, /obj/item/ammo_casing/energy/laser) + manufacturer = MANUFACTURER_NONE /obj/item/gun/energy/laser/scatter/shotty name = "energy shotgun" @@ -76,6 +77,7 @@ shaded_charge = 0 pin = /obj/item/firing_pin/implant/mindshield ammo_type = list(/obj/item/ammo_casing/energy/disabler/scatter, /obj/item/ammo_casing/energy/electrode) + manufacturer = MANUFACTURER_NONE ///Laser Cannon @@ -93,6 +95,7 @@ ammo_type = list(/obj/item/ammo_casing/energy/laser/accelerator) pin = null ammo_x_offset = 3 + manufacturer = MANUFACTURER_SHARPLITE /obj/item/gun/energy/lasercannon/unrestricted pin = /obj/item/firing_pin @@ -135,6 +138,7 @@ pin = /obj/item/firing_pin/tag/blue ammo_x_offset = 2 selfcharge = TRUE + manufacturer = MANUFACTURER_NONE /obj/item/gun/energy/laser/bluetag/hitscan ammo_type = list(/obj/item/ammo_casing/energy/laser/bluetag/hitscan) @@ -149,12 +153,13 @@ pin = /obj/item/firing_pin/tag/red ammo_x_offset = 2 selfcharge = TRUE + manufacturer = MANUFACTURER_NONE /obj/item/gun/energy/laser/redtag/hitscan ammo_type = list(/obj/item/ammo_casing/energy/laser/redtag/hitscan) /obj/item/gun/energy/laser/iot - name = "\improper E-SG 255 Ultimate" + name = "\improper SL E-255 Ultimate" desc = "An energy shotgun with an integrated computer system for surveillance and statistics tracking." lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' @@ -166,6 +171,7 @@ ammo_type = list(/obj/item/ammo_casing/energy/disabler/scatter/ultima) var/obj/item/modular_computer/integratedNTOS var/NTOS_type = /obj/item/modular_computer/internal + manufacturer = MANUFACTURER_SHARPLITE_NEW /obj/item/gun/energy/laser/iot/Initialize() . = ..() @@ -195,9 +201,43 @@ w_class = WEIGHT_CLASS_NORMAL cell_type = /obj/item/stock_parts/cell/gun/mini ammo_type = list(/obj/item/ammo_casing/energy/lasergun/hitscan) + manufacturer = MANUFACTURER_SHARPLITE_NEW /obj/item/gun/energy/laser/hitscanpistol/examine_more(mob/user) if(in_range(src, user) || isobserver(user)) - . = list("You examine [src] closer. Under the grip is a small inscription: \"NT CN SVALINN 2502\".") + . = list("You examine [src] closer. Under the grip is a small inscription: \"NT CN SVALINN 462\".") else . = list("You try to examine [src] closer, but you're too far away.") + +/obj/item/gun/energy/laser/e10 + name = "E-10 laser pistol" + desc = "A very old laser weapon. Despite the extreme age of some of these weapons, they are sometimes preferred to newer, mass-produced Nanotrasen laser weapons." + icon_state = "e10" + w_class = WEIGHT_CLASS_SMALL + ammo_type = list(/obj/item/ammo_casing/energy/lasergun/eoehoma) + manufacturer = MANUFACTURER_EOEHOMA + +/obj/item/gun/energy/laser/e50 + name = "E-50 energy emitter" + desc = "A heavy and extremely powerful laser. Sets targets on fire and kicks ass, but it uses a massive amount of energy per shot and is generally awkward to handle." + + icon = 'icons/obj/guns/48x32guns.dmi' + icon_state = "e50" + + big_gun = TRUE + cell_type = /obj/item/stock_parts/cell/gun/large + ammo_type = list(/obj/item/ammo_casing/energy/laser/eoehoma/e50) + weapon_weight = WEAPON_HEAVY + manufacturer = MANUFACTURER_EOEHOMA + + wield_delay = 0.7 SECONDS + wield_slowdown = 0.6 + spread_unwielded = 20 + + shaded_charge = FALSE + ammo_x_offset = 4 + charge_sections = 2 + w_class = WEIGHT_CLASS_BULKY + slot_flags = 0 + + diff --git a/code/modules/projectiles/guns/energy/laser_gatling.dm b/code/modules/projectiles/guns/energy/laser_gatling.dm index 029c5f8a2693..b21e176b92e8 100644 --- a/code/modules/projectiles/guns/energy/laser_gatling.dm +++ b/code/modules/projectiles/guns/energy/laser_gatling.dm @@ -22,6 +22,7 @@ . = ..() gun = new(src) battery = new(src) + gun.cell = battery START_PROCESSING(SSobj, src) /obj/item/minigunpack/Destroy() @@ -107,7 +108,7 @@ slot_flags = null w_class = WEIGHT_CLASS_HUGE custom_materials = null - weapon_weight = WEAPON_HEAVY + weapon_weight = WEAPON_MEDIUM ammo_type = list(/obj/item/ammo_casing/energy/laser/minigun) cell_type = /obj/item/stock_parts/cell/crap item_flags = NEEDS_PERMIT | SLOWS_WHILE_IN_HAND @@ -120,7 +121,7 @@ ammo_pack = loc AddElement(/datum/element/update_icon_blocker) - AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) return ..() /obj/item/gun/energy/minigun/Destroy() diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index a4d252107fc6..f5efacbf96c3 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -1,6 +1,7 @@ /obj/item/gun/energy/pulse name = "pulse rifle" - desc = "A heavy-duty, multifaceted energy rifle with three modes. Preferred by front-line combat personnel." + desc = "A top-of-the-line, heavy-duty, multifaceted energy rifle with three firing modes. The gold standard for Nanotrasen's heavier security specialists." + icon = 'icons/obj/guns/48x32guns.dmi' icon_state = "pulse" item_state = null w_class = WEIGHT_CLASS_BULKY @@ -8,9 +9,17 @@ modifystate = TRUE flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK - ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse, /obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser) + ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse, /obj/item/ammo_casing/energy/laser) internal_cell = TRUE //prevents you from giving it an OP cell - WS Edit - cell_type = "/obj/item/stock_parts/cell/pulse" + cell_type = /obj/item/stock_parts/cell/pulse //somone make this backpack mounted, or connected to the deathsquad suit at some point + manufacturer = MANUFACTURER_SHARPLITE_NEW + ammo_x_offset = 2 + charge_sections = 6 + + spread_unwielded = 25 + + muzzleflash_iconstate = "muzzle_flash_pulse" + muzzle_flash_color = COLOR_BRIGHT_BLUE /obj/item/gun/energy/pulse/emp_act(severity) return @@ -33,21 +42,24 @@ . = ..() /obj/item/gun/energy/pulse/loyalpin - pin = /obj/item/firing_pin/implant/mindshield + pin = /obj/item/firing_pin /obj/item/gun/energy/pulse/carbine name = "pulse carbine" - desc = "A compact variant of the pulse rifle with less firepower but easier storage." - w_class = WEIGHT_CLASS_NORMAL - slot_flags = ITEM_SLOT_BELT + desc = "A next-generation pulse weapon for Nanotrasen's security forces. High production costs and logistical issues have limited its deployment to specialist Loss Prevention and Emergency Response units." + icon = 'icons/obj/guns/energy.dmi' + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK icon_state = "pulse_carbine" item_state = null internal_cell = FALSE big_gun = TRUE //haha gun go brr - cell_type = "/obj/item/stock_parts/cell/gun/large" + cell_type = /obj/item/stock_parts/cell/gun/large can_flashlight = TRUE flight_x_offset = 18 flight_y_offset = 12 + ammo_x_offset = 2 + charge_sections = 4 /obj/item/gun/energy/pulse/carbine/loyalpin pin = /obj/item/firing_pin/implant/mindshield @@ -55,11 +67,14 @@ /obj/item/gun/energy/pulse/pistol name = "pulse pistol" desc = "A pulse rifle in an easily concealed handgun package with low capacity." + icon = 'icons/obj/guns/energy.dmi' w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT icon_state = "pulse_pistol" item_state = "gun" - cell_type = "/obj/item/stock_parts/cell/pulse/pistol" + cell_type = /obj/item/stock_parts/cell/pulse/pistol + ammo_x_offset = 2 + charge_sections = 4 /obj/item/gun/energy/pulse/pistol/loyalpin pin = /obj/item/firing_pin/implant/mindshield @@ -67,7 +82,7 @@ /obj/item/gun/energy/pulse/destroyer name = "pulse destroyer" desc = "A heavy-duty energy rifle built for pure destruction." - cell_type = "/obj/item/stock_parts/cell/infinite" + cell_type = /obj/item/stock_parts/cell/infinite ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse) /obj/item/gun/energy/pulse/destroyer/attack_self(mob/living/user) @@ -78,4 +93,4 @@ desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun, it's the size of the hole it puts through people." icon_state = "m1911" item_state = "gun" - cell_type = "/obj/item/stock_parts/cell/infinite" + cell_type = /obj/item/stock_parts/cell/infinite diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 44c667892e4a..5b16a06a0ef5 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -12,6 +12,7 @@ flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK ammo_type = list(/obj/item/ammo_casing/energy/ion) + manufacturer = MANUFACTURER_SHARPLITE_NEW /obj/item/gun/energy/ionrifle/emp_act(severity) return @@ -103,6 +104,7 @@ unique_frequency = TRUE can_flashlight = FALSE max_mod_capacity = 0 + manufacturer = MANUFACTURER_SCARBOROUGH /obj/item/gun/energy/kinetic_accelerator/crossbow/halloween name = "candy corn crossbow" @@ -120,6 +122,7 @@ suppressed = null ammo_type = list(/obj/item/ammo_casing/energy/bolt/large) pin = null + manufacturer = MANUFACTURER_NONE /obj/item/gun/energy/plasmacutter @@ -260,7 +263,7 @@ /obj/item/gun/energy/wormhole_projector/proc/create_portal(obj/projectile/beam/wormhole/W, turf/target) var/obj/effect/portal/P = new /obj/effect/portal(target, 300, null, FALSE, null, atmos_link) - RegisterSignal(P, COMSIG_PARENT_QDELETING, .proc/on_portal_destroy) + RegisterSignal(P, COMSIG_PARENT_QDELETING, PROC_REF(on_portal_destroy)) if(istype(W, /obj/projectile/beam/wormhole/orange)) qdel(p_orange) p_orange = P @@ -384,7 +387,7 @@ return return ..() -/obj/item/gun/energy/gravity_gun/can_shoot() +/obj/item/gun/energy/gravity_gun/can_shoot(visuals) if(!firing_core) return FALSE return ..() diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 2caeca6f3a16..fc11a632e039 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -6,6 +6,9 @@ ammo_type = list(/obj/item/ammo_casing/energy/electrode) ammo_x_offset = 3 + spread = 2 + spread_unwielded = 4 + /obj/item/gun/energy/e_gun/advtaser name = "hybrid taser" desc = "A dual-mode taser designed to fire both short-range high-power electrodes and long-range disabler beams." @@ -13,6 +16,9 @@ ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/disabler) ammo_x_offset = 2 + spread = 2 + spread_unwielded = 4 + /obj/item/gun/energy/e_gun/advtaser/cyborg name = "cyborg taser" desc = "An integrated hybrid taser that draws directly from a cyborg's power cell. The weapon contains a limiter to prevent the cyborg's power cell from overheating." @@ -30,9 +36,19 @@ can_flashlight = TRUE flight_x_offset = 15 flight_y_offset = 10 + manufacturer = MANUFACTURER_SHARPLITE_NEW + + spread = 2 + spread_unwielded = 4 /obj/item/gun/energy/disabler/cyborg name = "cyborg disabler" desc = "An integrated disabler that draws from a cyborg's power cell. This weapon contains a limiter to prevent the cyborg's power cell from overheating." can_charge = FALSE use_cyborg_cell = TRUE + +/obj/item/gun/energy/disabler/e60 + name = "E-60" + desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." + icon_state = "e60" + manufacturer = MANUFACTURER_EOEHOMA diff --git a/code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm b/code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm new file mode 100644 index 000000000000..db0149a53b04 --- /dev/null +++ b/code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm @@ -0,0 +1,83 @@ +/obj/item/gun/energy/kalix //blue //todo: fix up belt_mirror.dmi, it's incomprehensible + name = "Etherbor BG-12" + desc = "Brought to you by Etherbor Industries, proudly based within the PGF, is the BG-12 energy beam gun! The BG-12 is Etherbor's current newest civilian energy weapon model." + icon_state = "kalixgun" + item_state = "kalixgun" + icon = 'icons/obj/guns/faction/gezena/energy.dmi' + lefthand_file = 'icons/obj/guns/faction/gezena/lefthand.dmi' + righthand_file = 'icons/obj/guns/faction/gezena/righthand.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/belt.dmi' + w_class = WEIGHT_CLASS_BULKY + + cell_type = /obj/item/stock_parts/cell/gun/pgf + ammo_type = list(/obj/item/ammo_casing/energy/kalix) + + load_sound = 'sound/weapons/gun/gauss/pistol_reload.ogg' + + manufacturer = MANUFACTURER_PGF + +/obj/projectile/beam/hitscan/kalix + name = "concentrated energy" + tracer_type = /obj/effect/projectile/tracer/kalix + muzzle_type = /obj/effect/projectile/muzzle/kalix + impact_type = /obj/effect/projectile/impact/kalix + hitscan_light_color_override = LIGHT_COLOR_ELECTRIC_CYAN + muzzle_flash_color_override = LIGHT_COLOR_ELECTRIC_CYAN + impact_light_color_override = LIGHT_COLOR_ELECTRIC_CYAN + range = 10 + +/obj/item/ammo_casing/energy/kalix + projectile_type = /obj/projectile/beam/hitscan/kalix + fire_sound = 'sound/weapons/gun/energy/laserpistol.ogg' + e_cost = 850 + +/obj/item/gun/energy/kalix/pgf + name = "Etherbor BG-16" + desc = "An advanced variant of the BG-12, the BG-16 is the military-grade beam gun designed and manufactured by Etherbor Industries as the standard-issue weapon of the PGF." + icon_state = "pgfgun" + item_state = "pgfgun" + + cell_type = /obj/item/stock_parts/cell/gun/pgf + ammo_type = list(/obj/item/ammo_casing/energy/pgf) + +/obj/projectile/beam/hitscan/pgf + name = "concentrated energy" + tracer_type = /obj/effect/projectile/tracer/pgf + muzzle_type = /obj/effect/projectile/muzzle/pgf + impact_type = /obj/effect/projectile/impact/pgf + hitscan_light_color_override = LIGHT_COLOR_ELECTRIC_GREEN + muzzle_flash_color_override = LIGHT_COLOR_ELECTRIC_GREEN + impact_light_color_override = LIGHT_COLOR_ELECTRIC_GREEN + damage_constant = 0.9 + damage = 25 + range = 6 + +/obj/item/ammo_casing/energy/pgf + projectile_type = /obj/projectile/beam/hitscan/pgf + fire_sound = 'sound/weapons/gun/energy/laserpistol.ogg' + e_cost = 1000 + +/obj/item/gun/energy/kalix/pgf/heavy + name = "Etherbor HBG-7" + desc = "For when a BG-16 doesn’t cut it, the far bulkier HBG-7, provided by your friends at Etherbor Industries, has the stopping power and fire rate to bring down any target where a smaller caliber weapon just wouldn't cut it." + icon_state = "pgfheavy" + item_state = "pgfheavy" + icon = 'icons/obj/guns/faction/gezena/48x32.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/back.dmi' + w_class = WEIGHT_CLASS_HUGE + slot_flags = ITEM_SLOT_BACK + + wield_delay = 0.7 SECONDS + wield_slowdown = 0.6 + spread_unwielded = 20 + + ammo_type = list(/obj/item/ammo_casing/energy/pgf/heavy) + +/obj/projectile/beam/hitscan/pgf/heavy + damage = 35 + range = 12 + +/obj/item/ammo_casing/energy/pgf/heavy + projectile_type = /obj/projectile/beam/hitscan/pgf/heavy + fire_sound = 'sound/weapons/gun/energy/lasersniper.ogg' + e_cost = 2000 diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index 4822e2b59ba7..fad4f485aa88 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -148,7 +148,7 @@ current_zoom_x = 0 current_zoom_y = 0 -/obj/item/gun/energy/beam_rifle/attack_self(mob/user) +/obj/item/gun/energy/beam_rifle/unique_action(mob/living/user) projectile_setting_pierce = !projectile_setting_pierce to_chat(user, "You set \the [src] to [projectile_setting_pierce? "pierce":"impact"] mode.") aiming_beam() @@ -265,7 +265,7 @@ current_user = null if(istype(user)) current_user = user - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/on_mob_move) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_mob_move)) listeningTo = user /obj/item/gun/energy/beam_rifle/onMouseDrag(src_object, over_object, src_location, over_location, params, mob) @@ -521,7 +521,7 @@ tracer_type = /obj/effect/projectile/tracer/tracer/aiming name = "aiming beam" hitsound = null - hitsound_wall = null + hitsound_non_living = null nodamage = TRUE damage = 0 constant_tracer = TRUE diff --git a/code/modules/projectiles/guns/misc/blastcannon.dm b/code/modules/projectiles/guns/misc/blastcannon.dm index d2a8c80827fc..888e680479ea 100644 --- a/code/modules/projectiles/guns/misc/blastcannon.dm +++ b/code/modules/projectiles/guns/misc/blastcannon.dm @@ -35,7 +35,7 @@ QDEL_NULL(bomb) return ..() -/obj/item/gun/blastcannon/attack_self(mob/user) +/obj/item/gun/blastcannon/unique_action(mob/living/user) if(bomb) bomb.forceMove(user.loc) user.put_in_hands(bomb) diff --git a/code/modules/projectiles/guns/misc/bow.dm b/code/modules/projectiles/guns/misc/bow.dm index df30f5a89022..9f2957ba40cd 100644 --- a/code/modules/projectiles/guns/misc/bow.dm +++ b/code/modules/projectiles/guns/misc/bow.dm @@ -28,7 +28,7 @@ chambered = magazine.get_round(TRUE) chambered.forceMove(src) -/obj/item/gun/ballistic/bow/attack_self(mob/user) +/obj/item/gun/ballistic/bow/unique_action(mob/living/user) if(chambered) to_chat(user, "You [drawn ? "release" : "draw"] [src]'s string.") if(!drawn) @@ -51,7 +51,7 @@ /obj/item/ammo_casing/caseless/arrow/despawning/dropped() . = ..() - addtimer(CALLBACK(src, .proc/floor_vanish), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(floor_vanish)), 5 SECONDS) /obj/item/ammo_casing/caseless/arrow/despawning/proc/floor_vanish() if(isturf(loc)) diff --git a/code/modules/projectiles/guns/misc/grenade_launcher.dm b/code/modules/projectiles/guns/misc/grenade_launcher.dm index 588e697c28c5..b381c8267738 100644 --- a/code/modules/projectiles/guns/misc/grenade_launcher.dm +++ b/code/modules/projectiles/guns/misc/grenade_launcher.dm @@ -43,4 +43,4 @@ F.active = 1 F.icon_state = initial(F.icon_state) + "_active" playsound(user.loc, 'sound/weapons/armbomb.ogg', 75, TRUE, -3) - addtimer(CALLBACK(F, /obj/item/grenade.proc/prime), 15) + addtimer(CALLBACK(F, TYPE_PROC_REF(/obj/item/grenade, prime)), 15) diff --git a/code/modules/projectiles/guns/misc/medbeam.dm b/code/modules/projectiles/guns/misc/medbeam.dm index 7061d7769ba4..dd676a46d068 100644 --- a/code/modules/projectiles/guns/misc/medbeam.dm +++ b/code/modules/projectiles/guns/misc/medbeam.dm @@ -67,7 +67,7 @@ current_target = target active = TRUE current_beam = user.Beam(current_target, icon_state="medbeam", time = 10 MINUTES, maxdistance = max_range, beam_type = /obj/effect/ebeam/medical) - RegisterSignal(current_beam, COMSIG_PARENT_QDELETING, .proc/beam_died)//this is a WAY better rangecheck than what was done before (process check) + RegisterSignal(current_beam, COMSIG_PARENT_QDELETING, PROC_REF(beam_died))//this is a WAY better rangecheck than what was done before (process check) SSblackbox.record_feedback("tally", "gun_fired", 1, type) diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm index efd99b2d5b49..34af73b855c6 100644 --- a/code/modules/projectiles/guns/misc/syringe_gun.dm +++ b/code/modules/projectiles/guns/misc/syringe_gun.dm @@ -38,7 +38,7 @@ . = ..() . += "Can hold [max_syringes] syringe\s. Has [syringes.len] syringe\s remaining." -/obj/item/gun/syringe/attack_self(mob/living/user) +/obj/item/gun/syringe/unique_action(mob/living/user) if(!syringes.len) to_chat(user, "[src] is empty!") return 0 diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index a50b6eed4ae6..7cc9b1c6ebb4 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -13,7 +13,17 @@ generic_canpass = FALSE //The sound this plays on impact. var/hitsound = 'sound/weapons/pierce.ogg' - var/hitsound_wall = "" + var/hitsound_non_living = "" + var/hitsound_glass + var/hitsound_stone + var/hitsound_metal + var/hitsound_wood + var/hitsound_snow + + var/near_miss_sound = "" + var/ricochet_sound = "" + + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/def_zone = "" //Aiming at @@ -158,7 +168,7 @@ var/can_hit_turfs = FALSE var/static/list/projectile_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) /obj/projectile/Initialize() @@ -223,11 +233,6 @@ if(!isliving(target)) if(impact_effect_type && !hitscan) new impact_effect_type(target_loca, hitx, hity) - if(isturf(target) && hitsound_wall) - var/volume = clamp(vol_by_damage() + 20, 0, 100) - if(suppressed) - volume = 5 - playsound(loc, hitsound_wall, volume, TRUE, -1) return BULLET_ACT_HIT var/mob/living/L = target @@ -264,8 +269,7 @@ to_chat(L, "You're shot by \a [src][organ_hit_text]!") else if(hitsound) - var/volume = vol_by_damage() - playsound(src, hitsound, volume, TRUE, -1) + playsound(get_turf(L), hitsound, 100, TRUE, -1) L.visible_message("[L] is hit by \a [src][organ_hit_text]!", \ "You're hit by \a [src][organ_hit_text]!", null, COMBAT_MESSAGE_RANGE) L.on_hit(src) @@ -350,6 +354,8 @@ range = decayedRange if(hitscan) store_hitscan_collision(pcache) + if(ricochet_sound) + playsound(get_turf(src), ricochet_sound, 120, TRUE, 2) //make it loud, we want to make it known when a ricochet happens. for aesthetic reasons mostly return TRUE var/distance = get_dist(T, starting) // Get the distance between the turf shot from and the mob we hit and use that for the calculations. @@ -521,6 +527,16 @@ if(can_hit_target(M, M == original, TRUE)) Impact(M) break + if(!near_miss_sound) + return FALSE + if(decayedRange <= range+2) + return FALSE + for(var/mob/misser in range(1,src)) + if(!(misser.stat <= SOFT_CRIT)) + continue + misser.playsound_local(get_turf(src), near_miss_sound, 100, FALSE) + misser.shake_animation(damage) + /** * Projectile crossed: When something enters a projectile's tile, make sure the projectile hits it if it should be hitting it. diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index d17f94af19ae..5849c2751728 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -2,10 +2,21 @@ name = "laser" icon_state = "laser" pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE - damage = 20 + damage = 25 + armour_penetration = -5 damage_type = BURN - hitsound = 'sound/weapons/sear.ogg' - hitsound_wall = 'sound/weapons/effects/searwall.ogg' + + hitsound = 'sound/weapons/gun/hit/energy_impact1.ogg' + hitsound_non_living = 'sound/weapons/effects/searwall.ogg' + hitsound_glass = 'sound/weapons/effects/searwall.ogg' + hitsound_stone = 'sound/weapons/sear.ogg' + hitsound_metal = 'sound/weapons/effects/searwall.ogg' + hitsound_wood = 'sound/weapons/sear.ogg' + hitsound_snow = 'sound/weapons/sear.ogg' + + near_miss_sound = 'sound/weapons/gun/hit/energy_miss1.ogg' + ricochet_sound = 'sound/weapons/gun/hit/energy_ricochet1.ogg' + flag = "laser" eyeblur = 2 impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser @@ -14,7 +25,7 @@ light_power = 1 light_color = COLOR_SOFT_RED ricochets_max = 50 //Honk! - ricochet_chance = 80 + ricochet_chance = 90 reflectable = REFLECT_NORMAL /obj/projectile/beam/throw_atom_into_space() @@ -26,6 +37,15 @@ muzzle_type = /obj/effect/projectile/muzzle/laser impact_type = /obj/effect/projectile/impact/laser +/obj/projectile/beam/laser/eoehoma + damage = 25 + armour_penetration = -10 + +/obj/projectile/beam/laser/assault + icon_state = "heavylaser" + damage = 25 + armour_penetration = 20 + /obj/projectile/beam/laser/heavylaser name = "heavy laser" icon_state = "heavylaser" @@ -111,7 +131,7 @@ /obj/projectile/beam/pulse name = "pulse" icon_state = "u_laser" - damage = 50 + damage = 40 impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser light_color = LIGHT_COLOR_BLUE tracer_type = /obj/effect/projectile/tracer/pulse @@ -120,11 +140,6 @@ /obj/projectile/beam/pulse/on_hit(atom/target, blocked = FALSE) . = ..() - if (!QDELETED(target) && (isturf(target) || istype(target, /obj/structure/))) - if(isobj(target)) - SSexplosions.medobj += target - else - SSexplosions.medturf += target var/turf/targets_turf = target.loc if(!isopenturf(targets_turf)) return @@ -150,7 +165,7 @@ /obj/projectile/beam/emitter name = "emitter beam" icon_state = "emitter" - damage = 30 + damage = 60 //osha violation waiting to happen impact_effect_type = /obj/effect/temp_visual/impact_effect/green_laser light_color = LIGHT_COLOR_GREEN @@ -247,3 +262,10 @@ muzzle_type = /obj/effect/projectile/muzzle/laser/emitter impact_type = /obj/effect/projectile/impact/laser/emitter impact_effect_type = null + +/obj/projectile/beam/emitter/hitscan/on_hit(atom/target, blocked = FALSE) + . = ..() + var/turf/targets_turf = target.loc + if(!isopenturf(targets_turf)) + return + targets_turf.IgniteTurf(rand(8,22), "green") diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 6123789df438..43106f97deec 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -6,5 +6,20 @@ damage_type = BRUTE nodamage = FALSE flag = "bullet" - hitsound_wall = "ricochet" + + hitsound = "bullet_hit" + hitsound_non_living = "bullet_impact" + hitsound_glass = "bullet_hit_glass" + hitsound_stone = "bullet_hit_stone" + hitsound_metal = "bullet_hit_metal" + hitsound_wood = "bullet_hit_wood" + hitsound_snow = "bullet_hit_snow" + + near_miss_sound = "bullet_miss" + ricochet_sound = "bullet_bounce" + + impact_effect_type = /obj/effect/temp_visual/impact_effect + ricochets_max = 5 //should be enough to scare the shit out of someone + ricochet_chance = 30 + ricochet_decay_damage = 0.5 //shouldnt being reliable, but deadly enough to be careful if you accidentally hit an ally diff --git a/code/modules/projectiles/projectile/bullets/dnainjector.dm b/code/modules/projectiles/projectile/bullets/dnainjector.dm index ad20c47eeb71..b8cd6f92b10d 100644 --- a/code/modules/projectiles/projectile/bullets/dnainjector.dm +++ b/code/modules/projectiles/projectile/bullets/dnainjector.dm @@ -3,7 +3,7 @@ icon_state = "syringeproj" var/obj/item/dnainjector/injector damage = 5 - hitsound_wall = "shatter" + hitsound_non_living = "shatter" /obj/projectile/bullet/dnainjector/on_hit(atom/target, blocked = FALSE) if(iscarbon(target)) diff --git a/code/modules/projectiles/projectile/bullets/gauss.dm b/code/modules/projectiles/projectile/bullets/gauss.dm index d057213f92e7..0955745ed798 100644 --- a/code/modules/projectiles/projectile/bullets/gauss.dm +++ b/code/modules/projectiles/projectile/bullets/gauss.dm @@ -3,8 +3,7 @@ /obj/projectile/bullet/gauss name = "ferromagnetic pellet" icon_state = "gauss-pellet" - damage = 20 - armour_penetration = 40 + damage = 25 range = 35 light_color = COLOR_SOFT_RED light_range = 3 @@ -15,6 +14,7 @@ name = "ferromagnetic lance" icon_state = "redtrac" damage = 30 + armour_penetration = 20 // Ferromagnetic Slug (Model H) @@ -22,4 +22,5 @@ name = "ferromagnetic slug" icon_state = "gauss-slug" damage = 50 + armour_penetration = -60 speed = 0.8 diff --git a/code/modules/projectiles/projectile/bullets/revolver.dm b/code/modules/projectiles/projectile/bullets/revolver.dm index dcf8bb682387..ecd8b5abbbb9 100644 --- a/code/modules/projectiles/projectile/bullets/revolver.dm +++ b/code/modules/projectiles/projectile/bullets/revolver.dm @@ -19,13 +19,9 @@ // .38 (Colt Detective Special & Winchester) /obj/projectile/bullet/c38 - name = ".38 special bullet" + name = ".38 bullet" damage = 25 - armour_penetration = -30 - ricochets_max = 2 - ricochet_chance = 50 - ricochet_auto_aim_angle = 10 - ricochet_auto_aim_range = 3 + armour_penetration = -20 /obj/projectile/bullet/c38/match name = ".38 match bullet" @@ -126,7 +122,7 @@ /obj/projectile/bullet/a4570 name = ".45-70 bullet" - damage = 40 //crits in 3-4 taps depending on armor + damage = 45 //crits in 3-4 taps depending on armor /obj/projectile/bullet/a4570/match name = ".45-70 match bullet" @@ -152,3 +148,11 @@ ..() explosion(target, -1, 0, 1) return BULLET_ACT_HIT + + +/obj/projectile/bullet/c22lr + name = ".22LR bullet" + damage = 20 + armour_penetration = -45 + ricochet_incidence_leeway = 20 + ricochet_chance = 45 diff --git a/code/modules/projectiles/projectile/bullets/rifle.dm b/code/modules/projectiles/projectile/bullets/rifle.dm index a69ef88b4f68..f72ecfdfbcd4 100644 --- a/code/modules/projectiles/projectile/bullets/rifle.dm +++ b/code/modules/projectiles/projectile/bullets/rifle.dm @@ -65,3 +65,11 @@ speed = 0.3 damage = 30 armour_penetration = 40 + + +// .299 Eoehoma Caseless (E-40) + +/obj/projectile/bullet/c299 + name = ".229 Eoehoma caseless bullet" + damage = 25 + armour_penetration = 20 diff --git a/code/modules/projectiles/projectile/bullets/shotgun.dm b/code/modules/projectiles/projectile/bullets/shotgun.dm index 0f2d43206fc8..0979a268ee16 100644 --- a/code/modules/projectiles/projectile/bullets/shotgun.dm +++ b/code/modules/projectiles/projectile/bullets/shotgun.dm @@ -1,6 +1,7 @@ /obj/projectile/bullet/slug name = "12g shotgun slug" damage = 40 + armour_penetration = -10 speed = 0.5 /obj/projectile/bullet/slug/beanbag @@ -11,7 +12,8 @@ /obj/projectile/bullet/incendiary/shotgun name = "incendiary slug" - damage = 20 + damage = 25 + armour_penetration = -10 speed = 0.5 /obj/projectile/bullet/incendiary/shotgun/dragonsbreath @@ -65,12 +67,14 @@ ///How much stamina damage is subtracted per tile? var/tile_dropoff_stamina = 1.5 //As above + icon_state = "pellet" armour_penetration = -35 speed = 0.5 /obj/projectile/bullet/pellet/buckshot name = "buckshot pellet" - damage = 10 + damage = 20 + armour_penetration = -10 /obj/projectile/bullet/pellet/rubbershot name = "rubbershot pellet" diff --git a/code/modules/projectiles/projectile/energy/net_snare.dm b/code/modules/projectiles/projectile/energy/net_snare.dm index 2a9196ce9ef8..0e1dff3d1e72 100644 --- a/code/modules/projectiles/projectile/energy/net_snare.dm +++ b/code/modules/projectiles/projectile/energy/net_snare.dm @@ -37,7 +37,7 @@ if(com.power_station && com.power_station.teleporter_hub && com.power_station.engaged) teletarget = com.target - addtimer(CALLBACK(src, .proc/pop, teletarget), 30) + addtimer(CALLBACK(src, PROC_REF(pop), teletarget), 30) /obj/effect/nettingportal/proc/pop(teletarget) if(teletarget) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 00f323d995fa..458c19d053da 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -438,8 +438,8 @@ /obj/structure/closet/decay/Initialize() . = ..() if(auto_destroy) - addtimer(CALLBACK(src, .proc/bust_open), 5 MINUTES) - addtimer(CALLBACK(src, .proc/magicly_lock), 5) + addtimer(CALLBACK(src, PROC_REF(bust_open)), 5 MINUTES) + addtimer(CALLBACK(src, PROC_REF(magicly_lock)), 5) /obj/structure/closet/decay/proc/magicly_lock() if(!welded) @@ -453,7 +453,7 @@ /obj/structure/closet/decay/proc/decay() animate(src, alpha = 0, time = 30) - addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, src), 30) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), 30) /obj/structure/closet/decay/open(mob/living/user, force = FALSE) . = ..() @@ -461,12 +461,12 @@ if(icon_state == magic_icon) //check if we used the magic icon at all before giving it the lesser magic icon unmagify() else - addtimer(CALLBACK(src, .proc/decay), 15 SECONDS) + addtimer(CALLBACK(src, PROC_REF(decay)), 15 SECONDS) /obj/structure/closet/decay/proc/unmagify() icon_state = weakened_icon update_appearance() - addtimer(CALLBACK(src, .proc/decay), 15 SECONDS) + addtimer(CALLBACK(src, PROC_REF(decay)), 15 SECONDS) icon_welded = "welded" /obj/projectile/magic/flying @@ -718,7 +718,7 @@ return BULLET_ACT_BLOCK var/turf/T = get_turf(target) for(var/i=0, i<50, i+=10) - addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, T, -1, exp_heavy, exp_light, exp_flash, FALSE, FALSE, exp_fire), i) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(explosion), T, -1, exp_heavy, exp_light, exp_flash, FALSE, FALSE, exp_fire), i) //still magic related, but a different path diff --git a/code/modules/projectiles/projectile/special/hallucination.dm b/code/modules/projectiles/projectile/special/hallucination.dm index 74fa2b2ad17a..c146932df085 100644 --- a/code/modules/projectiles/projectile/special/hallucination.dm +++ b/code/modules/projectiles/projectile/special/hallucination.dm @@ -100,7 +100,7 @@ layer = ABOVE_MOB_LAYER hal_target.client.images += blood animate(blood, pixel_x = target_pixel_x, pixel_y = target_pixel_y, alpha = 0, time = 5) - addtimer(CALLBACK(src, .proc/cleanup_blood), 5) + addtimer(CALLBACK(src, PROC_REF(cleanup_blood)), 5) /obj/projectile/hallucination/proc/cleanup_blood(image/blood) hal_target.client.images -= blood @@ -128,7 +128,7 @@ hal_icon_state = "bullet" hal_fire_sound = "gunshot" hal_hitsound = 'sound/weapons/pierce.ogg' - hal_hitsound_wall = "ricochet" + hal_hitsound_wall = "bullet_impact" hal_impact_effect = "impact_bullet" hal_impact_effect_wall = "impact_bullet" hit_duration = 5 @@ -171,7 +171,7 @@ if(hal_target.dna && hal_target.dna.check_mutation(HULK)) hal_target.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk") else if((hal_target.status_flags & CANKNOCKDOWN) && !HAS_TRAIT(hal_target, TRAIT_STUNIMMUNE)) - addtimer(CALLBACK(hal_target, /mob/living/carbon.proc/do_jitter_animation, 20), 5) + addtimer(CALLBACK(hal_target, TYPE_PROC_REF(/mob/living/carbon, do_jitter_animation), 20), 5) /obj/projectile/hallucination/disabler name = "disabler beam" diff --git a/code/modules/projectiles/projectile/special/rocket.dm b/code/modules/projectiles/projectile/special/rocket.dm index d86f90b9368e..0680c62279fd 100644 --- a/code/modules/projectiles/projectile/special/rocket.dm +++ b/code/modules/projectiles/projectile/special/rocket.dm @@ -19,7 +19,7 @@ /obj/projectile/bullet/a84mm/on_hit(atom/target, blocked = FALSE) ..() - explosion(target, -1, 1, 3, 1, 0, flame_range = 4) + explosion(target, 1, 1, 2, 1, 0, flame_range = 4) if(ismecha(target)) var/obj/mecha/M = target @@ -69,7 +69,7 @@ ..() for(var/i in sturdy) if(istype(target, i)) - explosion(target, 0, 1, 1, 2) + explosion(target, 1, 1, 1, 2) return BULLET_ACT_HIT //if(istype(target, /turf/closed) || ismecha(target)) new /obj/item/broken_missile(get_turf(src), 1) diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index eb01cf28b714..1fefd1d55031 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -217,7 +217,7 @@ update_appearance() var/turf/source_turf = get_turf(src) log_virus("A culture bottle was printed for the virus [A.admin_details()] at [loc_name(source_turf)] by [key_name(usr)]") - addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 50) + addtimer(CALLBACK(src, PROC_REF(reset_replicator_cooldown)), 50) . = TRUE if("create_vaccine_bottle") if (wait) @@ -229,7 +229,7 @@ B.reagents.add_reagent(/datum/reagent/vaccine, 15, list(id)) wait = TRUE update_appearance() - addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 200) + addtimer(CALLBACK(src, PROC_REF(reset_replicator_cooldown)), 200) . = TRUE diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index b638c82fef78..5e5bd21747dc 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -241,7 +241,7 @@ var/offset = prob(50) ? -2 : 2 var/old_pixel_x = pixel_x animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = -1) //start shaking - addtimer(CALLBACK(src, .proc/stop_shaking, old_pixel_x), duration) + addtimer(CALLBACK(src, PROC_REF(stop_shaking), old_pixel_x), duration) /obj/machinery/reagentgrinder/proc/stop_shaking(old_px) animate(src) @@ -255,7 +255,7 @@ playsound(src, 'sound/machines/blender.ogg', 50, TRUE) else playsound(src, 'sound/machines/juicer.ogg', 20, TRUE) - addtimer(CALLBACK(src, .proc/stop_operating), time / speed) + addtimer(CALLBACK(src, PROC_REF(stop_operating)), time / speed) /obj/machinery/reagentgrinder/proc/stop_operating() operating = FALSE @@ -314,7 +314,7 @@ if(!beaker || machine_stat & (NOPOWER|BROKEN)) return operate_for(50, juicing = TRUE) - addtimer(CALLBACK(src, /obj/machinery/reagentgrinder/proc/mix_complete), 50) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/reagentgrinder, mix_complete)), 50) /obj/machinery/reagentgrinder/proc/mix_complete() if(beaker?.reagents.total_volume) diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index bf22e6967862..a35a8c91542a 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -101,6 +101,7 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) var/amount = round(reac_volume*modifier, 0.1) if(amount >= 0.5) M.reagents.add_reagent(type, amount) + SSblackbox.record_feedback("nested tally", "reagent expose mob", 1, list("[name]", "[M]", "[method]", "[reac_volume]")) return 1 /// Applies this reagent to an [/obj] diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 4d97ff8fdcd1..0e6b166ff810 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -73,7 +73,7 @@ All effects don't start immediately, but rather get worse over time; the rate is if(!isliving(M)) return - if(method in list(TOUCH, VAPOR, PATCH)) + if(method in list(TOUCH, SMOKE, VAPOR, PATCH)) M.adjust_fire_stacks(reac_volume / 15) if(iscarbon(M)) @@ -365,8 +365,8 @@ All effects don't start immediately, but rather get worse over time; the rate is shot_glass_icon_state = "shotglassred" /datum/reagent/consumable/ethanol/lizardwine - name = "lizard wine" - description = "An alcoholic beverage from Space China, made by infusing lizard tails in ethanol." + name = "Kalixcis Wine" + description = "A relatively popular Kalixcane beverage, made by infusing cacti in ethanol." color = "#7E4043" // rgb: 126, 64, 67 boozepwr = 45 quality = DRINK_FANTASTIC @@ -1939,7 +1939,8 @@ All effects don't start immediately, but rather get worse over time; the rate is generate_data_info(data) /datum/reagent/consumable/ethanol/fruit_wine/proc/generate_data_info(list/data) - var/minimum_percent = 0.15 //Percentages measured between 0 and 1. + // BYOND's compiler fails to catch non-consts in a ranged switch case, and it causes incorrect behavior. So this needs to explicitly be a constant. + var/const/minimum_percent = 0.15 //Percentages measured between 0 and 1. var/list/primary_tastes = list() var/list/secondary_tastes = list() glass_name = "glass of [name]" @@ -2433,7 +2434,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "A spin on the classic. Artists and street fighters swear by this stuff." /datum/reagent/consumable/ethanol/out_of_lime/expose_mob(mob/living/carbon/human/consumer, method=INGEST, reac_volume) - if(method == INGEST || method == TOUCH) + if(method == INGEST || method == TOUCH || method == SMOKE) if(istype(consumer)) consumer.hair_color = pick("0ad","a0f","f73","d14","0b5","fc2","084","05e","d22","fa0") consumer.facial_hair_color = pick("0ad","a0f","f73","d14","0b5","fc2","084","05e","d22","fa0") @@ -2454,89 +2455,3 @@ All effects don't start immediately, but rather get worse over time; the rate is M.clockcultslurring = min(M.clockcultslurring + 3, 3) M.stuttering = min(M.stuttering + 3, 3) ..() - -/datum/reagent/consumable/ethanol/ash_wine - name = "Ashwine" - description = "A traditional sacrament for members of the Saint-Roumain Militia. Known to grant visions, and is used both for ritual and entertainment purposes aboard Saint-Roumain vessels." - color = "#293D25" - boozepwr = 80 - quality = DRINK_VERYGOOD - taste_description = "devotional energy and a hint of high-potency hallucinogens" - glass_name = "Ashwine" - glass_desc = "A traditional sacrament for members of the Saint-Roumain Militia. Known to grant visions, and is used both for ritual and entertainment purposes aboard Saint-Roumain vessels." - breakaway_flask_icon_state = "baflaskashwine" - -/datum/reagent/consumable/ethanol/ash_wine/on_mob_life(mob/living/M) - var/high_message = pick("you feel far more devoted to the cause", "you feel like you should go on a hunt") - var/cleanse_message = pick("divine light purifies you", "you are purged of foul spirts") - //needs to get updated anytime someone adds a srm job - var/static/list/increased_toxin_loss = list("Hunter Montagne", "Hunter Doctor", "Hunter", "Shadow") - if(prob(10)) - M.set_drugginess(10) - to_chat(M, "[high_message]") - if(M.mind && (M.mind.assigned_role in increased_toxin_loss)) - M.adjustToxLoss(-2) - if(prob(10)) - to_chat(M, "[cleanse_message]") - ..() - . = 1 - -/datum/reagent/consumable/ethanol/ash_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1) - if(method == TOUCH) - if(!iscarbon(M)) - reac_volume = reac_volume * 2 - M.Jitter(3 * reac_volume) - M.Dizzy(2 * reac_volume) - M.set_drugginess(3 * reac_volume) - M.emote(pick("twitch","giggle")) - -/datum/reagent/consumable/ethanol/ice_wine - name = "Icewine" - description = "A specialized brew utilized by members of the Saint-Roumain Militia, designed to assist in temperature regulation while working in hot environments. Known to give one the cold shoulder when thrown." - color = "#21EFEB" - boozepwr = 70 - taste_description = "a cold night on the hunt" - glass_name = "Icewine" - glass_desc = "A specialized brew utilized by members of the Saint-Roumain Militia, designed to assist in temperature regulation while working in hot environments. Known to give one the cold shoulder when thrown." - breakaway_flask_icon_state = "baflaskicewine" - -/datum/reagent/consumable/ethanol/ice_wine/on_mob_life(mob/living/M) - M.adjust_bodytemperature(-10 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) - M.adjustFireLoss(-1) - ..() - return TRUE - -/datum/reagent/consumable/ethanol/ice_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1) - if(method == TOUCH) - if(!iscarbon(M)) - reac_volume = reac_volume * 2 - M.adjust_bodytemperature((-20*reac_volume) * TEMPERATURE_DAMAGE_COEFFICIENT) - M.Paralyze(reac_volume) - walk(M, 0) //stops them mid pathing even if they're stunimmunee - M.apply_status_effect(/datum/status_effect/ice_block_talisman, (0.1 * reac_volume) SECONDS) - -/datum/reagent/consumable/ethanol/shock_wine - name = "Shock Wine" - description = "A stimulating brew utilized by members of the Saint-Roumain Militia, created to allow trackers to keep up with highly mobile prey. Known to have a shocking effect when thrown" - color = "#00008b" - taste_description = "the adrenaline of the chase" - glass_name = "Shock Wine" - glass_desc = "A stimulating brew utilized by members of the Saint-Roumain Militia, created to allow trackers to keep up with highly mobile prey. Known to have a shocking effect when thrown" - breakaway_flask_icon_state = "baflaskshockwine" - -/datum/reagent/consumable/ethanol/shock_wine/on_mob_metabolize(mob/living/M) - ..() - M.add_movespeed_modifier(/datum/movespeed_modifier/reagent/shock_wine) - -/datum/reagent/consumable/ethanol/shock_wine/on_mob_end_metabolize(mob/living/M) - M.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/shock_wine) - ..() - -/datum/reagent/consumable/ethanol/shock_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1) - if(method == TOUCH) - //simple mobs are so tanky and i want this to be useful on them - if(iscarbon(M)) - reac_volume = reac_volume / 4 - M.electrocute_act(reac_volume, src, siemens_coeff = 1, flags = SHOCK_NOSTUN|SHOCK_TESLA) - do_sparks(5, FALSE, M) - playsound(M, 'sound/machines/defib_zap.ogg', 100, TRUE) diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index 4fc71a1eba0d..88ce3870e575 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -425,7 +425,7 @@ WS End*/ var/mob/living/carbon/carbies = M if (carbies.stat == DEAD) show_message = 0 - if(method in list(PATCH, TOUCH)) + if(method in list(PATCH, TOUCH, SMOKE)) var/harmies = min(carbies.getBruteLoss(),carbies.adjustBruteLoss(-1.25 * reac_volume)*-1) var/burnies = min(carbies.getFireLoss(),carbies.adjustFireLoss(-1.25 * reac_volume)*-1) carbies.adjustToxLoss((harmies+burnies)*0.66) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 984378477292..e4e6bdd1d620 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -118,18 +118,18 @@ F.fry(volume) F.reagents.add_reagent(/datum/reagent/consumable/cooking_oil, reac_volume) -/datum/reagent/consumable/cooking_oil/expose_mob(mob/living/M, method = TOUCH, reac_volume, show_message = 1, touch_protection = 0) +/datum/reagent/consumable/cooking_oil/expose_mob(mob/living/M, method = TOUCH, method = SMOKE, reac_volume, show_message = 1, touch_protection = 0) if(!istype(M)) return var/boiling = FALSE if(holder && holder.chem_temp >= fry_temperature) boiling = TRUE - if(method != VAPOR && method != TOUCH) //Directly coats the mob, and doesn't go into their bloodstream + if(method != VAPOR && method != TOUCH && method != SMOKE) //Directly coats the mob, and doesn't go into their bloodstream return ..() if(!boiling) return TRUE var/oil_damage = ((holder.chem_temp / fry_temperature) * 0.33) //Damage taken per unit - if(method == TOUCH) + if(method == TOUCH || method == SMOKE) oil_damage *= 1 - M.get_permeability_protection() var/FryLoss = round(min(38, oil_damage * reac_volume)) if(!HAS_TRAIT(M, TRAIT_OIL_FRIED)) @@ -139,7 +139,7 @@ M.emote("scream") playsound(M, 'sound/machines/fryer/deep_fryer_emerge.ogg', 25, TRUE) ADD_TRAIT(M, TRAIT_OIL_FRIED, "cooking_oil_react") - addtimer(CALLBACK(M, /mob/living/proc/unfry_mob), 3) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/living, unfry_mob)), 3) if(FryLoss) M.adjustFireLoss(FryLoss) return TRUE @@ -287,7 +287,7 @@ return var/mob/living/carbon/victim = M - if(method == TOUCH || method == VAPOR) + if(method == TOUCH || method == SMOKE || method == VAPOR) var/pepper_proof = victim.is_pepper_proof() //check for protection @@ -300,7 +300,7 @@ victim.confused = max(M.confused, 5) // 10 seconds victim.Knockdown(3 SECONDS) victim.add_movespeed_modifier(/datum/movespeed_modifier/reagent/pepperspray) - addtimer(CALLBACK(victim, /mob.proc/remove_movespeed_modifier, /datum/movespeed_modifier/reagent/pepperspray), 10 SECONDS) + addtimer(CALLBACK(victim, TYPE_PROC_REF(/mob, remove_movespeed_modifier), /datum/movespeed_modifier/reagent/pepperspray), 10 SECONDS) victim.update_damage_hud() if(method == INGEST) if(!holder.has_reagent(/datum/reagent/consumable/milk)) @@ -561,7 +561,7 @@ ..() /datum/reagent/consumable/honey/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(iscarbon(M) && (method in list(TOUCH, VAPOR, PATCH))) + if(iscarbon(M) && (method in list(TOUCH, VAPOR, PATCH, SMOKE))) var/mob/living/carbon/C = M for(var/s in C.surgeries) var/datum/surgery/S = s @@ -673,7 +673,7 @@ /datum/reagent/consumable/tinlux/proc/add_reagent_light(mob/living/living_holder) var/obj/effect/dummy/lighting_obj/moblight/mob_light_obj = living_holder.mob_light(2) LAZYSET(mobs_affected, living_holder, mob_light_obj) - RegisterSignal(living_holder, COMSIG_PARENT_QDELETING, .proc/on_living_holder_deletion) + RegisterSignal(living_holder, COMSIG_PARENT_QDELETING, PROC_REF(on_living_holder_deletion)) /datum/reagent/consumable/tinlux/proc/remove_reagent_light(mob/living/living_holder) UnregisterSignal(living_holder, COMSIG_PARENT_QDELETING) @@ -821,7 +821,7 @@ ingested = TRUE return SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "pyre_elementum", /datum/mood_event/irritate, name) // Applied if not eaten - if(method == TOUCH || method == VAPOR) + if(method == TOUCH || method == SMOKE || method == VAPOR) M.adjust_fire_stacks(reac_volume / 5) return ..() diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 98d72d1fd5c6..24be546cb3f6 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -415,7 +415,7 @@ if(iscarbon(M)) if (M.stat == DEAD) show_message = 0 - if(method in list(PATCH, TOUCH)) + if(method in list(PATCH, TOUCH, SMOKE)) M.adjustBruteLoss(-1.25 * reac_volume) M.adjustFireLoss(-1.25 * reac_volume) if(show_message) @@ -942,9 +942,9 @@ M.notify_ghost_cloning("Your body is being revived with Strange Reagent!") M.do_jitter_animation(10) var/excess_healing = 5*(reac_volume-amount_to_revive) //excess reagent will heal blood and organs across the board - addtimer(CALLBACK(M, /mob/living/carbon.proc/do_jitter_animation, 10), 40) //jitter immediately, then again after 4 and 8 seconds - addtimer(CALLBACK(M, /mob/living/carbon.proc/do_jitter_animation, 10), 80) - addtimer(CALLBACK(M, /mob/living.proc/revive, FALSE, FALSE, excess_healing), 79) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/living/carbon, do_jitter_animation), 10), 40) //jitter immediately, then again after 4 and 8 seconds + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/living/carbon, do_jitter_animation), 10), 80) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/living, revive), FALSE, FALSE, excess_healing), 79) ..() /datum/reagent/medicine/strange_reagent/on_mob_life(mob/living/carbon/M) @@ -1642,7 +1642,7 @@ . = 1 /datum/reagent/medicine/polypyr/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH || method == VAPOR) + if(method == TOUCH || method == SMOKE || method == VAPOR) if(M && ishuman(M) && reac_volume >= 0.5) var/mob/living/carbon/human/H = M H.hair_color = "92f" diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 753d0f1408a6..9915ca9c4d24 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -18,7 +18,7 @@ if((D.spread_flags & DISEASE_SPREAD_SPECIAL) || (D.spread_flags & DISEASE_SPREAD_NON_CONTAGIOUS)) continue - if((method == TOUCH || method == VAPOR) && (D.spread_flags & DISEASE_SPREAD_CONTACT_FLUIDS)) + if(((method == TOUCH || method == SMOKE) || method == VAPOR) && (D.spread_flags & DISEASE_SPREAD_CONTACT_FLUIDS)) L.ContactContractDisease(D) else //ingest, patch or inject L.ForceContractDisease(D) @@ -198,7 +198,7 @@ /datum/reagent/water/expose_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with water can help put them out! if(!istype(M)) return - if(method == TOUCH) + if(method == TOUCH || method == SMOKE) M.adjust_fire_stacks(-(reac_volume / 10)) M.ExtinguishMob() ..() @@ -330,7 +330,7 @@ /datum/reagent/hydrogen_peroxide/expose_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with h2o2 can burn them ! if(!istype(M)) return - if(method == TOUCH) + if(method == TOUCH || method == SMOKE) M.adjustFireLoss(2, 0) // burns ..() @@ -340,7 +340,7 @@ taste_description = "suffering" /datum/reagent/fuel/unholywater/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH || method == VAPOR) + if((method == TOUCH || method == SMOKE) || method == VAPOR) M.reagents.add_reagent(type,reac_volume/4) return return ..() @@ -750,7 +750,7 @@ taste_description = "slime" /datum/reagent/aslimetoxin/expose_mob(mob/living/L, method=TOUCH, reac_volume) - if(method != TOUCH) + if(method != TOUCH && method != SMOKE) L.ForceContractDisease(new /datum/disease/transformation/slime(), FALSE, TRUE) /datum/reagent/gluttonytoxin @@ -998,7 +998,7 @@ taste_description = "bitterness" /datum/reagent/space_cleaner/sterilizine/expose_mob(mob/living/carbon/C, method=TOUCH, reac_volume) - if(method in list(TOUCH, VAPOR, PATCH)) + if(method in list(TOUCH, VAPOR, PATCH, SMOKE)) for(var/s in C.surgeries) var/datum/surgery/S = s S.speed_modifier = max(0.2, S.speed_modifier) @@ -1119,7 +1119,7 @@ //WS End /datum/reagent/bluespace/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH || method == VAPOR) + if((method == TOUCH || method == SMOKE) || method == VAPOR) do_teleport(M, get_turf(M), (reac_volume / 5), asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) //4 tiles per crystal ..() @@ -1128,7 +1128,7 @@ to_chat(M, "You feel unstable...") M.Jitter(2) current_cycle = 1 - addtimer(CALLBACK(M, /mob/living/proc/bluespace_shuffle), 30) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/living, bluespace_shuffle)), 30) ..() /mob/living/proc/bluespace_shuffle() @@ -1179,7 +1179,7 @@ accelerant_quality = 10 /datum/reagent/fuel/expose_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with welding fuel to make them easy to ignite! - if(method == TOUCH || method == VAPOR) + if((method == TOUCH || method == SMOKE) || method == VAPOR) M.adjust_fire_stacks(reac_volume / 10) return ..() @@ -1212,7 +1212,7 @@ M.adjustToxLoss(rand(5,10)) /datum/reagent/space_cleaner/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH || method == VAPOR) + if((method == TOUCH || method == SMOKE) || method == VAPOR) M.wash(clean_types) /datum/reagent/space_cleaner/ez_clean @@ -1229,7 +1229,7 @@ /datum/reagent/space_cleaner/ez_clean/expose_mob(mob/living/M, method=TOUCH, reac_volume) ..() - if((method == TOUCH || method == VAPOR) && !issilicon(M)) + if(((method == TOUCH || method == SMOKE) || method == VAPOR) && !issilicon(M)) M.adjustBruteLoss(1.5) M.adjustFireLoss(1.5) @@ -1870,7 +1870,7 @@ /datum/reagent/acetone_oxide/expose_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people kills people! if(!istype(M)) return - if(method == TOUCH) + if(method == TOUCH || method == SMOKE) M.adjustFireLoss(2, FALSE) // burns, M.adjust_fire_stacks((reac_volume / 10)) ..() @@ -1919,7 +1919,7 @@ var/can_colour_mobs = TRUE /datum/reagent/colorful_reagent/New() - SSticker.OnRoundstart(CALLBACK(src,.proc/UpdateColor)) + SSticker.OnRoundstart(CALLBACK(src, PROC_REF(UpdateColor))) /datum/reagent/colorful_reagent/proc/UpdateColor() color = pick(random_color_list) @@ -1944,13 +1944,13 @@ taste_description = "sourness" /datum/reagent/hair_dye/New() - SSticker.OnRoundstart(CALLBACK(src,.proc/UpdateColor)) + SSticker.OnRoundstart(CALLBACK(src, PROC_REF(UpdateColor))) /datum/reagent/hair_dye/proc/UpdateColor() color = pick(potential_colors) /datum/reagent/hair_dye/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH || method == VAPOR) + if((method == TOUCH || method == SMOKE) || method == VAPOR) if(M && ishuman(M)) var/mob/living/carbon/human/H = M H.hair_color = pick(potential_colors) @@ -1965,7 +1965,7 @@ taste_description = "sourness" /datum/reagent/barbers_aid/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH || method == VAPOR) + if((method == TOUCH || method == SMOKE) || method == VAPOR) if(M && ishuman(M) && !HAS_TRAIT(M, TRAIT_BALD)) var/mob/living/carbon/human/H = M var/datum/sprite_accessory/hair/picked_hair = pick(GLOB.hairstyles_list) @@ -1983,7 +1983,7 @@ taste_description = "sourness" /datum/reagent/concentrated_barbers_aid/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH || method == VAPOR) + if((method == TOUCH || method == SMOKE) || method == VAPOR) if(M && ishuman(M) && !HAS_TRAIT(M, TRAIT_BALD)) var/mob/living/carbon/human/H = M to_chat(H, "Your hair starts growing at an incredible speed!") @@ -1999,7 +1999,7 @@ taste_description = "bitterness" /datum/reagent/baldium/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH || method == VAPOR) + if((method == TOUCH || method == SMOKE) || method == VAPOR) if(M && ishuman(M)) var/mob/living/carbon/human/H = M to_chat(H, "Your hair is falling out in clumps!") @@ -2414,7 +2414,7 @@ /datum/reagent/gravitum/expose_obj(obj/O, volume) O.AddElement(/datum/element/forced_gravity, 0) - addtimer(CALLBACK(O, .proc/_RemoveElement, list(/datum/element/forced_gravity, 0)), volume * time_multiplier) + addtimer(CALLBACK(O, PROC_REF(_RemoveElement), list(/datum/element/forced_gravity, 0)), volume * time_multiplier) /datum/reagent/gravitum/on_mob_add(mob/living/L) L.AddElement(/datum/element/forced_gravity, 0) //0 is the gravity, and in this case weightless @@ -2565,14 +2565,14 @@ ) /datum/reagent/three_eye/on_mob_metabolize(mob/living/L) . = ..() - //addtimer(CALLBACK(L, /mob.proc/add_client_colour, /datum/client_colour/thirdeye), 1.5 SECONDS) + //addtimer(CALLBACK(L, TYPE_PROC_REF(/mob, add_client_colour), /datum/client_colour/thirdeye), 1.5 SECONDS) L.add_client_colour(/datum/client_colour/thirdeye) if(L.client?.holder) //You are worthy. worthy = TRUE L.visible_message("Grips their head and dances around, collapsing to the floor!", \ "Visions of a realm BYOND your own flash across your eyes, before it all goes black...") - addtimer(CALLBACK(L, /mob/living.proc/SetSleeping, 40 SECONDS), 10 SECONDS) - addtimer(CALLBACK(L.reagents, /datum/reagents.proc/remove_reagent, src.type, src.volume,), 10 SECONDS) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, SetSleeping), 40 SECONDS), 10 SECONDS) + addtimer(CALLBACK(L.reagents, TYPE_PROC_REF(/datum/reagents, remove_reagent), src.type, src.volume,), 10 SECONDS) return /datum/reagent/three_eye/on_mob_life(mob/living/carbon/M) @@ -2600,7 +2600,7 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M - addtimer(CALLBACK(H, /mob/living.proc/seizure), rand(1 SECONDS, 5 SECONDS)) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living, seizure)), rand(1 SECONDS, 5 SECONDS)) /datum/reagent/three_eye/overdose_process(mob/living/M) . = ..() @@ -2620,9 +2620,9 @@ to_chat(L, "Your mind reels and the world begins to fade away...") if(iscarbon(L)) var/mob/living/carbon/C = L - addtimer(CALLBACK(C, /mob/living/carbon.proc/adjustOrganLoss, ORGAN_SLOT_BRAIN, 200), 5 SECONDS) //Deathblow to the brain + addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon, adjustOrganLoss), ORGAN_SLOT_BRAIN, 200), 5 SECONDS) //Deathblow to the brain else - addtimer(CALLBACK(L, /mob/living.proc/gib), 5 SECONDS) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, gib)), 5 SECONDS) /datum/reagent/cement name = "Cement" @@ -2786,3 +2786,9 @@ description = "Fur obtained from griding up a polar bears hide" reagent_state = SOLID color = "#eeeeee" // rgb: 238, 238, 238 + +/datum/reagent/srm_bacteria + name = "Illestren Bacteria" + description = "Bacteria native to the Saint-Roumain Militia home planet." + color = "#5a4f42" + taste_description = "sour" diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 0445138a4e20..62c743558e13 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -319,7 +319,7 @@ O.extinguish() /datum/reagent/firefighting_foam/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method in list(VAPOR, TOUCH)) + if(method in list(VAPOR, TOUCH, SMOKE)) M.adjust_fire_stacks(-reac_volume) M.ExtinguishMob() ..() diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 9cde25afcac0..d95bd68759c7 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -104,7 +104,7 @@ T.atmos_spawn_air("plasma=[reac_volume];TEMP=[temp]") /datum/reagent/toxin/plasma/expose_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with plasma is stronger than fuel! - if(method == TOUCH || method == VAPOR) + if((method == TOUCH || method == SMOKE) || method == VAPOR) M.adjust_fire_stacks(reac_volume / 5) return ..() @@ -179,11 +179,6 @@ toxpwr = 0 taste_description = "mint" -/datum/reagent/toxin/minttoxin/on_mob_life(mob/living/carbon/M) - if(HAS_TRAIT(M, TRAIT_FAT)) - M.inflate_gib() - return ..() - /datum/reagent/toxin/carpotoxin name = "Carpotoxin" description = "A deadly neurotoxin produced by the dreaded spess carp." @@ -574,7 +569,7 @@ toxpwr = 0 /datum/reagent/toxin/itching_powder/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH || method == VAPOR) + if((method == TOUCH || method == SMOKE) || method == VAPOR) M.reagents?.add_reagent(/datum/reagent/toxin/itching_powder, reac_volume) /datum/reagent/toxin/itching_powder/on_mob_life(mob/living/carbon/M) diff --git a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm new file mode 100644 index 000000000000..df76f85b1f64 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm @@ -0,0 +1,211 @@ +/datum/reagent/consumable/ethanol/trickwine + name = "Trickwine" + description = "How is this even possible" + +/datum/reagent/consumable/ethanol/trickwine/ash_wine + name = "Ashwine" + description = "A traditional sacrament for members of the Saint-Roumain Militia. Known to grant visions, and is used both for ritual and entertainment purposes aboard Saint-Roumain vessels." + color = "#6CC66C" + boozepwr = 80 + quality = DRINK_VERYGOOD + taste_description = "devotional energy and a hint of high-potency hallucinogens" + glass_name = "Ashwine" + glass_desc = "A traditional sacrament for members of the Saint-Roumain Militia. Known to grant visions, and is used both for ritual and entertainment purposes aboard Saint-Roumain vessels." + breakaway_flask_icon_state = "baflaskashwine" + +/datum/reagent/consumable/ethanol/trickwine/ash_wine/on_mob_life(mob/living/M) + var/high_message = pick("You feel far more devoted to the cause", "You feel like you should go on a hunt") + var/cleanse_message = pick("Divine light purifies you.", "You are purged of foul spirts.") + if(prob(10)) + M.set_drugginess(10) + to_chat(M, "[high_message]") + if(M.faction && ("roumain" in M.faction)) + M.adjustToxLoss(-2) + if(prob(10)) + to_chat(M, "[cleanse_message]") + return ..() + +/datum/reagent/consumable/ethanol/trickwine/ash_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) + if(method == TOUCH) + if(!iscarbon(M)) + var/mob/living/simple_animal/hostile/hostile_target = M + var/hostile_ai_status = hostile_target.AIStatus + hostile_target.AIStatus = AI_OFF + addtimer(VARSET_CALLBACK(hostile_target, AIStatus, hostile_ai_status),reac_volume) + M.Jitter(3 * reac_volume) + M.Dizzy(2 * reac_volume) + M.set_drugginess(3 * reac_volume) + M.emote(pick("twitch","giggle")) + return ..() + +/datum/reagent/consumable/ethanol/trickwine/ice_wine + name = "Icewine" + description = "A specialized brew utilized by members of the Saint-Roumain Militia, designed to assist in temperature regulation while working in hot environments. Known to give one the cold shoulder when thrown." + color = "#C0F1EE" + boozepwr = 70 + taste_description = "a cold night on the hunt" + glass_name = "Icewine" + glass_desc = "A specialized brew utilized by members of the Saint-Roumain Militia, designed to assist in temperature regulation while working in hot environments. Known to give one the cold shoulder when thrown." + breakaway_flask_icon_state = "baflaskicewine" + +/datum/reagent/consumable/ethanol/trickwine/ice_wine/on_mob_life(mob/living/M) + M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjustFireLoss(-1) + return ..() + + +/datum/reagent/consumable/ethanol/trickwine/ice_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) + if(method == TOUCH) + var/paralyze_dur + if(!iscarbon(M)) + reac_volume = reac_volume * 2 + paralyze_dur = reac_volume + else + if(reac_volume <= 50) + paralyze_dur = reac_volume + else + paralyze_dur = 50 + ((reac_volume - 50) / 4) + M.adjust_bodytemperature((-20*reac_volume) * TEMPERATURE_DAMAGE_COEFFICIENT, 50) + M.Paralyze(paralyze_dur) + walk(M, 0) //stops them mid pathing even if they're stunimmunee + M.apply_status_effect(/datum/status_effect/ice_block_talisman, paralyze_dur) + return ..() + +/datum/reagent/consumable/ethanol/trickwine/shock_wine + name = "Shockwine" + description = "A stimulating brew utilized by members of the Saint-Roumain Militia, created to allow trackers to keep up with highly mobile prey. Known to have a shocking effect when thrown" + color = "#FEFEB8" + boozepwr = 70 + taste_description = "the adrenaline of the chase" + glass_name = "Shockwine" + glass_desc = "A stimulating brew utilized by members of the Saint-Roumain Militia, created to allow trackers to keep up with highly mobile prey. Known to have a shocking effect when thrown" + breakaway_flask_icon_state = "baflaskshockwine" + +/datum/reagent/consumable/ethanol/trickwine/shock_wine/on_mob_metabolize(mob/living/M) + ..() + M.add_movespeed_modifier(/datum/movespeed_modifier/reagent/shock_wine) + to_chat(M, "You feel faster the lightning!") + +/datum/reagent/consumable/ethanol/trickwine/shock_wine/on_mob_end_metabolize(mob/living/M) + M.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/shock_wine) + to_chat(M, "You slow to a crawl...") + ..() + +/datum/reagent/consumable/ethanol/trickwine/shock_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) + if(method == TOUCH) + //simple mobs are so tanky and i want this to be useful on them + if(iscarbon(M)) + reac_volume = reac_volume / 4 + M.electrocute_act(reac_volume, src, siemens_coeff = 1, flags = SHOCK_NOSTUN|SHOCK_TESLA) + do_sparks(5, FALSE, M) + playsound(M, 'sound/machines/defib_zap.ogg', 100, TRUE) + return ..() + +/datum/reagent/consumable/ethanol/trickwine/hearth_wine + name = "Hearthwine" + description = "A fiery brew utilized by members of the Saint-Roumain Militia, engineered to cauterize wounds in the field. Goes out in a blaze of glory when thrown." + color = "#FEE185" + boozepwr = 70 + taste_description = "the heat of battle" + glass_name = "Hearthwine" + glass_desc = "Fiery brew utilized by members of the Saint-Roumain Militia, engineered to cauterize wounds in the field. Goes out in a blaze of glory when thrown." + breakaway_flask_icon_state = "baflaskhearthwine" + +/datum/reagent/consumable/ethanol/trickwine/hearth_wine/on_mob_life(mob/living/M) + M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + H.bleed_rate = max(H.bleed_rate - 0.25, 0) + return ..() + +/datum/reagent/consumable/ethanol/trickwine/hearth_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) + if(method == TOUCH) + if(!iscarbon(M)) + reac_volume = reac_volume * 2 + M.fire_act() + var/turf/T = get_turf(M) + T.IgniteTurf(reac_volume) + new /obj/effect/hotspot(T, reac_volume * 1, FIRE_MINIMUM_TEMPERATURE_TO_EXIST + reac_volume * 10) + var/turf/otherT + for(var/direction in GLOB.cardinals) + otherT = get_step(T, direction) + otherT.IgniteTurf(reac_volume) + new /obj/effect/hotspot(otherT, reac_volume * 1, FIRE_MINIMUM_TEMPERATURE_TO_EXIST + reac_volume * 10) + return ..() + +/datum/reagent/consumable/ethanol/trickwine/force_wine + name = "Forcewine" + description = "A fortifying brew utilized by members of the Saint-Roumain Militia, created to protect against the esoteric. Known to act defensively when thrown." + color = "#709AAF" + boozepwr = 70 + taste_description = "the strength of your convictions" + glass_name = "Forcewine" + glass_desc = "A fortifying brew utilized by members of the Saint-Roumain Militia, created to protect against the esoteric. Known to act defensively when thrown." + breakaway_flask_icon_state = "baflaskforcewine" + +/datum/reagent/consumable/ethanol/trickwine/force_wine/on_mob_metabolize(mob/living/M) + ..() + ADD_TRAIT(M, TRAIT_ANTIMAGIC, "trickwine") + ADD_TRAIT(M, TRAIT_MINDSHIELD, "trickwine") + M.visible_message("[M] glows a dim grey aura") + +/datum/reagent/consumable/ethanol/trickwine/force_wine/on_mob_end_metabolize(mob/living/M) + M.visible_message("[M]'s aura fades away ") + REMOVE_TRAIT(M, TRAIT_ANTIMAGIC, "trickwine") + REMOVE_TRAIT(M, TRAIT_MINDSHIELD, "trickwine") + ..() + +/datum/reagent/consumable/ethanol/trickwine/force_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) + if(method == TOUCH) + if(!iscarbon(M)) + reac_volume = reac_volume * 2 + var/turf/T = get_turf(M) + var/turf/otherT + new /obj/effect/forcefield/resin(T, reac_volume * 4) + for(var/direction in GLOB.cardinals) + otherT = get_step(T, direction) + new /obj/effect/forcefield/resin(otherT, reac_volume * 4) + return ..() + +/datum/reagent/consumable/ethanol/trickwine/prism_wine + name = "Prismwine" + description = "A glittering brew utilized by members of the Saint-Roumain Militia, mixed to provide defense against the blasts and burns of foes and fauna alike. Softens targets against your own burns when thrown." + color = "#F0F0F0" + boozepwr = 70 + taste_description = "the reflective quality of meditation" + glass_name = "Prismwine" + glass_desc = "A glittering brew utilized by members of the Saint-Roumain Militia, mixed to provide defense against the blasts and burns of foes and fauna alike. Softens targets against your own burns when thrown." + breakaway_flask_icon_state = "baflaskprismwine" + +/datum/reagent/consumable/ethanol/trickwine/prism_wine/on_mob_metabolize(mob/living/carbon/human/M) + ..() + ADD_TRAIT(M, TRAIT_REFLECTIVE, "trickwine") + if(M.physiology.burn_mod <= initial(M.physiology.burn_mod)) + M.physiology.burn_mod *= 0.5 + M.add_filter("prism-wine", 2, list("type"="outline", "color"="#8FD7DF", "size"=1)) + M.visible_message("[M] seems to shimmer with power!") + +/datum/reagent/consumable/ethanol/trickwine/prism_wine/on_mob_end_metabolize(mob/living/carbon/human/M) + REMOVE_TRAIT(M, TRAIT_REFLECTIVE, "trickwine") + if(M.physiology.burn_mod > initial(M.physiology.burn_mod)) + M.physiology.burn_mod *= 2 + M.remove_filter("prism-wine") + M.visible_message("[M] has returned to normal!") + ..() + +/datum/reagent/consumable/ethanol/trickwine/prism_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) + if(method == TOUCH) + if(istype(M, /mob/living/simple_animal/hostile/asteroid)) + var/mob/living/simple_animal/hostile/asteroid/the_animal = M + the_animal.armor.modifyRating(energy = -50) + spawn(reac_volume SECONDS) + the_animal.armor.modifyRating(energy = 50) + if(ishuman(M)) + var/mob/living/carbon/human/the_human = M + if(the_human.physiology.burn_mod < 2) + the_human.physiology.burn_mod *= 2 + the_human.visible_message("[the_human] seemed weakend!") + spawn(reac_volume SECONDS) + the_human.physiology.burn_mod *= 0.5 + the_human.visible_message("[the_human] has returned to normal!") + return ..() diff --git a/code/modules/reagents/chemistry/recipes.dm b/code/modules/reagents/chemistry/recipes.dm index 57df3331c799..4aa0bbc2fe94 100644 --- a/code/modules/reagents/chemistry/recipes.dm +++ b/code/modules/reagents/chemistry/recipes.dm @@ -68,7 +68,7 @@ else if(setting_type) if(step_away(X, T) && moving_power > 1) //Can happen twice at most. So this is fine. - addtimer(CALLBACK(GLOBAL_PROC, .proc/_step_away, X, T), 2) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(_step_away), X, T), 2) else if(step_towards(X, T) && moving_power > 1) - addtimer(CALLBACK(GLOBAL_PROC, .proc/_step_towards, X, T), 2) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(_step_towards), X, T), 2) diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index 82be8a075cc1..f6f46d3c3970 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -92,7 +92,7 @@ strengthdiv = 3 /datum/chemical_reaction/reagent_explosion/tatp/New() - SSticker.OnRoundstart(CALLBACK(src,.proc/UpdateInfo)) //method used by secret sauce. + SSticker.OnRoundstart(CALLBACK(src, PROC_REF(UpdateInfo))) //method used by secret sauce. /datum/chemical_reaction/reagent_explosion/tatp/proc/UpdateInfo() //note to the future: find the PR that refactors this so that we can port more of https://github.com/tgstation/tgstation/pull/50775 required_temp = 450 + rand(-49,49) //this gets loaded only on round start @@ -109,7 +109,7 @@ strengthdiv = 3 /datum/chemical_reaction/reagent_explosion/tatp_explosion/New() //did i mention i have no idea what i am doing? - zeta - SSticker.OnRoundstart(CALLBACK(src,.proc/UpdateInfo)) + SSticker.OnRoundstart(CALLBACK(src, PROC_REF(UpdateInfo))) /datum/chemical_reaction/reagent_explosion/tatp_explosion/on_reaction(datum/reagents/holder, created_volume) var/strengthdiv_adjust = created_volume / (2100 / initial(strengthdiv)) @@ -151,7 +151,7 @@ R.stun(20) R.reveal(100) R.adjustHealth(50) - addtimer(CALLBACK(src, .proc/divine_explosion, round(created_volume/48,1),get_turf(holder.my_atom)), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(divine_explosion), round(created_volume/48,1),get_turf(holder.my_atom)), 2 SECONDS) ..() /datum/chemical_reaction/reagent_explosion/potassium_explosion/holyboom/proc/divine_explosion(size, turf/T) @@ -175,7 +175,7 @@ /datum/chemical_reaction/reagent_explosion/gunpowder_explosion/on_reaction(datum/reagents/holder, created_volume) - addtimer(CALLBACK(src, .proc/explode, holder, created_volume), rand(5,10) SECONDS) + addtimer(CALLBACK(src, PROC_REF(explode), holder, created_volume), rand(5,10) SECONDS) /datum/chemical_reaction/thermite results = list(/datum/reagent/thermite = 3) @@ -460,14 +460,14 @@ var/T3 = created_volume * 120 var/added_delay = 0.5 SECONDS if(created_volume >= 75) - addtimer(CALLBACK(src, .proc/zappy_zappy, holder, T1), added_delay) + addtimer(CALLBACK(src, PROC_REF(zappy_zappy), holder, T1), added_delay) added_delay += 1.5 SECONDS if(created_volume >= 40) - addtimer(CALLBACK(src, .proc/zappy_zappy, holder, T2), added_delay) + addtimer(CALLBACK(src, PROC_REF(zappy_zappy), holder, T2), added_delay) added_delay += 1.5 SECONDS if(created_volume >= 10) //10 units minimum for lightning, 40 units for secondary blast, 75 units for tertiary blast. - addtimer(CALLBACK(src, .proc/zappy_zappy, holder, T3), added_delay) - addtimer(CALLBACK(src, .proc/explode, holder, created_volume), added_delay) + addtimer(CALLBACK(src, PROC_REF(zappy_zappy), holder, T3), added_delay) + addtimer(CALLBACK(src, PROC_REF(explode), holder, created_volume), added_delay) /datum/chemical_reaction/reagent_explosion/teslium_lightning/proc/zappy_zappy(datum/reagents/holder, power) if(QDELETED(holder.my_atom)) diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index bf2f58b146ad..07753cea4a15 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -92,32 +92,32 @@ var/obj/item/slime_extract/M = holder.my_atom deltimer(M.qdel_timer) ..() - M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE) + M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) /datum/chemical_reaction/slime/slimemobspawn/proc/summon_mobs(datum/reagents/holder, turf/T) T.visible_message("The slime extract begins to vibrate violently!") - addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 5, "Gold Slime", HOSTILE_SPAWN), 50) + addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 5, "Gold Slime", HOSTILE_SPAWN), 50) /datum/chemical_reaction/slime/slimemobspawn/lesser required_reagents = list(/datum/reagent/blood = 1) /datum/chemical_reaction/slime/slimemobspawn/lesser/summon_mobs(datum/reagents/holder, turf/T) T.visible_message("The slime extract begins to vibrate violently!") - addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral"), 50) + addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral"), 50) /datum/chemical_reaction/slime/slimemobspawn/friendly required_reagents = list(/datum/reagent/water = 1) /datum/chemical_reaction/slime/slimemobspawn/friendly/summon_mobs(datum/reagents/holder, turf/T) T.visible_message("The slime extract begins to vibrate adorably!") - addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral"), 50) + addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral"), 50) /datum/chemical_reaction/slime/slimemobspawn/spider required_reagents = list(/datum/reagent/spider_extract = 1) /datum/chemical_reaction/slime/slimemobspawn/spider/summon_mobs(datum/reagents/holder, turf/T) T.visible_message("The slime extract begins to vibrate crikey-ingly!") - addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Traitor Spider Slime", /mob/living/simple_animal/hostile/poison/giant_spider/nurse/midwife, "neutral", FALSE), 50) + addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 3, "Traitor Spider Slime", /mob/living/simple_animal/hostile/poison/giant_spider/nurse/midwife, "neutral", FALSE), 50) //Silver @@ -191,11 +191,11 @@ /datum/chemical_reaction/slime/slimefreeze/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) T.visible_message("The slime extract starts to feel extremely cold!") - addtimer(CALLBACK(src, .proc/freeze, holder), 50) + addtimer(CALLBACK(src, PROC_REF(freeze), holder), 50) var/obj/item/slime_extract/M = holder.my_atom deltimer(M.qdel_timer) ..() - M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE) + M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) /datum/chemical_reaction/slime/slimefreeze/proc/freeze(datum/reagents/holder) if(holder && holder.my_atom) @@ -228,11 +228,11 @@ /datum/chemical_reaction/slime/slimefire/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) T.visible_message("The slime extract begins to vibrate adorably!") - addtimer(CALLBACK(src, .proc/slime_burn, holder), 50) + addtimer(CALLBACK(src, PROC_REF(slime_burn), holder), 50) var/obj/item/slime_extract/M = holder.my_atom deltimer(M.qdel_timer) ..() - M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE) + M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) /datum/chemical_reaction/slime/slimefire/proc/slime_burn(datum/reagents/holder) if(holder && holder.my_atom) @@ -381,11 +381,11 @@ message_admins("Slime Explosion reaction started at [ADMIN_VERBOSEJMP(T)]. Last Fingerprint: [touch_msg]") log_game("Slime Explosion reaction started at [AREACOORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"].") T.visible_message("The slime extract begins to vibrate violently !") - addtimer(CALLBACK(src, .proc/boom, holder), 50) + addtimer(CALLBACK(src, PROC_REF(boom), holder), 50) var/obj/item/slime_extract/M = holder.my_atom deltimer(M.qdel_timer) ..() - M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE) + M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) /datum/chemical_reaction/slime/slimeexplosion/proc/boom(datum/reagents/holder) if(holder && holder.my_atom) @@ -484,7 +484,7 @@ required_other = TRUE /datum/chemical_reaction/slime/slimestop/on_reaction(datum/reagents/holder) - addtimer(CALLBACK(src, .proc/slime_stop, holder), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(slime_stop), holder), 5 SECONDS) /datum/chemical_reaction/slime/slimestop/proc/slime_stop(datum/reagents/holder) var/obj/item/slime_extract/sepia/extract = holder.my_atom @@ -549,7 +549,7 @@ S.visible_message("Infused with plasma, the core begins to expand uncontrollably!") S.icon_state = "[S.base_state]_active" S.active = TRUE - addtimer(CALLBACK(S, /obj/item/grenade.proc/prime), rand(15,60)) + addtimer(CALLBACK(S, TYPE_PROC_REF(/obj/item/grenade, prime)), rand(15,60)) else var/mob/living/simple_animal/slime/random/S = new (get_turf(holder.my_atom)) S.visible_message("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!") @@ -566,7 +566,7 @@ S.visible_message("Infused with slime jelly, the core begins to expand uncontrollably!") S.icon_state = "[S.base_state]_active" S.active = TRUE - addtimer(CALLBACK(S, /obj/item/grenade.proc/prime), rand(15,60)) + addtimer(CALLBACK(S, TYPE_PROC_REF(/obj/item/grenade, prime)), rand(15,60)) var/lastkey = holder.my_atom.fingerprintslast var/touch_msg = "N/A" if(lastkey) diff --git a/code/modules/reagents/chemistry/recipes/special.dm b/code/modules/reagents/chemistry/recipes/special.dm index f0aeaf8504cd..e95dc19c56b2 100644 --- a/code/modules/reagents/chemistry/recipes/special.dm +++ b/code/modules/reagents/chemistry/recipes/special.dm @@ -177,7 +177,7 @@ GLOBAL_LIST_INIT(food_reagents, build_reagents_to_food()) //reagentid = related if(SSpersistence.initialized) UpdateInfo() else - SSticker.OnRoundstart(CALLBACK(src,.proc/UpdateInfo)) + SSticker.OnRoundstart(CALLBACK(src, PROC_REF(UpdateInfo))) /obj/item/paper/secretrecipe/proc/UpdateInfo() var/datum/chemical_reaction/recipe = get_chemical_reaction(recipe_id) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 332decf03e38..e5f5f22db67a 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -49,7 +49,7 @@ log_combat(user, M, "fed", reagents.log_list()) else to_chat(user, "You swallow a gulp of [src].") - addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5, TRUE, TRUE, FALSE, user, FALSE, INGEST), 5) + addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, trans_to), M, 5, TRUE, TRUE, FALSE, user, FALSE, INGEST), 5) playsound(M.loc,'sound/items/drink.ogg', rand(10,50), TRUE) /obj/item/reagent_containers/glass/afterattack(obj/target, mob/user, proximity) diff --git a/code/modules/reagents/reagent_containers/mortar.dm b/code/modules/reagents/reagent_containers/mortar.dm index 6fc3cd85e0d9..3c1443bfb9d2 100644 --- a/code/modules/reagents/reagent_containers/mortar.dm +++ b/code/modules/reagents/reagent_containers/mortar.dm @@ -3,6 +3,9 @@ Originally in glass.dm, moved here to accommodate additional materials. \*/ +#define MORTAR_STAMINA_MINIMUM 50 //What is the amount of stam damage that we prevent mortar use at +#define MORTAR_STAMINA_USE 40 //How much stam damage is given to people when the mortar is used + /obj/item/pestle name = "pestle" desc = "An ancient, simple tool used in conjunction with a mortar to grind or juice items." @@ -33,41 +36,83 @@ to accommodate additional materials. grinded = null to_chat(user, "You eject the item inside.") -/obj/item/reagent_containers/glass/mortar/attackby(obj/item/I, mob/living/carbon/human/user) +/obj/item/reagent_containers/glass/mortar/attackby(obj/item/attacking_item, mob/living/carbon/human/user) ..() - if(istype(I,/obj/item/pestle)) - if(grinded) - if(user.getStaminaLoss() > 50) - to_chat(user, "You are too tired to work!") - return - to_chat(user, "You start grinding...") - if((do_after(user, 25, target = src)) && grinded) - user.adjustStaminaLoss(40) - if(grinded.juice_results) //prioritize juicing - grinded.on_juice() - reagents.add_reagent_list(grinded.juice_results) - to_chat(user, "You juice [grinded] into a fine liquid.") - QDEL_NULL(grinded) - return - grinded.on_grind() - reagents.add_reagent_list(grinded.grind_results) - if(grinded.reagents) //food and pills - grinded.reagents.trans_to(src, grinded.reagents.total_volume, transfered_by = user) - to_chat(user, "You break [grinded] into powder.") - QDEL_NULL(grinded) - return + if(istype(attacking_item, /obj/item/pestle)) + if(!grinded) + balloon_alert(user, "nothing to grind") return - else - to_chat(user, "There is nothing to grind!") + + if(user.getStaminaLoss() > MORTAR_STAMINA_MINIMUM) + balloon_alert(user, "too tired") return - if(grinded) - to_chat(user, "There is something inside already!") + + var/list/choose_options = list( + "Grind" = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_grind"), + "Juice" = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_juice") + ) + var/picked_option = show_radial_menu(user, src, choose_options, radius = 38, require_near = TRUE) + + if(!grinded || !in_range(src, user) || !user.is_holding(attacking_item) || !picked_option) + return + + balloon_alert(user, "grinding...") + if(!do_after(user, grind_speed, target = src)) + balloon_alert(user, "stopped grinding") + return + + user.adjustStaminaLoss(MORTAR_STAMINA_USE) + switch(picked_option) + if("Juice") + if(grinded.juice_results) + juice_target_item(grinded, user) + else + grind_target_item(grinded, user) + grinded = null + + if("Grind") + if(grinded.grind_results) + grind_target_item(grinded, user) + else + juice_target_item(grinded, user) + grinded = null return - if(I.juice_results || I.grind_results) - I.forceMove(src) - grinded = I + + if(!attacking_item.juice_results && !attacking_item.grind_results) + balloon_alert(user, "can't grind this") + return ..() + + if(grinded) + balloon_alert(user, "already full") return - to_chat(user, "You can't grind this!") + + attacking_item.forceMove(src) + grinded = attacking_item + +///Juices the passed target item, and transfers any contained chems to the mortar as well +/obj/item/reagent_containers/glass/mortar/proc/juice_target_item(obj/item/to_be_juiced, mob/living/carbon/human/user) + to_be_juiced.on_juice() + reagents.add_reagent_list(to_be_juiced.juice_results) + + if(to_be_juiced.reagents) //If juiced item has reagents within, transfer them to the mortar + to_be_juiced.reagents.trans_to(src, to_be_juiced.reagents.total_volume, transfered_by = user) + + to_chat(user, span_notice("You juice [to_be_juiced] into a fine liquid.")) + QDEL_NULL(to_be_juiced) + +///Grinds the passed target item, and transfers any contained chems to the mortar as well +/obj/item/reagent_containers/glass/mortar/proc/grind_target_item(obj/item/to_be_ground, mob/living/carbon/human/user) + to_be_ground.on_grind() + reagents.add_reagent_list(to_be_ground.grind_results) + + if(to_be_ground.reagents) //If grinded item has reagents within, transfer them to the mortar + to_be_ground.reagents.trans_to(src, to_be_ground.reagents.total_volume, transfered_by = user) + + to_chat(user, span_notice("You break [to_be_ground] into powder.")) + QDEL_NULL(to_be_ground) + +#undef MORTAR_STAMINA_MINIMUM +#undef MORTAR_STAMINA_USE /obj/item/reagent_containers/glass/mortar/glass //mmm yes... this glass is made of glass icon_state = "mortar_glass" diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 50436b8ee9e6..187935fa0b25 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -47,7 +47,7 @@ "[user] forces you to [apply_method] [src].") if(icon_state == "pill4" && prob(5)) //you take the red pill - you stay in Wonderland, and I show you how deep the rabbit hole goes - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, M, "[pick(strings(REDPILL_FILE, "redpill_questions"))]"), 50) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), M, "[pick(strings(REDPILL_FILE, "redpill_questions"))]"), 50) if(reagents.total_volume) reagents.trans_to(M, reagents.total_volume, transfered_by = user, method = apply_type) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 021d37cd61b0..f0901e416b25 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -86,7 +86,7 @@ target.visible_message("[user] is trying to take a blood sample from [target]!", \ "[user] is trying to take a blood sample from you!") busy = TRUE - if(!do_mob(user, target, extra_checks=CALLBACK(L, /mob/living/proc/can_inject, user, TRUE))) + if(!do_mob(user, target, extra_checks=CALLBACK(L, TYPE_PROC_REF(/mob/living, can_inject), user, TRUE))) busy = FALSE return if(reagents.total_volume >= reagents.maximum_volume) @@ -136,7 +136,7 @@ if(L != user) L.visible_message("[user] is trying to inject [L]!", \ "[user] is trying to inject you!") - if(!do_mob(user, L, extra_checks=CALLBACK(L, /mob/living/proc/can_inject, user, TRUE))) + if(!do_mob(user, L, extra_checks=CALLBACK(L, TYPE_PROC_REF(/mob/living, can_inject), user, TRUE))) return if(!reagents.total_volume) return diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index c11906bf9c0d..b8b08486f20d 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -146,7 +146,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) affecting.Add(item) conveying = TRUE - addtimer(CALLBACK(src, .proc/convey, affecting), 1) + addtimer(CALLBACK(src, PROC_REF(convey), affecting), 1) /obj/machinery/conveyor/proc/convey(list/affecting) for(var/atom/movable/A in affecting) diff --git a/code/modules/recycling/disposal/construction.dm b/code/modules/recycling/disposal/construction.dm index 7ffc4e3b9db1..13158e86daad 100644 --- a/code/modules/recycling/disposal/construction.dm +++ b/code/modules/recycling/disposal/construction.dm @@ -87,7 +87,7 @@ /obj/structure/disposalconstruct/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_FLIP | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated), CALLBACK(src, .proc/after_rot)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_FLIP | ROTATION_VERBS ,null,CALLBACK(src, PROC_REF(can_be_rotated)), CALLBACK(src, PROC_REF(after_rot))) /obj/structure/disposalconstruct/proc/after_rot(mob/user,rotation_type) if(rotation_type == ROTATION_FLIP) diff --git a/code/modules/recycling/disposal/outlet.dm b/code/modules/recycling/disposal/outlet.dm index aa516b91fab3..2de8ff057405 100644 --- a/code/modules/recycling/disposal/outlet.dm +++ b/code/modules/recycling/disposal/outlet.dm @@ -44,9 +44,9 @@ if((start_eject + 30) < world.time) start_eject = world.time playsound(src, 'sound/machines/warning-buzzer.ogg', 50, FALSE, FALSE) - addtimer(CALLBACK(src, .proc/expel_holder, H, TRUE), 20) + addtimer(CALLBACK(src, PROC_REF(expel_holder), H, TRUE), 20) else - addtimer(CALLBACK(src, .proc/expel_holder, H), 20) + addtimer(CALLBACK(src, PROC_REF(expel_holder), H), 20) /obj/structure/disposaloutlet/proc/expel_holder(obj/structure/disposalholder/H, playsound=FALSE) if(playsound) diff --git a/code/modules/research/designs/limbgrower_designs.dm b/code/modules/research/designs/limbgrower_designs.dm index 4f48995190dc..16bf2a9241cb 100644 --- a/code/modules/research/designs/limbgrower_designs.dm +++ b/code/modules/research/designs/limbgrower_designs.dm @@ -116,7 +116,7 @@ build_path = /obj/item/organ/tongue category = list("initial",SPECIES_HUMAN) -// Grows a fake lizard tail - not usable in lizard wine and other similar recipes. +// Grows a fake lizard tail /datum/design/lizard_tail name = "Lizard Tail" id = "liztail" diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index a38d1a24c7c6..0ed2e97f39b9 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -583,15 +583,6 @@ build_path = /obj/item/circuitboard/machine/paystand category = list ("Misc. Machinery") - -/datum/design/board/fat_sucker - name = "Machine Design (Lipid Extractor)" - desc = "The circuit board for a lipid extractor." - id = "fat_sucker" - build_path = /obj/item/circuitboard/machine/fat_sucker - category = list ("Misc. Machinery") - departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_MEDICAL - /datum/design/board/stasis name = "Machine Design (Lifeform Stasis Unit)" desc = "The circuit board for a stasis unit." diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index 8c2b53b624bc..ab2933c60bcc 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -44,7 +44,7 @@ Note: Must be placed within 3 tiles of the R&D Console loaded_item = O to_chat(user, "You add the [O.name] to the [src.name]!") flick("d_analyzer_la", src) - addtimer(CALLBACK(src, .proc/finish_loading), 10) + addtimer(CALLBACK(src, PROC_REF(finish_loading)), 10) if (linked_console) linked_console.updateUsrDialog() @@ -82,7 +82,7 @@ Note: Must be placed within 3 tiles of the R&D Console if(!innermode) flick("d_analyzer_process", src) busy = TRUE - addtimer(CALLBACK(src, .proc/reset_busy), 24) + addtimer(CALLBACK(src, PROC_REF(reset_busy)), 24) use_power(250) if(thing == loaded_item) loaded_item = null diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index dd9003a52014..f714f65f154d 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -510,12 +510,12 @@ investigate_log("Experimentor has drained power from its APC", INVESTIGATE_EXPERIMENTOR) if(globalMalf == 99) visible_message("[src] begins to glow and vibrate. It's going to blow!") - addtimer(CALLBACK(src, .proc/boom), 50) + addtimer(CALLBACK(src, PROC_REF(boom)), 50) if(globalMalf == 100) visible_message("[src] begins to glow and vibrate. It's going to blow!") - addtimer(CALLBACK(src, .proc/honk), 50) + addtimer(CALLBACK(src, PROC_REF(honk)), 50) - addtimer(CALLBACK(src, .proc/reset_exp), resetTime) + addtimer(CALLBACK(src, PROC_REF(reset_exp)), resetTime) /obj/machinery/rnd/experimentor/proc/boom() explosion(src, 1, 5, 10, 5, 1) @@ -578,7 +578,7 @@ revealed = TRUE name = realName cooldownMax = rand(60,300) - realProc = pick(.proc/teleport,.proc/explode,.proc/rapidDupe,.proc/petSpray,.proc/flash,.proc/clean,.proc/corgicannon) + realProc = pick(PROC_REF(teleport), PROC_REF(explode), PROC_REF(rapidDupe), PROC_REF(petSpray), PROC_REF(flash), PROC_REF(clean), PROC_REF(corgicannon)) /obj/item/relic/attack_self(mob/user) if(revealed) @@ -589,7 +589,7 @@ cooldown = TRUE call(src,realProc)(user) if(!QDELETED(src)) - addtimer(CALLBACK(src, .proc/cd), cooldownMax) + addtimer(CALLBACK(src, PROC_REF(cd)), cooldownMax) else to_chat(user, "You aren't quite sure what this is. Maybe R&D knows what to do with it?") @@ -606,7 +606,7 @@ /obj/item/relic/proc/corgicannon(mob/user) playsound(src, "sparks", rand(25,50), TRUE, SHORT_RANGE_SOUND_EXTRARANGE) var/mob/living/simple_animal/pet/dog/corgi/C = new/mob/living/simple_animal/pet/dog/corgi(get_turf(user)) - C.throw_at(pick(oview(10,user)), 10, rand(3,8), callback = CALLBACK(src, .proc/throwSmoke, C)) + C.throw_at(pick(oview(10,user)), 10, rand(3,8), callback = CALLBACK(src, PROC_REF(throwSmoke), C)) warn_admins(user, "Corgi Cannon", 0) /obj/item/relic/proc/clean(mob/user) @@ -656,7 +656,7 @@ /obj/item/relic/proc/explode(mob/user) to_chat(user, "[src] begins to heat up!") - addtimer(CALLBACK(src, .proc/do_explode, user), rand(35, 100)) + addtimer(CALLBACK(src, PROC_REF(do_explode), user), rand(35, 100)) /obj/item/relic/proc/do_explode(mob/user) if(loc == user) @@ -667,7 +667,7 @@ /obj/item/relic/proc/teleport(mob/user) to_chat(user, "[src] begins to vibrate!") - addtimer(CALLBACK(src, .proc/do_the_teleport, user), rand(10, 30)) + addtimer(CALLBACK(src, PROC_REF(do_the_teleport), user), rand(10, 30)) /obj/item/relic/proc/do_the_teleport(mob/user) var/turf/userturf = get_turf(user) diff --git a/code/modules/research/machinery/_production.dm b/code/modules/research/machinery/_production.dm index 5a1e9303b013..36a22dac2cc7 100644 --- a/code/modules/research/machinery/_production.dm +++ b/code/modules/research/machinery/_production.dm @@ -23,7 +23,7 @@ matching_designs = list() cached_designs = list() stored_research = new - INVOKE_ASYNC(src, .proc/update_research) + INVOKE_ASYNC(src, PROC_REF(update_research)) materials = AddComponent(/datum/component/remote_materials, "lathe", mapload) RefreshParts() @@ -167,8 +167,8 @@ if(production_animation) flick(production_animation, src) var/timecoeff = D.lathe_time_factor / efficiency_coeff - addtimer(CALLBACK(src, .proc/reset_busy), (30 * timecoeff * amount) ** 0.5) - addtimer(CALLBACK(src, .proc/do_print, D.build_path, amount, efficient_mats, D.dangerous_construction), (32 * timecoeff * amount) ** 0.8) + addtimer(CALLBACK(src, PROC_REF(reset_busy)), (30 * timecoeff * amount) ** 0.5) + addtimer(CALLBACK(src, PROC_REF(do_print), D.build_path, amount, efficient_mats, D.dangerous_construction), (32 * timecoeff * amount) ** 0.8) return TRUE /obj/machinery/rnd/production/proc/search(string) diff --git a/code/modules/research/nanites/nanite_chamber.dm b/code/modules/research/nanites/nanite_chamber.dm index 30be4869d1bc..d5d5fa79e8ca 100644 --- a/code/modules/research/nanites/nanite_chamber.dm +++ b/code/modules/research/nanites/nanite_chamber.dm @@ -68,11 +68,11 @@ //TODO OMINOUS MACHINE SOUNDS set_busy(TRUE, "Initializing injection protocol...", "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Analyzing host bio-structure...", "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Priming nanites...", "[initial(icon_state)]_active"),40) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Injecting...", "[initial(icon_state)]_active"),70) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Activating nanites...", "[initial(icon_state)]_falling"),110) - addtimer(CALLBACK(src, .proc/complete_injection, locked_state),130) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Analyzing host bio-structure...", "[initial(icon_state)]_active"),20) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Priming nanites...", "[initial(icon_state)]_active"),40) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Injecting...", "[initial(icon_state)]_active"),70) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Activating nanites...", "[initial(icon_state)]_falling"),110) + addtimer(CALLBACK(src, PROC_REF(complete_injection), locked_state),130) /obj/machinery/nanite_chamber/proc/complete_injection(locked_state) //TODO MACHINE DING @@ -95,11 +95,11 @@ //TODO OMINOUS MACHINE SOUNDS set_busy(TRUE, "Initializing cleanup protocol...", "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Analyzing host bio-structure...", "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Pinging nanites...", "[initial(icon_state)]_active"),40) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Initiating graceful self-destruct sequence...", "[initial(icon_state)]_active"),70) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Removing debris...", "[initial(icon_state)]_falling"),110) - addtimer(CALLBACK(src, .proc/complete_removal, locked_state),130) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Analyzing host bio-structure...", "[initial(icon_state)]_active"),20) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Pinging nanites...", "[initial(icon_state)]_active"),40) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Initiating graceful self-destruct sequence...", "[initial(icon_state)]_active"),70) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Removing debris...", "[initial(icon_state)]_falling"),110) + addtimer(CALLBACK(src, PROC_REF(complete_removal), locked_state),130) /obj/machinery/nanite_chamber/proc/complete_removal(locked_state) //TODO MACHINE DING diff --git a/code/modules/research/nanites/nanite_chamber_computer.dm b/code/modules/research/nanites/nanite_chamber_computer.dm index c18364de1a2d..3a41e394b1dc 100644 --- a/code/modules/research/nanites/nanite_chamber_computer.dm +++ b/code/modules/research/nanites/nanite_chamber_computer.dm @@ -101,7 +101,7 @@ UnregisterSignal(chamber, COMSIG_PARENT_QDELETING) chamber = new_chamber if(chamber) - RegisterSignal(chamber, COMSIG_PARENT_QDELETING, .proc/react_to_chamber_del) + RegisterSignal(chamber, COMSIG_PARENT_QDELETING, PROC_REF(react_to_chamber_del)) /obj/machinery/computer/nanite_chamber_control/proc/react_to_chamber_del(datum/source) SIGNAL_HANDLER diff --git a/code/modules/research/nanites/nanite_programs/healing.dm b/code/modules/research/nanites/nanite_programs/healing.dm index a33f42f5f848..11b862e4a751 100644 --- a/code/modules/research/nanites/nanite_programs/healing.dm +++ b/code/modules/research/nanites/nanite_programs/healing.dm @@ -217,7 +217,7 @@ /datum/nanite_program/defib/on_trigger(comm_message) host_mob.notify_ghost_cloning("Your heart is being defibrillated by nanites. Re-enter your corpse if you want to be revived!") - addtimer(CALLBACK(src, .proc/zap), 50) + addtimer(CALLBACK(src, PROC_REF(zap)), 50) /datum/nanite_program/defib/proc/check_revivable() if(!iscarbon(host_mob)) //nonstandard biology diff --git a/code/modules/research/nanites/nanite_programs/sensor.dm b/code/modules/research/nanites/nanite_programs/sensor.dm index ff42a5fe099c..dacdc0481408 100644 --- a/code/modules/research/nanites/nanite_programs/sensor.dm +++ b/code/modules/research/nanites/nanite_programs/sensor.dm @@ -36,7 +36,7 @@ /datum/nanite_program/sensor/repeat/on_trigger(comm_message) var/datum/nanite_extra_setting/ES = extra_settings[NES_DELAY] - addtimer(CALLBACK(src, .proc/send_code), ES.get_value() * 10) + addtimer(CALLBACK(src, PROC_REF(send_code)), ES.get_value() * 10) /datum/nanite_program/sensor/relay_repeat name = "Relay Signal Repeater" @@ -53,7 +53,7 @@ /datum/nanite_program/sensor/relay_repeat/on_trigger(comm_message) var/datum/nanite_extra_setting/ES = extra_settings[NES_DELAY] - addtimer(CALLBACK(src, .proc/send_code), ES.get_value() * 10) + addtimer(CALLBACK(src, PROC_REF(send_code)), ES.get_value() * 10) /datum/nanite_program/sensor/relay_repeat/send_code() var/datum/nanite_extra_setting/relay = extra_settings[NES_RELAY_CHANNEL] @@ -244,10 +244,10 @@ /datum/nanite_program/sensor/voice/on_mob_add() . = ..() - RegisterSignal(host_mob, COMSIG_MOVABLE_HEAR, .proc/on_hear) + RegisterSignal(host_mob, COMSIG_MOVABLE_HEAR, PROC_REF(on_hear)) /datum/nanite_program/sensor/voice/on_mob_remove() - UnregisterSignal(host_mob, COMSIG_MOVABLE_HEAR, .proc/on_hear) + UnregisterSignal(host_mob, COMSIG_MOVABLE_HEAR, PROC_REF(on_hear)) /datum/nanite_program/sensor/voice/proc/on_hear(datum/source, list/hearing_args) var/datum/nanite_extra_setting/sentence = extra_settings[NES_SENTENCE] diff --git a/code/modules/research/nanites/nanite_programs/suppression.dm b/code/modules/research/nanites/nanite_programs/suppression.dm index 848c5b2e4610..76bddd35c066 100644 --- a/code/modules/research/nanites/nanite_programs/suppression.dm +++ b/code/modules/research/nanites/nanite_programs/suppression.dm @@ -11,7 +11,7 @@ /datum/nanite_program/sleepy/on_trigger(comm_message) to_chat(host_mob, "You start to feel very sleepy...") host_mob.drowsyness += 20 - addtimer(CALLBACK(host_mob, /mob/living.proc/Sleeping, 200), rand(60,200)) + addtimer(CALLBACK(host_mob, TYPE_PROC_REF(/mob/living, Sleeping), 200), rand(60,200)) /datum/nanite_program/paralyzing name = "Paralysis" diff --git a/code/modules/research/nanites/nanite_programs/weapon.dm b/code/modules/research/nanites/nanite_programs/weapon.dm index 16f87bc6bdee..5f166d4d610a 100644 --- a/code/modules/research/nanites/nanite_programs/weapon.dm +++ b/code/modules/research/nanites/nanite_programs/weapon.dm @@ -84,7 +84,7 @@ /datum/nanite_program/explosive/on_trigger(comm_message) host_mob.visible_message("[host_mob] starts emitting a high-pitched buzzing, and [host_mob.p_their()] skin begins to glow...",\ "You start emitting a high-pitched buzzing, and your skin begins to glow...") - addtimer(CALLBACK(src, .proc/boom), clamp((nanites.nanite_volume * 0.35), 25, 150)) + addtimer(CALLBACK(src, PROC_REF(boom)), clamp((nanites.nanite_volume * 0.35), 25, 150)) /datum/nanite_program/explosive/proc/boom() var/nanite_amount = nanites.nanite_volume @@ -179,7 +179,7 @@ sent_directive = ES.get_value() brainwash(host_mob, sent_directive) log_game("A mind control nanite program brainwashed [key_name(host_mob)] with the objective '[sent_directive]'.") - addtimer(CALLBACK(src, .proc/end_brainwashing), 600) + addtimer(CALLBACK(src, PROC_REF(end_brainwashing)), 600) /datum/nanite_program/comm/mind_control/proc/end_brainwashing() if(host_mob.mind && host_mob.mind.has_antag_datum(/datum/antagonist/brainwashed)) diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm index f53707206a38..9e39486c2052 100644 --- a/code/modules/research/nanites/public_chamber.dm +++ b/code/modules/research/nanites/public_chamber.dm @@ -50,9 +50,9 @@ //TODO OMINOUS MACHINE SOUNDS set_busy(TRUE, "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_falling"),60) - addtimer(CALLBACK(src, .proc/complete_injection, locked_state, attacker),80) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "[initial(icon_state)]_active"),20) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "[initial(icon_state)]_falling"),60) + addtimer(CALLBACK(src, PROC_REF(complete_injection), locked_state, attacker),80) /obj/machinery/public_nanite_chamber/proc/complete_injection(locked_state, mob/living/attacker) //TODO MACHINE DING @@ -77,9 +77,9 @@ locked = TRUE set_busy(TRUE, "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_falling"),40) - addtimer(CALLBACK(src, .proc/complete_cloud_change, locked_state, attacker),60) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "[initial(icon_state)]_active"),20) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "[initial(icon_state)]_falling"),40) + addtimer(CALLBACK(src, PROC_REF(complete_cloud_change), locked_state, attacker),60) /obj/machinery/public_nanite_chamber/proc/complete_cloud_change(locked_state, mob/living/attacker) locked = locked_state @@ -157,7 +157,7 @@ . = TRUE - addtimer(CALLBACK(src, .proc/try_inject_nanites, attacker), 30) //If someone is shoved in give them a chance to get out before the injection starts + addtimer(CALLBACK(src, PROC_REF(try_inject_nanites), attacker), 30) //If someone is shoved in give them a chance to get out before the injection starts /obj/machinery/public_nanite_chamber/proc/try_inject_nanites(mob/living/attacker) if(occupant) diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm index 90094f64594f..7c46ac61d784 100644 --- a/code/modules/research/rdmachines.dm +++ b/code/modules/research/rdmachines.dm @@ -111,4 +111,4 @@ stack_name = S.name use_power(min(1000, (amount_inserted / 100))) add_overlay("protolathe_[stack_name]") - addtimer(CALLBACK(src, /atom/proc/cut_overlay, "protolathe_[stack_name]"), 10) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, cut_overlay), "protolathe_[stack_name]"), 10) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 02f51a1af9db..f6694ce969bb 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -119,7 +119,7 @@ display_name = "Biological Processing" description = "From slimes to kitchens." prereq_ids = list("biotech") - design_ids = list("smartfridge", "gibber", "deepfryer", "monkey_recycler", "processor", "gibber", "microwave", "reagentgrinder", "dish_drive", "fat_sucker") + design_ids = list("smartfridge", "gibber", "deepfryer", "monkey_recycler", "processor", "gibber", "microwave", "reagentgrinder", "dish_drive") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index 4626e4154cc8..651eb2fece14 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -66,7 +66,7 @@ var/icon/bluespace /datum/status_effect/slimerecall/on_apply() - RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/resistField) + RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(resistField)) to_chat(owner, "You feel a sudden tug from an unknown force, and feel a pull to bluespace!") to_chat(owner, "Resist if you wish avoid the force!") bluespace = icon('icons/effects/effects.dmi',"chronofield") @@ -98,7 +98,7 @@ var/obj/structure/ice_stasis/cube /datum/status_effect/frozenstasis/on_apply() - RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/breakCube) + RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(breakCube)) cube = new /obj/structure/ice_stasis(get_turf(owner)) owner.forceMove(cube) owner.status_flags |= GODMODE diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm index 60a54c461bf1..e9fd98232e2c 100644 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ b/code/modules/research/xenobiology/crossbreeding/burning.dm @@ -261,7 +261,7 @@ Burning extracts: /obj/item/slimecross/burning/oil/do_effect(mob/user) user.visible_message("[user] activates [src]. It's going to explode!", "You activate [src]. It crackles in anticipation") - addtimer(CALLBACK(src, .proc/boom), 50) + addtimer(CALLBACK(src, PROC_REF(boom)), 50) /obj/item/slimecross/burning/oil/proc/boom() var/turf/T = get_turf(src) diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm index a2853592e4d2..d44f1bd4ad8b 100644 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ b/code/modules/research/xenobiology/crossbreeding/charged.dm @@ -195,7 +195,7 @@ Charged extracts: /obj/item/slimecross/charged/gold/do_effect(mob/user) user.visible_message("[src] starts shuddering violently!") - addtimer(CALLBACK(src, .proc/startTimer), 50) + addtimer(CALLBACK(src, PROC_REF(startTimer)), 50) /obj/item/slimecross/charged/gold/proc/startTimer() START_PROCESSING(SSobj, src) @@ -220,7 +220,7 @@ Charged extracts: /obj/item/slimecross/charged/oil/do_effect(mob/user) user.visible_message("[src] begins to shake with rapidly increasing force!") - addtimer(CALLBACK(src, .proc/boom), 50) + addtimer(CALLBACK(src, PROC_REF(boom)), 50) /obj/item/slimecross/charged/oil/proc/boom() explosion(get_turf(src), 2, 3, 4) //Much smaller effect than normal oils, but devastatingly strong where it does hit. diff --git a/code/modules/research/xenobiology/crossbreeding/chilling.dm b/code/modules/research/xenobiology/crossbreeding/chilling.dm index e4f19c892a12..085f8486ac32 100644 --- a/code/modules/research/xenobiology/crossbreeding/chilling.dm +++ b/code/modules/research/xenobiology/crossbreeding/chilling.dm @@ -282,7 +282,7 @@ Chilling extracts: /obj/item/slimecross/chilling/oil/do_effect(mob/user) user.visible_message("[src] begins to shake with muted intensity!") - addtimer(CALLBACK(src, .proc/boom), 50) + addtimer(CALLBACK(src, PROC_REF(boom)), 50) /obj/item/slimecross/chilling/oil/proc/boom() explosion(get_turf(src), -1, -1, 10, 0) //Large radius, but mostly light damage, and no flash. diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index d2b1d49f78fe..81ac7db98b01 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -119,12 +119,12 @@ hotkey_help.Grant(user) actions += hotkey_help - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL, .proc/XenoSlimeClickCtrl) - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT, .proc/XenoSlimeClickAlt) - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT, .proc/XenoSlimeClickShift) - RegisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT, .proc/XenoTurfClickShift) - RegisterSignal(user, COMSIG_XENO_TURF_CLICK_CTRL, .proc/XenoTurfClickCtrl) - RegisterSignal(user, COMSIG_XENO_MONKEY_CLICK_CTRL, .proc/XenoMonkeyClickCtrl) + RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL, PROC_REF(XenoSlimeClickCtrl)) + RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT, PROC_REF(XenoSlimeClickAlt)) + RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT, PROC_REF(XenoSlimeClickShift)) + RegisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT, PROC_REF(XenoTurfClickShift)) + RegisterSignal(user, COMSIG_XENO_TURF_CLICK_CTRL, PROC_REF(XenoTurfClickCtrl)) + RegisterSignal(user, COMSIG_XENO_MONKEY_CLICK_CTRL, PROC_REF(XenoMonkeyClickCtrl)) //Checks for recycler on every interact, prevents issues with load order on certain maps. if(!connected_recycler) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 9a1c98ad6212..939c14589586 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -278,7 +278,7 @@ to_chat(user, "Your glow is already enhanced!") return species.update_glow(user, 5) - addtimer(CALLBACK(species, /datum/species/jelly/luminescent.proc/update_glow, user, LUMINESCENT_DEFAULT_GLOW), 600) + addtimer(CALLBACK(species, TYPE_PROC_REF(/datum/species/jelly/luminescent, update_glow), user, LUMINESCENT_DEFAULT_GLOW), 600) to_chat(user, "You start glowing brighter.") if(SLIME_ACTIVATE_MAJOR) @@ -494,7 +494,7 @@ return to_chat(user, "You feel your skin harden and become more resistant.") species.armor += 25 - addtimer(CALLBACK(src, .proc/reset_armor, species), 1200) + addtimer(CALLBACK(src, PROC_REF(reset_armor), species), 1200) return 450 if(SLIME_ACTIVATE_MAJOR) diff --git a/code/modules/ruins/icemoonruin_code/hotsprings.dm b/code/modules/ruins/icemoonruin_code/hotsprings.dm index a318f5bb1a48..dd4d39e91a20 100644 --- a/code/modules/ruins/icemoonruin_code/hotsprings.dm +++ b/code/modules/ruins/icemoonruin_code/hotsprings.dm @@ -27,7 +27,7 @@ GLOBAL_LIST_EMPTY(cursed_minds) if(GLOB.cursed_minds[L.mind]) return GLOB.cursed_minds[L.mind] = TRUE - RegisterSignal(L.mind, COMSIG_PARENT_QDELETING, .proc/remove_from_cursed) + RegisterSignal(L.mind, COMSIG_PARENT_QDELETING, PROC_REF(remove_from_cursed)) var/random_choice = pick("Mob", "Appearance") switch(random_choice) if("Mob") diff --git a/code/modules/ruins/icemoonruin_code/wrath.dm b/code/modules/ruins/icemoonruin_code/wrath.dm index d43a72d80c96..11e7e24e6547 100644 --- a/code/modules/ruins/icemoonruin_code/wrath.dm +++ b/code/modules/ruins/icemoonruin_code/wrath.dm @@ -14,7 +14,7 @@ /obj/item/clothing/gloves/butchering/equipped(mob/user, slot, initial = FALSE) . = ..() - RegisterSignal(user, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, .proc/butcher_target) + RegisterSignal(user, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, PROC_REF(butcher_target)) var/datum/component/butchering/butchering = src.GetComponent(/datum/component/butchering) butchering.butchering_enabled = TRUE diff --git a/code/modules/ruins/lavalandruin_code/syndicate_base.dm b/code/modules/ruins/lavalandruin_code/syndicate_base.dm index 5d6295f54d0c..bbcce202096b 100644 --- a/code/modules/ruins/lavalandruin_code/syndicate_base.dm +++ b/code/modules/ruins/lavalandruin_code/syndicate_base.dm @@ -1,11 +1,9 @@ -//lavaland_surface_syndicate_base1.dmm - /obj/machinery/vending/syndichem name = "\improper SyndiChem" desc = "A vending machine full of grenades and grenade accessories. Sponsored by DonkCo(tm)." req_access = list(ACCESS_SYNDICATE) products = list( - /obj/item/stack/cable_coil/random = 5, //WS Edit - Random added from Smartwire Revert + /obj/item/stack/cable_coil/random = 5, /obj/item/assembly/igniter = 20, /obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 5, diff --git a/code/modules/ruins/objects_and_mobs/ash_walker_den.dm b/code/modules/ruins/objects_and_mobs/ash_walker_den.dm index 31a6ee6f0c0f..b231ea902371 100644 --- a/code/modules/ruins/objects_and_mobs/ash_walker_den.dm +++ b/code/modules/ruins/objects_and_mobs/ash_walker_den.dm @@ -67,7 +67,7 @@ deadmind = H.get_ghost(FALSE, TRUE) to_chat(deadmind, "Your body has been returned to the nest. You are being remade anew, and will awaken shortly.
Your memories will remain intact in your new body, as your soul is being salvaged") SEND_SOUND(deadmind, sound('sound/magic/enter_blood.ogg',volume=100)) - addtimer(CALLBACK(src, .proc/remake_walker, H.mind, H.real_name), 20 SECONDS) + addtimer(CALLBACK(src, PROC_REF(remake_walker), H.mind, H.real_name), 20 SECONDS) new /obj/effect/gibspawner/generic(get_turf(H)) qdel(H) return diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm index 7b900dc579d7..bc0e8a9d401d 100644 --- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm +++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm @@ -47,7 +47,7 @@ add_overlay(dais_overlay) var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit + COMSIG_ATOM_EXIT = PROC_REF(on_exit) ) AddElement(/datum/element/connect_loc, loc_connections) @@ -268,7 +268,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) icon_state = "[tile_key][rand(1, tile_random_sprite_max)]" var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered + COMSIG_ATOM_ENTERED = PROC_REF(on_entered) ) AddElement(/datum/element/connect_loc, loc_connections) @@ -297,7 +297,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) switch(fall_on_cross) if(COLLAPSE_ON_CROSS, DESTROY_ON_CROSS) if((I && I.w_class >= WEIGHT_CLASS_BULKY) || (L && !(L.movement_type & FLYING) && L.mob_size >= MOB_SIZE_HUMAN)) //too heavy! too big! aaah! - INVOKE_ASYNC(src, .proc/collapse) + INVOKE_ASYNC(src, PROC_REF(collapse)) if(UNIQUE_EFFECT) crossed_effect(AM) @@ -316,7 +316,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) if(break_that_sucker) QDEL_IN(src, 10) else - addtimer(CALLBACK(src, .proc/rebuild), 55) + addtimer(CALLBACK(src, PROC_REF(rebuild)), 55) /obj/structure/stone_tile/proc/rebuild() pixel_x = initial(pixel_x) diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm index e388a577fe1d..7b5bd27a8ada 100644 --- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm +++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm @@ -29,7 +29,7 @@ know it'll be worth it.
") icon_state = "slots2" playsound(src, 'sound/lavaland/cursed_slot_machine.ogg', 50, FALSE) - addtimer(CALLBACK(src, .proc/determine_victor, user), 50) + addtimer(CALLBACK(src, PROC_REF(determine_victor), user), 50) /obj/structure/cursed_slot_machine/proc/determine_victor(mob/living/user) icon_state = "slots1" @@ -55,7 +55,7 @@ /obj/structure/cursed_money/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/collapse), 600) + addtimer(CALLBACK(src, PROC_REF(collapse)), 600) /obj/structure/cursed_money/proc/collapse() visible_message("[src] falls in on itself, \ @@ -76,27 +76,6 @@ user.put_in_hands(critical_fail) qdel(src) -/obj/effect/gluttony //Gluttony's wall: Used in the Gluttony ruin. Only lets the overweight through. - name = "gluttony's wall" - desc = "Only those who truly indulge may pass." - anchored = TRUE - density = TRUE - icon_state = "blob" - icon = 'icons/mob/blob.dmi' - color = rgb(145, 150, 0) - -/obj/effect/gluttony/CanAllowThrough(atom/movable/mover, border_dir)//So bullets will fly over and stuff. - . = ..() - if(ishuman(mover)) - var/mob/living/carbon/human/H = mover - if(H.nutrition >= NUTRITION_LEVEL_FAT) - H.visible_message("[H] pushes through [src]!", "You've seen and eaten worse than this.") - return TRUE - else - to_chat(H, "You're repulsed by even looking at [src]. Only a pig could force themselves to go through it.") - if(istype(mover, /mob/living/simple_animal/hostile/morph)) - return TRUE - /obj/structure/mirror/magic/pride //Pride's mirror: Used in the Pride ruin. name = "pride's mirror" desc = "Pride cometh before the..." diff --git a/code/modules/screen_alerts/_screen_alerts.dm b/code/modules/screen_alerts/_screen_alerts.dm index 3cf3dd376795..08a21635ea93 100644 --- a/code/modules/screen_alerts/_screen_alerts.dm +++ b/code/modules/screen_alerts/_screen_alerts.dm @@ -12,7 +12,7 @@ text_box.text_to_play = text LAZYADD(client.screen_texts, text_box) if(LAZYLEN(client.screen_texts) == 1) //lets only play one at a time, for thematic effect and prevent overlap - INVOKE_ASYNC(text_box, /atom/movable/screen/text/screen_text.proc/play_to_mob, src) + INVOKE_ASYNC(text_box, TYPE_PROC_REF(/atom/movable/screen/text/screen_text, play_to_mob), src) return client.screen_texts += text_box @@ -79,7 +79,7 @@ continue maptext = "[style_open][copytext_char(text_to_play, 1, letter)][style_close]" sleep(play_delay) - addtimer(CALLBACK(src, .proc/after_play, user), fade_out_delay) + addtimer(CALLBACK(src, PROC_REF(after_play), user), fade_out_delay) ///handles post-play effects like fade out after the fade out delay /atom/movable/screen/text/screen_text/proc/after_play(mob/user) @@ -87,7 +87,7 @@ end_play(user) return animate(src, alpha = 0, time = fade_out_time) - addtimer(CALLBACK(src, .proc/end_play, user), fade_out_time) + addtimer(CALLBACK(src, PROC_REF(end_play), user), fade_out_time) ///ends the play then deletes this screen object and plalys the next one in queue if it exists /atom/movable/screen/text/screen_text/proc/end_play(mob/user) diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index be021492b2de..7f3693e98760 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -24,7 +24,7 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new) /obj/machinery/keycard_auth/Initialize() . = ..() - ev = GLOB.keycard_events.addEvent("triggerEvent", CALLBACK(src, .proc/triggerEvent)) + ev = GLOB.keycard_events.addEvent("triggerEvent", CALLBACK(src, PROC_REF(triggerEvent))) /obj/machinery/keycard_auth/Destroy() GLOB.keycard_events.clearEvent("triggerEvent", ev) @@ -86,7 +86,7 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new) event = event_type waiting = 1 GLOB.keycard_events.fireEvent("triggerEvent", src) - addtimer(CALLBACK(src, .proc/eventSent), 20) + addtimer(CALLBACK(src, PROC_REF(eventSent)), 20) /obj/machinery/keycard_auth/proc/eventSent() triggerer = null @@ -96,7 +96,7 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new) /obj/machinery/keycard_auth/proc/triggerEvent(source) icon_state = "auth_on" event_source = source - addtimer(CALLBACK(src, .proc/eventTriggered), 20) + addtimer(CALLBACK(src, PROC_REF(eventTriggered)), 20) /obj/machinery/keycard_auth/proc/eventTriggered() icon_state = "auth_off" diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 2ca64fcd35fc..2d48fc3a82a3 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -211,7 +211,7 @@ All ShuttleMove procs go here for(var/obj/machinery/door/airlock/A in range(1, src)) // includes src A.shuttledocked = FALSE A.air_tight = TRUE - INVOKE_ASYNC(A, /obj/machinery/door/.proc/close) + INVOKE_ASYNC(A, TYPE_PROC_REF(/obj/machinery/door, close)) /obj/machinery/door/airlock/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() diff --git a/code/modules/shuttle/ripple.dm b/code/modules/shuttle/ripple.dm index 4bf6eac0ebed..824c1843bac7 100644 --- a/code/modules/shuttle/ripple.dm +++ b/code/modules/shuttle/ripple.dm @@ -14,7 +14,7 @@ /obj/effect/abstract/ripple/Initialize(mapload, time_left) . = ..() animate(src, alpha=255, time=time_left) - addtimer(CALLBACK(src, .proc/stop_animation), 8, TIMER_CLIENT_TIME) + addtimer(CALLBACK(src, PROC_REF(stop_animation)), 8, TIMER_CLIENT_TIME) /obj/effect/abstract/ripple/proc/stop_animation() icon_state = "medi_holo_no_anim" diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index b89a07efdac5..f706bc87a491 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -211,6 +211,8 @@ var/json_key //Setting this to false will prevent the roundstart_template from being loaded on Initiallize(). You should set this to false if this loads a subship on a ship map template var/load_template_on_initialize = TRUE + /// The docking ticket of the ship docking to this port. + var/datum/docking_ticket/current_docking_ticket /obj/docking_port/stationary/Initialize(mapload) . = ..() @@ -222,7 +224,7 @@ for(var/turf/T in return_turfs()) T.flags_1 |= NO_RUINS_1 if(SSshuttle.initialized && load_template_on_initialize) // If the docking port is loaded via map but SSshuttle has already init (therefore this would never be called) - INVOKE_ASYNC(src, .proc/load_roundstart) + INVOKE_ASYNC(src, PROC_REF(load_roundstart)) #ifdef DOCKING_PORT_HIGHLIGHT highlight("#f00") diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index 2ca8e1b62027..fd18f0c5a1ee 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -93,7 +93,7 @@ L.visible_message("A strange purple glow wraps itself around [L] as [L.p_they()] suddenly fall[L.p_s()] unconscious.", "[desc]") // Don't let them sit suround unconscious forever - addtimer(CALLBACK(src, .proc/sleeper_dreams, L), 100) + addtimer(CALLBACK(src, PROC_REF(sleeper_dreams), L), 100) // Existing sleepers for(var/i in found) @@ -145,7 +145,7 @@ /mob/living/simple_animal/drone/snowflake/bardrone/Initialize() . = ..() access_card.access |= ACCESS_CENT_BAR - RegisterSignal(src, COMSIG_ENTER_AREA, .proc/check_barstaff_godmode) + RegisterSignal(src, COMSIG_ENTER_AREA, PROC_REF(check_barstaff_godmode)) check_barstaff_godmode() /mob/living/simple_animal/hostile/alien/maid/barmaid @@ -165,7 +165,7 @@ access_card.access = C.get_access() access_card.access |= ACCESS_CENT_BAR ADD_TRAIT(access_card, TRAIT_NODROP, ABSTRACT_ITEM_TRAIT) - RegisterSignal(src, COMSIG_ENTER_AREA, .proc/check_barstaff_godmode) + RegisterSignal(src, COMSIG_ENTER_AREA, PROC_REF(check_barstaff_godmode)) check_barstaff_godmode() /mob/living/simple_animal/hostile/alien/maid/barmaid/Destroy() @@ -193,7 +193,7 @@ /obj/structure/table/wood/bar/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered + COMSIG_ATOM_ENTERED = PROC_REF(on_entered) ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/spells/spell_types/aimed.dm b/code/modules/spells/spell_types/aimed.dm index 66c0c232c06c..9e30c708774d 100644 --- a/code/modules/spells/spell_types/aimed.dm +++ b/code/modules/spells/spell_types/aimed.dm @@ -156,7 +156,7 @@ /obj/effect/proc_holder/spell/aimed/spell_cards/on_activation(mob/M) QDEL_NULL(lockon_component) - lockon_component = M.AddComponent(/datum/component/lockon_aiming, 5, typecacheof(list(/mob/living)), 1, null, CALLBACK(src, .proc/on_lockon_component)) + lockon_component = M.AddComponent(/datum/component/lockon_aiming, 5, typecacheof(list(/mob/living)), 1, null, CALLBACK(src, PROC_REF(on_lockon_component))) /obj/effect/proc_holder/spell/aimed/spell_cards/proc/on_lockon_component(list/locked_weakrefs) if(!length(locked_weakrefs)) diff --git a/code/modules/spells/spell_types/area_teleport.dm b/code/modules/spells/spell_types/area_teleport.dm index f8d5af4e2824..73014c5b3f47 100644 --- a/code/modules/spells/spell_types/area_teleport.dm +++ b/code/modules/spells/spell_types/area_teleport.dm @@ -17,7 +17,7 @@ return invocation(thearea,user) if(charge_type == "recharge" && recharge) - INVOKE_ASYNC(src, .proc/start_recharge) + INVOKE_ASYNC(src, PROC_REF(start_recharge)) cast(targets,thearea,user) after_cast(targets) diff --git a/code/modules/spells/spell_types/construct_spells.dm b/code/modules/spells/spell_types/construct_spells.dm index 02e3532175a7..5f6403ca3cdd 100644 --- a/code/modules/spells/spell_types/construct_spells.dm +++ b/code/modules/spells/spell_types/construct_spells.dm @@ -210,7 +210,7 @@ target.playsound_local(get_turf(target), 'sound/hallucinations/i_see_you1.ogg', 50, 1) user.playsound_local(get_turf(user), 'sound/effects/ghost2.ogg', 50, 1) target.become_blind(ABYSSAL_GAZE_BLIND) - addtimer(CALLBACK(src, .proc/cure_blindness, target), 40) + addtimer(CALLBACK(src, PROC_REF(cure_blindness), target), 40) target.adjust_bodytemperature(-200) /** diff --git a/code/modules/spells/spell_types/devil.dm b/code/modules/spells/spell_types/devil.dm index eaa8eae9731b..6631d943a3aa 100644 --- a/code/modules/spells/spell_types/devil.dm +++ b/code/modules/spells/spell_types/devil.dm @@ -161,7 +161,7 @@ client.eye = src visible_message("[src] appears in a fiery blaze!") playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 100, TRUE, -1) - addtimer(CALLBACK(src, .proc/fakefireextinguish), 15, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(fakefireextinguish)), 15, TIMER_UNIQUE) /obj/effect/proc_holder/spell/targeted/sintouch name = "Sin Touch" diff --git a/code/modules/spells/spell_types/ethereal_jaunt.dm b/code/modules/spells/spell_types/ethereal_jaunt.dm index 11dc1ca1a690..8b948802a7ac 100644 --- a/code/modules/spells/spell_types/ethereal_jaunt.dm +++ b/code/modules/spells/spell_types/ethereal_jaunt.dm @@ -20,7 +20,7 @@ /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets,mob/user = usr) //magnets, so mostly hardcoded playsound(get_turf(user), 'sound/magic/ethereal_enter.ogg', 50, TRUE, -1) for(var/mob/living/target in targets) - INVOKE_ASYNC(src, .proc/do_jaunt, target) + INVOKE_ASYNC(src, PROC_REF(do_jaunt), target) /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/proc/do_jaunt(mob/living/target) target.notransform = 1 diff --git a/code/modules/spells/spell_types/forcewall.dm b/code/modules/spells/spell_types/forcewall.dm index 62bd538120e1..e4da9b63aa6d 100644 --- a/code/modules/spells/spell_types/forcewall.dm +++ b/code/modules/spells/spell_types/forcewall.dm @@ -14,19 +14,19 @@ var/wall_type = /obj/effect/forcefield/wizard /obj/effect/proc_holder/spell/targeted/forcewall/cast(list/targets,mob/user = usr) - new wall_type(get_turf(user),user) + new wall_type(get_turf(user), null, user) if(user.dir == SOUTH || user.dir == NORTH) - new wall_type(get_step(user, EAST),user) - new wall_type(get_step(user, WEST),user) + new wall_type(get_step(user, EAST), null, user) + new wall_type(get_step(user, WEST), null, user) else - new wall_type(get_step(user, NORTH),user) - new wall_type(get_step(user, SOUTH),user) + new wall_type(get_step(user, NORTH), null, user) + new wall_type(get_step(user, SOUTH), null, user) /obj/effect/forcefield/wizard var/mob/wizard -/obj/effect/forcefield/wizard/Initialize(mapload, mob/summoner) +/obj/effect/forcefield/wizard/Initialize(mapload, new_timeleft, mob/summoner) . = ..() wizard = summoner diff --git a/code/modules/spells/spell_types/genetic.dm b/code/modules/spells/spell_types/genetic.dm index 9397484aeb6b..fea675fdc17d 100644 --- a/code/modules/spells/spell_types/genetic.dm +++ b/code/modules/spells/spell_types/genetic.dm @@ -29,7 +29,7 @@ ADD_TRAIT(target, A, GENETICS_SPELL) active_on += target if(duration < charge_max) - addtimer(CALLBACK(src, .proc/remove, target), duration, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(remove), target), duration, TIMER_OVERRIDE|TIMER_UNIQUE) /obj/effect/proc_holder/spell/targeted/genetic/Destroy() . = ..() diff --git a/code/modules/spells/spell_types/knock.dm b/code/modules/spells/spell_types/knock.dm index 28430fd86220..6fe24f5d3874 100644 --- a/code/modules/spells/spell_types/knock.dm +++ b/code/modules/spells/spell_types/knock.dm @@ -16,9 +16,9 @@ SEND_SOUND(user, sound('sound/magic/knock.ogg')) for(var/turf/T in targets) for(var/obj/machinery/door/door in T.contents) - INVOKE_ASYNC(src, .proc/open_door, door) + INVOKE_ASYNC(src, PROC_REF(open_door), door) for(var/obj/structure/closet/C in T.contents) - INVOKE_ASYNC(src, .proc/open_closet, C) + INVOKE_ASYNC(src, PROC_REF(open_closet), C) /obj/effect/proc_holder/spell/aoe_turf/knock/proc/open_door(obj/machinery/door/door) if(istype(door, /obj/machinery/door/airlock)) diff --git a/code/modules/spells/spell_types/lichdom.dm b/code/modules/spells/spell_types/lichdom.dm index db92e6530000..c8d1c4a7c027 100644 --- a/code/modules/spells/spell_types/lichdom.dm +++ b/code/modules/spells/spell_types/lichdom.dm @@ -118,7 +118,7 @@ return if(!mind.current || (mind.current && mind.current.stat == DEAD)) - addtimer(CALLBACK(src, .proc/rise), respawn_time, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(rise)), respawn_time, TIMER_UNIQUE) /obj/item/phylactery/proc/rise() if(mind.current && mind.current.stat != DEAD) diff --git a/code/modules/spells/spell_types/mime.dm b/code/modules/spells/spell_types/mime.dm index 1f6302b89637..0e56c1112488 100644 --- a/code/modules/spells/spell_types/mime.dm +++ b/code/modules/spells/spell_types/mime.dm @@ -92,7 +92,7 @@ for (var/obj/item/storage/box/mime/B in T) user.put_in_hands(B) B.alpha = 255 - addtimer(CALLBACK(B, /obj/item/storage/box/mime/.proc/emptyStorage, FALSE), (summon_lifespan - 1)) + addtimer(CALLBACK(B, TYPE_PROC_REF(/obj/item/storage/box/mime, emptyStorage), FALSE), (summon_lifespan - 1)) /obj/effect/proc_holder/spell/aoe_turf/conjure/mime_box/Click() if(usr && usr.mind) diff --git a/code/modules/spells/spell_types/spacetime_distortion.dm b/code/modules/spells/spell_types/spacetime_distortion.dm index def36f4c8b12..a45f2afdaad5 100644 --- a/code/modules/spells/spell_types/spacetime_distortion.dm +++ b/code/modules/spells/spell_types/spacetime_distortion.dm @@ -36,7 +36,7 @@ perform(turf_steps,user=user) /obj/effect/proc_holder/spell/spacetime_dist/after_cast(list/targets) - addtimer(CALLBACK(src, .proc/clean_turfs), duration) + addtimer(CALLBACK(src, PROC_REF(clean_turfs)), duration) /obj/effect/proc_holder/spell/spacetime_dist/cast(list/targets, mob/user = usr) effects = list() @@ -84,7 +84,7 @@ . = ..() setDir(pick(GLOB.cardinals)) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index 92b51e0f2049..366fb41790ab 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -125,8 +125,8 @@ /obj/item/bodypart/Initialize(mapload) . = ..() if(can_be_disabled) - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS), .proc/on_paralysis_trait_gain) - RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS), .proc/on_paralysis_trait_loss) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS), PROC_REF(on_paralysis_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS), PROC_REF(on_paralysis_trait_loss)) /obj/item/bodypart/Destroy() @@ -338,7 +338,7 @@ if(total_damage >= max_damage * disable_threshold) //Easy limb disable disables the limb at 40% health instead of 0% if(!last_maxed) if(owner.stat < UNCONSCIOUS) - INVOKE_ASYNC(owner, /mob.proc/emote, "scream") + INVOKE_ASYNC(owner, TYPE_PROC_REF(/mob, emote), "scream") last_maxed = TRUE set_disabled(TRUE) return @@ -390,14 +390,14 @@ if(HAS_TRAIT(owner, TRAIT_EASYLIMBDISABLE)) disable_threshold = 0.6 needs_update_disabled = TRUE - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_EASYLIMBDISABLE), .proc/on_owner_easylimbwound_trait_loss) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_EASYLIMBDISABLE), .proc/on_owner_easylimbwound_trait_gain) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_EASYLIMBDISABLE), PROC_REF(on_owner_easylimbwound_trait_loss)) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_EASYLIMBDISABLE), PROC_REF(on_owner_easylimbwound_trait_gain)) if(initial(can_be_disabled)) if(HAS_TRAIT(owner, TRAIT_NOLIMBDISABLE)) set_can_be_disabled(FALSE) needs_update_disabled = FALSE - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_NOLIMBDISABLE), .proc/on_owner_nolimbdisable_trait_loss) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_NOLIMBDISABLE), .proc/on_owner_nolimbdisable_trait_gain) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_NOLIMBDISABLE), PROC_REF(on_owner_nolimbdisable_trait_loss)) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_NOLIMBDISABLE), PROC_REF(on_owner_nolimbdisable_trait_gain)) if(needs_update_disabled) update_disabled() @@ -412,12 +412,12 @@ if(owner) if(HAS_TRAIT(owner, TRAIT_NOLIMBDISABLE)) CRASH("set_can_be_disabled to TRUE with for limb whose owner has TRAIT_NOLIMBDISABLE") - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS), .proc/on_paralysis_trait_gain) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS), .proc/on_paralysis_trait_loss) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS), PROC_REF(on_paralysis_trait_gain)) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS), PROC_REF(on_paralysis_trait_loss)) if(HAS_TRAIT(owner, TRAIT_EASYLIMBDISABLE)) disable_threshold = 0.6 - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_EASYLIMBDISABLE), .proc/on_owner_easylimbwound_trait_loss) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_EASYLIMBDISABLE), .proc/on_owner_easylimbwound_trait_gain) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_EASYLIMBDISABLE), PROC_REF(on_owner_easylimbwound_trait_loss)) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_EASYLIMBDISABLE), PROC_REF(on_owner_easylimbwound_trait_gain)) update_disabled() else if(.) if(owner) @@ -581,7 +581,7 @@ bone_status = BONE_FLAG_NO_BONES else bone_status = BONE_FLAG_NORMAL - RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/on_mob_move) + RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(on_mob_move)) draw_color = mutation_color @@ -736,7 +736,7 @@ if (bone_status == BONE_FLAG_NORMAL && body_part & LEGS) // Because arms are not legs owner.set_broken_legs(owner.broken_legs + 1) bone_status = BONE_FLAG_BROKEN - addtimer(CALLBACK(owner, /atom/.proc/visible_message, "You hear a cracking sound coming from [owner]'s [name].", "You feel something crack in your [name]!", "You hear an awful cracking sound."), 1 SECONDS) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/atom, visible_message), "You hear a cracking sound coming from [owner]'s [name].", "You feel something crack in your [name]!", "You hear an awful cracking sound."), 1 SECONDS) /obj/item/bodypart/proc/fix_bone() // owner.update_inv_splints() breaks diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index b063d01f8048..7c292ac21fc4 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -20,7 +20,7 @@ if(C.stat <= SOFT_CRIT)//No more screaming while unconsious if(IS_ORGANIC_LIMB(affecting))//Chest is a good indicator for if a carbon is robotic in nature or not. - INVOKE_ASYNC(C, /mob.proc/emote, "scream") + INVOKE_ASYNC(C, TYPE_PROC_REF(/mob, emote), "scream") SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "dismembered", /datum/mood_event/dismembered) diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 8a101112377f..57d20bc3952a 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -85,10 +85,10 @@ if(owner) if(HAS_TRAIT(owner, TRAIT_PARALYSIS_L_ARM)) ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM), .proc/on_owner_paralysis_loss) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_loss)) else REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM), .proc/on_owner_paralysis_gain) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_gain)) if(.) var/mob/living/carbon/old_owner = . if(HAS_TRAIT(old_owner, TRAIT_PARALYSIS_L_ARM)) @@ -104,7 +104,7 @@ SIGNAL_HANDLER ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM)) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM), .proc/on_owner_paralysis_loss) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_loss)) ///Proc to react to the owner losing the TRAIT_PARALYSIS_L_ARM trait. @@ -112,7 +112,7 @@ SIGNAL_HANDLER REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM)) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM), .proc/on_owner_paralysis_gain) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_gain)) /obj/item/bodypart/l_arm/set_disabled(new_disabled) @@ -187,10 +187,10 @@ if(owner) if(HAS_TRAIT(owner, TRAIT_PARALYSIS_R_ARM)) ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM), .proc/on_owner_paralysis_loss) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_loss)) else REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM), .proc/on_owner_paralysis_gain) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_gain)) if(.) var/mob/living/carbon/old_owner = . if(HAS_TRAIT(old_owner, TRAIT_PARALYSIS_R_ARM)) @@ -206,7 +206,7 @@ SIGNAL_HANDLER ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM)) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM), .proc/on_owner_paralysis_loss) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_loss)) ///Proc to react to the owner losing the TRAIT_PARALYSIS_R_ARM trait. @@ -214,7 +214,7 @@ SIGNAL_HANDLER REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM)) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM), .proc/on_owner_paralysis_gain) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_gain)) /obj/item/bodypart/r_arm/set_disabled(new_disabled) @@ -285,10 +285,10 @@ if(owner) if(HAS_TRAIT(owner, TRAIT_PARALYSIS_L_LEG)) ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_LEG) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_LEG), .proc/on_owner_paralysis_loss) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_LEG), PROC_REF(on_owner_paralysis_loss)) else REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_LEG) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_LEG), .proc/on_owner_paralysis_gain) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_LEG), PROC_REF(on_owner_paralysis_gain)) if(.) var/mob/living/carbon/old_owner = . if(HAS_TRAIT(old_owner, TRAIT_PARALYSIS_L_LEG)) @@ -304,7 +304,7 @@ SIGNAL_HANDLER ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_LEG) UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_LEG)) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_LEG), .proc/on_owner_paralysis_loss) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_LEG), PROC_REF(on_owner_paralysis_loss)) ///Proc to react to the owner losing the TRAIT_PARALYSIS_L_LEG trait. @@ -312,7 +312,7 @@ SIGNAL_HANDLER REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_LEG) UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_LEG)) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_LEG), .proc/on_owner_paralysis_gain) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_LEG), PROC_REF(on_owner_paralysis_gain)) /obj/item/bodypart/leg/left/set_disabled(new_disabled) @@ -378,10 +378,10 @@ if(owner) if(HAS_TRAIT(owner, TRAIT_PARALYSIS_R_LEG)) ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_LEG) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_LEG), .proc/on_owner_paralysis_loss) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_LEG), PROC_REF(on_owner_paralysis_loss)) else REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_LEG) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_LEG), .proc/on_owner_paralysis_gain) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_LEG), PROC_REF(on_owner_paralysis_gain)) if(.) var/mob/living/carbon/old_owner = . if(HAS_TRAIT(old_owner, TRAIT_PARALYSIS_R_LEG)) @@ -397,7 +397,7 @@ SIGNAL_HANDLER ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_LEG) UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_LEG)) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_LEG), .proc/on_owner_paralysis_loss) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_LEG), PROC_REF(on_owner_paralysis_loss)) ///Proc to react to the owner losing the TRAIT_PARALYSIS_R_LEG trait. @@ -405,7 +405,7 @@ SIGNAL_HANDLER REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_LEG) UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_LEG)) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_LEG), .proc/on_owner_paralysis_gain) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_LEG), PROC_REF(on_owner_paralysis_gain)) /obj/item/bodypart/leg/right/set_disabled(new_disabled) diff --git a/code/modules/surgery/bodyparts/species_parts/rachnid_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/rachnid_bodyparts.dm index 163b94385dea..367c07a54970 100644 --- a/code/modules/surgery/bodyparts/species_parts/rachnid_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/rachnid_bodyparts.dm @@ -1,31 +1,34 @@ /obj/item/bodypart/head/rachnid - icon = 'icons/mob/species/rachnid/bodyparts.dmi' + static_icon = 'icons/mob/species/rachnid/bodyparts.dmi' limb_id = SPECIES_RACHNID - is_dimorphic = FALSE should_draw_greyscale = FALSE + overlay_icon_state = TRUE /obj/item/bodypart/chest/rachnid - icon = 'icons/mob/species/rachnid/bodyparts.dmi' + static_icon = 'icons/mob/species/rachnid/bodyparts.dmi' limb_id = SPECIES_RACHNID is_dimorphic = FALSE should_draw_greyscale = FALSE + overlay_icon_state = TRUE /obj/item/bodypart/l_arm/rachnid - icon = 'icons/mob/species/rachnid/bodyparts.dmi' + static_icon = 'icons/mob/species/rachnid/bodyparts.dmi' limb_id = SPECIES_RACHNID should_draw_greyscale = FALSE /obj/item/bodypart/r_arm/rachnid - icon = 'icons/mob/species/rachnid/bodyparts.dmi' + static_icon = 'icons/mob/species/rachnid/bodyparts.dmi' limb_id = SPECIES_RACHNID should_draw_greyscale = FALSE /obj/item/bodypart/leg/left/rachnid - icon = 'icons/mob/species/rachnid/bodyparts.dmi' + static_icon = 'icons/mob/species/rachnid/bodyparts.dmi' limb_id = SPECIES_RACHNID should_draw_greyscale = FALSE + overlay_icon_state = TRUE /obj/item/bodypart/leg/right/rachnid - icon = 'icons/mob/species/rachnid/bodyparts.dmi' + static_icon = 'icons/mob/species/rachnid/bodyparts.dmi' limb_id = SPECIES_RACHNID should_draw_greyscale = FALSE + overlay_icon_state = TRUE diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm deleted file mode 100644 index be7d824e0b1f..000000000000 --- a/code/modules/surgery/lipoplasty.dm +++ /dev/null @@ -1,69 +0,0 @@ -/datum/surgery/lipoplasty - name = "Lipoplasty" - steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/cut_fat, /datum/surgery_step/remove_fat, /datum/surgery_step/close) - possible_locs = list(BODY_ZONE_CHEST) - -/datum/surgery/lipoplasty/can_start(mob/user, mob/living/carbon/target) - if(HAS_TRAIT(target, TRAIT_FAT) && target.nutrition >= NUTRITION_LEVEL_WELL_FED) - return 1 - return 0 - - -//cut fat -/datum/surgery_step/cut_fat - name = "cut excess fat" - implements = list( - TOOL_SAW = 100, - /obj/item/hatchet = 40, - /obj/item/kitchen/knife/butcher = 33) - time = 64 - -/datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] begins to cut away [target]'s excess fat.", "You begin to cut away [target]'s excess fat...") - display_results(user, target, "You begin to cut away [target]'s excess fat...", - "[user] begins to cut away [target]'s excess fat.", - "[user] begins to cut [target]'s [target_zone] with [tool].") - -/datum/surgery_step/cut_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) - display_results(user, target, "You cut [target]'s excess fat loose.", - "[user] cuts [target]'s excess fat loose!", - "[user] finishes the cut on [target]'s [target_zone].") - return 1 - -//remove fat -/datum/surgery_step/remove_fat - name = "remove loose fat" - implements = list( - TOOL_RETRACTOR = 100, - TOOL_WIRECUTTER = 40) - time = 32 - experience_given = 0 //scales with fat removed - -/datum/surgery_step/remove_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to extract [target]'s loose fat...", - "[user] begins to extract [target]'s loose fat!", - "[user] begins to extract something from [target]'s [target_zone].") - -/datum/surgery_step/remove_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You extract [target]'s fat.", - "[user] extracts [target]'s fat!", - "[user] extracts [target]'s fat!") - target.overeatduration = 0 //patient is unfatted - var/removednutriment = target.nutrition - target.set_nutrition(NUTRITION_LEVEL_WELL_FED) - removednutriment -= NUTRITION_LEVEL_WELL_FED //whatever was removed goes into the meat - experience_given = (round(removednutriment/(MEDICAL_SKILL_EASY*5))) - var/mob/living/carbon/human/H = target - var/typeofmeat = /obj/item/reagent_containers/food/snacks/meat/slab/human - - if(H.dna && H.dna.species) - typeofmeat = H.dna.species.meat - - var/obj/item/reagent_containers/food/snacks/meat/slab/human/newmeat = new typeofmeat - newmeat.name = "fatty meat" - newmeat.desc = "Extremely fatty tissue taken from a patient." - newmeat.subjectname = H.real_name - newmeat.subjectjob = H.job - newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, (removednutriment / 15)) //To balance with nutriment_factor of nutriment - newmeat.forceMove(target.loc) - return ..() diff --git a/code/modules/surgery/organs/augments_chest.dm b/code/modules/surgery/organs/augments_chest.dm index f8314a7c6dfa..dc95ab97cece 100644 --- a/code/modules/surgery/organs/augments_chest.dm +++ b/code/modules/surgery/organs/augments_chest.dm @@ -23,7 +23,7 @@ synthesizing = TRUE to_chat(owner, "You feel less hungry...") owner.adjust_nutrition(50) - addtimer(CALLBACK(src, .proc/synth_cool), 50) + addtimer(CALLBACK(src, PROC_REF(synth_cool)), 50) /obj/item/organ/cyberimp/chest/nutriment/proc/synth_cool() synthesizing = FALSE @@ -59,7 +59,7 @@ if(reviving) switch(owner.stat) if(UNCONSCIOUS, HARD_CRIT) - addtimer(CALLBACK(src, .proc/heal), 3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(heal)), 3 SECONDS) else COOLDOWN_START(src, reviver_cooldown, revive_cost) reviving = FALSE @@ -105,7 +105,7 @@ if(H.stat != DEAD && prob(50 / severity) && H.can_heartattack()) H.set_heartattack(TRUE) to_chat(H, "You feel a horrible agony in your chest!") - addtimer(CALLBACK(src, .proc/undo_heart_attack), 600 / severity) + addtimer(CALLBACK(src, PROC_REF(undo_heart_attack)), 600 / severity) /obj/item/organ/cyberimp/chest/reviver/proc/undo_heart_attack() var/mob/living/carbon/human/H = owner @@ -154,9 +154,9 @@ if(allow_thrust(0.01)) on = TRUE ion_trail.start() - RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/move_react) + RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(move_react)) owner.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/cybernetic) - RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, .proc/pre_move_react) + RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(pre_move_react)) if(!silent) to_chat(owner, "You turn your thrusters set on.") else diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index a7a383927b0e..ae6f1cf43d39 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -115,11 +115,11 @@ /obj/item/organ/cyberimp/brain/anti_stun/Insert() . = ..() - RegisterSignal(owner, signalCache, .proc/on_signal) + RegisterSignal(owner, signalCache, PROC_REF(on_signal)) /obj/item/organ/cyberimp/brain/anti_stun/proc/on_signal(datum/source, amount) if(!(organ_flags & ORGAN_FAILING) && amount > 0) - addtimer(CALLBACK(src, .proc/clear_stuns), stun_cap_amount, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(clear_stuns)), stun_cap_amount, TIMER_UNIQUE|TIMER_OVERRIDE) /obj/item/organ/cyberimp/brain/anti_stun/proc/clear_stuns() if(owner || !(organ_flags & ORGAN_FAILING)) @@ -133,7 +133,7 @@ if((organ_flags & ORGAN_FAILING) || . & EMP_PROTECT_SELF) return organ_flags |= ORGAN_FAILING - addtimer(CALLBACK(src, .proc/reboot), 90 / severity) + addtimer(CALLBACK(src, PROC_REF(reboot)), 90 / severity) /obj/item/organ/cyberimp/brain/anti_stun/proc/reboot() organ_flags &= ~ORGAN_FAILING diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 0bd9ed46d1a9..de0ebac6eddb 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -301,7 +301,7 @@ /obj/item/organ/eyes/robotic/glow/Insert(mob/living/carbon/M, special = FALSE, drop_if_replaced = FALSE) . = ..() - RegisterSignal(M, COMSIG_ATOM_DIR_CHANGE, .proc/update_visuals) + RegisterSignal(M, COMSIG_ATOM_DIR_CHANGE, PROC_REF(update_visuals)) /obj/item/organ/eyes/robotic/glow/Remove(mob/living/carbon/M, special = FALSE) . = ..() diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index cafcc0196b1b..26b93d2c4642 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -31,7 +31,7 @@ /obj/item/organ/heart/Remove(mob/living/carbon/M, special = 0) ..() if(!special) - addtimer(CALLBACK(src, .proc/stop_if_unowned), 120) + addtimer(CALLBACK(src, PROC_REF(stop_if_unowned)), 120) /obj/item/organ/heart/proc/stop_if_unowned() if(!owner) @@ -43,7 +43,7 @@ user.visible_message("[user] squeezes [src] to \ make it beat again!","You squeeze [src] to make it beat again!") Restart() - addtimer(CALLBACK(src, .proc/stop_if_unowned), 80) + addtimer(CALLBACK(src, PROC_REF(stop_if_unowned)), 80) /obj/item/organ/heart/proc/Stop() beating = 0 diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 51d857aaeff6..4b5dd9a49717 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -38,7 +38,7 @@ /obj/item/organ/Initialize() . = ..() if(organ_flags & ORGAN_EDIBLE) - AddComponent(/datum/component/edible, food_reagents, null, RAW | MEAT | GORE, null, 10, null, null, null, CALLBACK(src, .proc/OnEatFrom)) + AddComponent(/datum/component/edible, food_reagents, null, RAW | MEAT | GORE, null, 10, null, null, null, CALLBACK(src, PROC_REF(OnEatFrom))) ///When you take a bite you cant jam it in for surgery anymore. /obj/item/organ/proc/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) diff --git a/code/modules/surgery/organs/stomach.dm b/code/modules/surgery/organs/stomach.dm index 10cc049eb806..2e2403db14c6 100644 --- a/code/modules/surgery/organs/stomach.dm +++ b/code/modules/surgery/organs/stomach.dm @@ -109,8 +109,8 @@ /obj/item/organ/stomach/ethereal/Insert(mob/living/carbon/M, special = 0) ..() - RegisterSignal(owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, .proc/charge) - RegisterSignal(owner, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/on_electrocute) + RegisterSignal(owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, PROC_REF(charge)) + RegisterSignal(owner, COMSIG_LIVING_ELECTROCUTE_ACT, PROC_REF(on_electrocute)) /obj/item/organ/stomach/ethereal/Remove(mob/living/carbon/M, special = 0) UnregisterSignal(owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT) diff --git a/code/modules/surgery/organs/tails.dm b/code/modules/surgery/organs/tails.dm index f587a26d8404..2d3e402150a2 100644 --- a/code/modules/surgery/organs/tails.dm +++ b/code/modules/surgery/organs/tails.dm @@ -83,7 +83,7 @@ /obj/item/organ/tail/lizard/fake name = "fabricated lizard tail" - desc = "A fabricated severed lizard tail. This one's made of synthflesh. Probably not usable for lizard wine." + desc = "A fabricated severed lizard tail. This one's made of synthflesh." /obj/item/organ/tail/elzu name = "\improper Elzuose tail" diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 77fae8c0bb87..40920cc5d21a 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -34,13 +34,13 @@ /obj/item/organ/tongue/Insert(mob/living/carbon/M, special = 0) ..() if (modifies_speech) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) M.UnregisterSignal(M, COMSIG_MOB_SAY) /obj/item/organ/tongue/Remove(mob/living/carbon/M, special = 0) ..() - UnregisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) - M.RegisterSignal(M, COMSIG_MOB_SAY, /mob/living/carbon/.proc/handle_tongueless_speech) + UnregisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) + M.RegisterSignal(M, COMSIG_MOB_SAY, TYPE_PROC_REF(/mob/living/carbon, handle_tongueless_speech)) /obj/item/organ/tongue/could_speak_language(language) return is_type_in_typecache(language, languages_possible) diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 7fdf9532de17..1a0f1ea60f3d 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -368,7 +368,7 @@ text = devilinfo.truename else text = L.real_name - addtimer(CALLBACK(L, /atom/movable/proc/say, text), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), text), 5 * i) i++ //SAY MY NAME @@ -376,7 +376,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /atom/movable/proc/say, user.name), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), user.name), 5 * i) i++ //KNOCK KNOCK @@ -384,7 +384,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /atom/movable/proc/say, "Who's there?"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), "Who's there?"), 5 * i) i++ //STATE LAWS @@ -408,7 +408,7 @@ for(var/iter in 1 to 5 * power_multiplier) for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(GLOBAL_PROC, .proc/_step, L, direction? direction : pick(GLOB.cardinals)), 10 * (iter - 1)) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(_step), L, direction? direction : pick(GLOB.cardinals)), 10 * (iter - 1)) //WALK else if((findtext(message, walk_words))) @@ -431,7 +431,7 @@ cooldown = COOLDOWN_MEME for(var/mob/living/carbon/human/H in listeners) addtimer(CALLBACK(H, /mob/verb/a_intent_change, INTENT_HELP), i * 2) - addtimer(CALLBACK(H, /mob/proc/click_random_mob), i * 2) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob, click_random_mob)), i * 2) i++ //DISARM INTENT @@ -439,7 +439,7 @@ cooldown = COOLDOWN_MEME for(var/mob/living/carbon/human/H in listeners) addtimer(CALLBACK(H, /mob/verb/a_intent_change, INTENT_DISARM), i * 2) - addtimer(CALLBACK(H, /mob/proc/click_random_mob), i * 2) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob, click_random_mob)), i * 2) i++ //GRAB INTENT @@ -447,7 +447,7 @@ cooldown = COOLDOWN_MEME for(var/mob/living/carbon/human/H in listeners) addtimer(CALLBACK(H, /mob/verb/a_intent_change, INTENT_GRAB), i * 2) - addtimer(CALLBACK(H, /mob/proc/click_random_mob), i * 2) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob, click_random_mob)), i * 2) i++ //HARM INTENT @@ -455,7 +455,7 @@ cooldown = COOLDOWN_MEME for(var/mob/living/carbon/human/H in listeners) addtimer(CALLBACK(H, /mob/verb/a_intent_change, INTENT_HARM), i * 2) - addtimer(CALLBACK(H, /mob/proc/click_random_mob), i * 2) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob, click_random_mob)), i * 2) i++ //THROW/CATCH @@ -476,7 +476,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /atom/movable/proc/say, pick_list_replacements(BRAIN_DAMAGE_FILE, "brain_damage")), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), pick_list_replacements(BRAIN_DAMAGE_FILE, "brain_damage")), 5 * i) i++ //GET UP @@ -509,7 +509,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /mob/living/.proc/emote, "dance"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, emote), "dance"), 5 * i) i++ //JUMP @@ -518,8 +518,8 @@ for(var/V in listeners) var/mob/living/L = V if(prob(25)) - addtimer(CALLBACK(L, /atom/movable/proc/say, "HOW HIGH?!!"), 5 * i) - addtimer(CALLBACK(L, /mob/living/.proc/emote, "jump"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), "HOW HIGH?!!"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, emote), "jump"), 5 * i) i++ //SALUTE @@ -527,7 +527,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /mob/living/.proc/emote, "salute"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, emote), "salute"), 5 * i) i++ //PLAY DEAD @@ -535,7 +535,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /mob/living/.proc/emote, "deathgasp"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, emote), "deathgasp"), 5 * i) i++ //PLEASE CLAP @@ -543,13 +543,13 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /mob/living/.proc/emote, "clap"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, emote), "clap"), 5 * i) i++ //HONK else if((findtext(message, honk_words))) cooldown = COOLDOWN_MEME - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, get_turf(user), 'sound/items/bikehorn.ogg', 300, 1), 25) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), get_turf(user), 'sound/items/bikehorn.ogg', 300, 1), 25) if(user.mind && user.mind.assigned_role == "Clown") for(var/mob/living/carbon/C in listeners) C.slip(140 * power_multiplier) diff --git a/code/modules/tgs/core/core.dm b/code/modules/tgs/core/core.dm index 41a047339452..b9a9f27a28ae 100644 --- a/code/modules/tgs/core/core.dm +++ b/code/modules/tgs/core/core.dm @@ -153,4 +153,9 @@ /world/TgsSecurityLevel() var/datum/tgs_api/api = TGS_READ_GLOBAL(tgs) if(api) - api.SecurityLevel() + return api.SecurityLevel() + +/world/TgsVisibility() + var/datum/tgs_api/api = TGS_READ_GLOBAL(tgs) + if(api) + return api.Visibility() diff --git a/code/modules/tgs/core/datum.dm b/code/modules/tgs/core/datum.dm index 68b0330fe860..07ce3b684584 100644 --- a/code/modules/tgs/core/datum.dm +++ b/code/modules/tgs/core/datum.dm @@ -11,6 +11,15 @@ TGS_DEFINE_AND_SET_GLOBAL(tgs, null) src.event_handler = event_handler src.version = version +/datum/tgs_api/proc/TerminateWorld() + while(TRUE) + TGS_DEBUG_LOG("About to terminate world. Tick: [world.time], sleep_offline: [world.sleep_offline]") + world.sleep_offline = FALSE // https://www.byond.com/forum/post/2894866 + del(world) + world.sleep_offline = FALSE // just in case, this is BYOND after all... + sleep(1) + TGS_DEBUG_LOG("BYOND DIDN'T TERMINATE THE WORLD!!! TICK IS: [world.time], sleep_offline: [world.sleep_offline]") + /datum/tgs_api/latest parent_type = /datum/tgs_api/v5 @@ -57,3 +66,6 @@ TGS_PROTECT_DATUM(/datum/tgs_api) /datum/tgs_api/proc/SecurityLevel() return TGS_UNIMPLEMENTED + +/datum/tgs_api/proc/Visibility() + return TGS_UNIMPLEMENTED diff --git a/code/modules/tgs/v4/api.dm b/code/modules/tgs/v4/api.dm index b9a75c4abb48..945e2e411767 100644 --- a/code/modules/tgs/v4/api.dm +++ b/code/modules/tgs/v4/api.dm @@ -73,7 +73,7 @@ if(cached_json["apiValidateOnly"]) TGS_INFO_LOG("Validating API and exiting...") Export(TGS4_COMM_VALIDATE, list(TGS4_PARAMETER_DATA = "[minimum_required_security_level]")) - del(world) + TerminateWorld() security_level = cached_json["securityLevel"] chat_channels_json_path = cached_json["chatChannelsJson"] @@ -188,7 +188,7 @@ requesting_new_port = TRUE if(!world.OpenPort(0)) //open any port TGS_ERROR_LOG("Unable to open random port to retrieve new port![TGS4_PORT_CRITFAIL_MESSAGE]") - del(world) + TerminateWorld() //request a new port export_lock = FALSE @@ -196,16 +196,16 @@ if(!new_port_json) TGS_ERROR_LOG("No new port response from server![TGS4_PORT_CRITFAIL_MESSAGE]") - del(world) + TerminateWorld() var/new_port = new_port_json[TGS4_PARAMETER_DATA] if(!isnum(new_port) || new_port <= 0) TGS_ERROR_LOG("Malformed new port json ([json_encode(new_port_json)])![TGS4_PORT_CRITFAIL_MESSAGE]") - del(world) + TerminateWorld() if(new_port != world.port && !world.OpenPort(new_port)) TGS_ERROR_LOG("Unable to open port [new_port]![TGS4_PORT_CRITFAIL_MESSAGE]") - del(world) + TerminateWorld() requesting_new_port = FALSE while(export_lock) diff --git a/code/modules/tgs/v5/__interop_version.dm b/code/modules/tgs/v5/__interop_version.dm index 5d3d491a7362..1b52b31d6a73 100644 --- a/code/modules/tgs/v5/__interop_version.dm +++ b/code/modules/tgs/v5/__interop_version.dm @@ -1 +1 @@ -"5.6.1" +"5.6.2" diff --git a/code/modules/tgs/v5/_defines.dm b/code/modules/tgs/v5/_defines.dm index f973338daa03..bdcd4e4dd58e 100644 --- a/code/modules/tgs/v5/_defines.dm +++ b/code/modules/tgs/v5/_defines.dm @@ -48,6 +48,7 @@ #define DMAPI5_RUNTIME_INFORMATION_REVISION "revision" #define DMAPI5_RUNTIME_INFORMATION_TEST_MERGES "testMerges" #define DMAPI5_RUNTIME_INFORMATION_SECURITY_LEVEL "securityLevel" +#define DMAPI5_RUNTIME_INFORMATION_VISIBILITY "visibility" #define DMAPI5_CHAT_UPDATE_CHANNELS "channels" diff --git a/code/modules/tgs/v5/api.dm b/code/modules/tgs/v5/api.dm index 34cc43f8762f..7226f29bba60 100644 --- a/code/modules/tgs/v5/api.dm +++ b/code/modules/tgs/v5/api.dm @@ -4,6 +4,7 @@ var/instance_name var/security_level + var/visibility var/reboot_mode = TGS_REBOOT_MODE_NORMAL @@ -50,10 +51,11 @@ if(runtime_information[DMAPI5_RUNTIME_INFORMATION_API_VALIDATE_ONLY]) TGS_INFO_LOG("DMAPI validation, exiting...") - del(world) + TerminateWorld() version = new /datum/tgs_version(runtime_information[DMAPI5_RUNTIME_INFORMATION_SERVER_VERSION]) security_level = runtime_information[DMAPI5_RUNTIME_INFORMATION_SECURITY_LEVEL] + visibility = runtime_information[DMAPI5_RUNTIME_INFORMATION_VISIBILITY] instance_name = runtime_information[DMAPI5_RUNTIME_INFORMATION_INSTANCE_NAME] var/list/revisionData = runtime_information[DMAPI5_RUNTIME_INFORMATION_REVISION] @@ -252,3 +254,7 @@ /datum/tgs_api/v5/SecurityLevel() RequireInitialBridgeResponse() return security_level + +/datum/tgs_api/v5/Visibility() + RequireInitialBridgeResponse() + return visibility diff --git a/code/modules/tgs/v5/undefs.dm b/code/modules/tgs/v5/undefs.dm index c679737dfc49..f163adaaafe3 100644 --- a/code/modules/tgs/v5/undefs.dm +++ b/code/modules/tgs/v5/undefs.dm @@ -48,6 +48,7 @@ #undef DMAPI5_RUNTIME_INFORMATION_REVISION #undef DMAPI5_RUNTIME_INFORMATION_TEST_MERGES #undef DMAPI5_RUNTIME_INFORMATION_SECURITY_LEVEL +#undef DMAPI5_RUNTIME_INFORMATION_VISIBILITY #undef DMAPI5_CHAT_UPDATE_CHANNELS diff --git a/code/modules/tgui/tgui.dm b/code/modules/tgui/tgui.dm index 91ab11ab4677..a79966f69ba1 100644 --- a/code/modules/tgui/tgui.dm +++ b/code/modules/tgui/tgui.dm @@ -312,7 +312,7 @@ window = window, src_object = src_object) process_status() - DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, .proc/on_act_message, act_type, payload, state)) + DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, PROC_REF(on_act_message), act_type, payload, state)) return FALSE switch(type) if("ready") diff --git a/code/modules/tgui_panel/tgui_panel.dm b/code/modules/tgui_panel/tgui_panel.dm index 8327fb838eb7..fdd74389c837 100644 --- a/code/modules/tgui_panel/tgui_panel.dm +++ b/code/modules/tgui_panel/tgui_panel.dm @@ -16,7 +16,7 @@ /datum/tgui_panel/New(client/client) src.client = client window = new(client, "browseroutput") - window.subscribe(src, .proc/on_message) + window.subscribe(src, PROC_REF(on_message)) /datum/tgui_panel/Del() window.unsubscribe(src) @@ -49,7 +49,7 @@ window.send_asset(get_asset_datum(/datum/asset/simple/namespaced/fontawesome)) window.send_asset(get_asset_datum(/datum/asset/spritesheet/chat)) request_telemetry() - addtimer(CALLBACK(src, .proc/on_initialize_timed_out), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(on_initialize_timed_out)), 5 SECONDS) /** * private diff --git a/code/modules/tooltip/tooltip.dm b/code/modules/tooltip/tooltip.dm index 31e570cd9431..f0cb3562bdf2 100644 --- a/code/modules/tooltip/tooltip.dm +++ b/code/modules/tooltip/tooltip.dm @@ -88,7 +88,7 @@ Notes: /datum/tooltip/proc/hide() if (queueHide) - addtimer(CALLBACK(src, .proc/do_hide), 1) + addtimer(CALLBACK(src, PROC_REF(do_hide)), 1) else do_hide() diff --git a/code/modules/unit_tests/combat.dm b/code/modules/unit_tests/combat.dm index 30bad7217514..0ad01c2cb9f8 100644 --- a/code/modules/unit_tests/combat.dm +++ b/code/modules/unit_tests/combat.dm @@ -53,9 +53,9 @@ var/mob/living/carbon/human/victim = allocate(/mob/living/carbon/human) var/obj/item/storage/toolbox/toolbox = allocate(/obj/item/storage/toolbox) - RegisterSignal(toolbox, COMSIG_ITEM_PRE_ATTACK, .proc/pre_attack_hit) - RegisterSignal(toolbox, COMSIG_ITEM_ATTACK, .proc/attack_hit) - RegisterSignal(toolbox, COMSIG_ITEM_AFTERATTACK, .proc/post_attack_hit) + RegisterSignal(toolbox, COMSIG_ITEM_PRE_ATTACK, PROC_REF(pre_attack_hit)) + RegisterSignal(toolbox, COMSIG_ITEM_ATTACK, PROC_REF(attack_hit)) + RegisterSignal(toolbox, COMSIG_ITEM_AFTERATTACK, PROC_REF(post_attack_hit)) attacker.put_in_active_hand(toolbox, forced = TRUE) attacker.a_intent_change(INTENT_HARM) diff --git a/code/modules/unit_tests/connect_loc.dm b/code/modules/unit_tests/connect_loc.dm index 511e1745a73a..e169cab1be5d 100644 --- a/code/modules/unit_tests/connect_loc.dm +++ b/code/modules/unit_tests/connect_loc.dm @@ -63,7 +63,7 @@ . = ..() var/static/list/connections = list( - COMSIG_MOCK_SIGNAL = .proc/on_receive_mock_signal, + COMSIG_MOCK_SIGNAL = PROC_REF(on_receive_mock_signal), ) AddElement(/datum/element/connect_loc, connections) diff --git a/code/modules/unit_tests/emoting.dm b/code/modules/unit_tests/emoting.dm index 5795ab34374f..7111107b709b 100644 --- a/code/modules/unit_tests/emoting.dm +++ b/code/modules/unit_tests/emoting.dm @@ -3,7 +3,7 @@ /datum/unit_test/emoting/Run() var/mob/living/carbon/human/human = allocate(/mob/living/carbon/human) - RegisterSignal(human, COMSIG_MOB_EMOTE, .proc/on_emote_used) + RegisterSignal(human, COMSIG_MOB_EMOTE, PROC_REF(on_emote_used)) human.say("*shrug") TEST_ASSERT_EQUAL(emotes_used, 1, "Human did not shrug") diff --git a/code/modules/unit_tests/projectiles.dm b/code/modules/unit_tests/projectiles.dm index 4950be10c1a6..e93d20910af0 100644 --- a/code/modules/unit_tests/projectiles.dm +++ b/code/modules/unit_tests/projectiles.dm @@ -19,6 +19,7 @@ gunner.put_in_hands(test_gun, forced=TRUE) var/expected_damage = loaded_bullet.damage loaded_bullet.def_zone = BODY_ZONE_CHEST + test_gun.safety = FALSE //So we can shoot the gun var/did_we_shoot = test_gun.afterattack(victim, gunner) TEST_ASSERT(did_we_shoot, "Gun does not appeared to have successfully fired.") TEST_ASSERT_EQUAL(victim.getBruteLoss(), expected_damage, "Victim took incorrect amount of damage, expected [expected_damage], got [victim.getBruteLoss()].") diff --git a/code/modules/vehicles/cars/car.dm b/code/modules/vehicles/cars/car.dm index 4fde603ee8c7..6b53fa9a02c3 100644 --- a/code/modules/vehicles/cars/car.dm +++ b/code/modules/vehicles/cars/car.dm @@ -80,7 +80,7 @@ if(occupant_amount() >= max_occupants) return FALSE var/atom/old_loc = loc - if(do_mob(forcer, M, get_enter_delay(M), extra_checks=CALLBACK(src, /obj/vehicle/sealed/car/proc/is_car_stationary, old_loc))) + if(do_mob(forcer, M, get_enter_delay(M), extra_checks=CALLBACK(src, TYPE_PROC_REF(/obj/vehicle/sealed/car, is_car_stationary), old_loc))) mob_forced_enter(M, silent) return TRUE return FALSE diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm index 80511d5ea153..e9addbd2d5bf 100644 --- a/code/modules/vehicles/cars/clowncar.dm +++ b/code/modules/vehicles/cars/clowncar.dm @@ -27,7 +27,7 @@ var/mob/living/carbon/human/H = M if(H.mind && H.mind.assigned_role == "Clown") //Ensures only clowns can drive the car. (Including more at once) add_control_flags(H, VEHICLE_CONTROL_DRIVE|VEHICLE_CONTROL_PERMISSION) - RegisterSignal(H, COMSIG_MOB_CLICKON, .proc/FireCannon) + RegisterSignal(H, COMSIG_MOB_CLICKON, PROC_REF(FireCannon)) M.log_message("has entered [src] as a possible driver", LOG_ATTACK) return add_control_flags(M, VEHICLE_CONTROL_KIDNAPPED) @@ -125,7 +125,7 @@ visible_message("[user] presses one of the colorful buttons on [src], and the clown car turns on its singularity disguise system.") icon = 'icons/obj/singularity.dmi' icon_state = "singularity_s1" - addtimer(CALLBACK(src, .proc/ResetIcon), 100) + addtimer(CALLBACK(src, PROC_REF(ResetIcon)), 100) if(4) visible_message("[user] presses one of the colorful buttons on [src], and the clown car spews out a cloud of laughing gas.") var/datum/reagents/R = new/datum/reagents(300) @@ -138,7 +138,7 @@ if(5) visible_message("[user] presses one of the colorful buttons on [src], and the clown car starts dropping an oil trail.") droppingoil = TRUE - addtimer(CALLBACK(src, .proc/StopDroppingOil), 30) + addtimer(CALLBACK(src, PROC_REF(StopDroppingOil)), 30) if(6) visible_message("[user] presses one of the colorful buttons on [src], and the clown car lets out a comedic toot.") playsound(src, 'sound/vehicles/clowncar_fart.ogg', 100) @@ -160,7 +160,7 @@ cannonmode = FALSE flick("clowncar_fromfire", src) icon_state = "clowncar" - addtimer(CALLBACK(src, .proc/LeaveCannonMode), 20) + addtimer(CALLBACK(src, PROC_REF(LeaveCannonMode)), 20) playsound(src, 'sound/vehicles/clowncar_cannonmode2.ogg', 75) visible_message("The [src] starts going back into mobile mode.") else @@ -168,7 +168,7 @@ flick("clowncar_tofire", src) icon_state = "clowncar_fire" visible_message("The [src] opens up and reveals a large cannon.") - addtimer(CALLBACK(src, .proc/EnterCannonMode), 20) + addtimer(CALLBACK(src, PROC_REF(EnterCannonMode)), 20) playsound(src, 'sound/vehicles/clowncar_cannonmode1.ogg', 75) diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm index b70ea004fd37..6dee79d6e69a 100644 --- a/code/modules/vehicles/scooter.dm +++ b/code/modules/vehicles/scooter.dm @@ -141,7 +141,7 @@ if(location) location.hotspot_expose(1000,1000) sparks.start() //the most radical way to start plasma fires - addtimer(CALLBACK(src, .proc/grind), 2) + addtimer(CALLBACK(src, PROC_REF(grind)), 2) return else grinding = FALSE diff --git a/code/modules/vehicles/vehicle_actions.dm b/code/modules/vehicles/vehicle_actions.dm index 26335d43f03d..18841271cfc0 100644 --- a/code/modules/vehicles/vehicle_actions.dm +++ b/code/modules/vehicles/vehicle_actions.dm @@ -225,5 +225,5 @@ if(locate(/obj/structure/table) in V.loc.contents) V.grinding = TRUE V.icon_state = "[V.board_icon]-grind" - addtimer(CALLBACK(V, /obj/vehicle/ridden/scooter/skateboard/.proc/grind), 2) + addtimer(CALLBACK(V, TYPE_PROC_REF(/obj/vehicle/ridden/scooter/skateboard, grind)), 2) next_ollie = world.time + 5 diff --git a/code/modules/vehicles/wheelchair.dm b/code/modules/vehicles/wheelchair.dm index e9dc5d9b6488..1f6c96bc0c01 100644 --- a/code/modules/vehicles/wheelchair.dm +++ b/code/modules/vehicles/wheelchair.dm @@ -23,7 +23,7 @@ /obj/vehicle/ridden/wheelchair/ComponentInitialize() //Since it's technically a chair I want it to have chair properties . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, .proc/can_user_rotate),CALLBACK(src, .proc/can_be_rotated),null) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, PROC_REF(can_user_rotate)),CALLBACK(src, PROC_REF(can_be_rotated)),null) /obj/vehicle/ridden/wheelchair/obj_destruction(damage_flag) new /obj/item/stack/rods(drop_location(), 1) diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm index 5732b2b2f6c5..140d8c42a283 100644 --- a/code/modules/vending/clothesmate.dm +++ b/code/modules/vending/clothesmate.dm @@ -45,7 +45,6 @@ /obj/item/storage/belt/fannypack/blue = 3, /obj/item/storage/belt/fannypack/red = 3, /obj/item/clothing/under/pants/jeans = 2, - /obj/item/clothing/under/pants/classicjeans = 2, /obj/item/clothing/under/pants/camo = 2, /obj/item/clothing/under/pants/blackjeans = 2, /obj/item/clothing/under/pants/khaki = 2, @@ -122,7 +121,6 @@ /obj/item/clothing/under/suit/checkered = 1, /obj/item/clothing/suit/jacket/leather = 1, /obj/item/clothing/suit/jacket/leather/overcoat = 1, - /obj/item/clothing/under/pants/mustangjeans = 1, /obj/item/clothing/neck/necklace/dope = 3, /obj/item/clothing/suit/jacket/letterman_nanotrasen = 1, /obj/item/instrument/piano_synth/headphones/spacepods = 1) diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm index 1e9a3460f064..d71dcae5ab41 100644 --- a/code/modules/vending/security.dm +++ b/code/modules/vending/security.dm @@ -109,7 +109,7 @@ contraband = list() premium = list() voucher_items = list( - "Tactical Energy Gun" = /obj/item/gun/energy/e_gun/stun, + "Tactical Energy Gun" = /obj/item/gun/energy/e_gun/hades, "Combat Shotgun" = /obj/item/gun/ballistic/shotgun/automatic/combat, "Type U3 Uzi" = /obj/item/gun/ballistic/automatic/smg/mini_uzi) diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm index 30f94b56c1ca..dbd88b20c582 100644 --- a/code/modules/zombie/organs.dm +++ b/code/modules/zombie/organs.dm @@ -63,7 +63,7 @@ not even death can stop, you will rise again!") var/revive_time = rand(revive_time_min, revive_time_max) var/flags = TIMER_STOPPABLE - timer_id = addtimer(CALLBACK(src, .proc/zombify, owner), revive_time, flags) + timer_id = addtimer(CALLBACK(src, PROC_REF(zombify), owner), revive_time, flags) /obj/item/organ/zombie_infection/proc/zombify(mob/living/carbon/C) timer_id = null diff --git a/config/atmos_mix.txt b/config/atmos_mix.txt deleted file mode 100644 index f7b21b503dd7..000000000000 --- a/config/atmos_mix.txt +++ /dev/null @@ -1,14 +0,0 @@ -## HOW TO MIX A BATCH -## First, unzip... wait, wrong docs - -## How to configure an atmos mix for a planet: -## each entry is designed as follows: -## WHITESANDS_ATMOS_MIX <% of mix> - -## White Sands Atmospheric mix configuration - -WHITESANDS_ATMOS_MOLES 103.98 - -WHITESANDS_ATMOS_MIX o2 0.105 -WHITESANDS_ATMOS_MIX co2 0.105 -WHITESANDS_ATMOS_MIX n2 0.79 diff --git a/config/awaymissionconfig.txt b/config/awaymissionconfig.txt deleted file mode 100644 index 5c685d825e0a..000000000000 --- a/config/awaymissionconfig.txt +++ /dev/null @@ -1,23 +0,0 @@ -#List the potential random Z-levels here. -#Maps must be the full path to them -#Maps should be 255x255 or smaller and be bounded. Falling off the edge of the map will result in undefined behavior. -#SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START - -#!!IMPORTANT NOTES FOR HOSTING AWAY MISSIONS!!: -#Do NOT tick the maps during compile -- the game uses this list to decide which map to load. Ticking the maps will result in them ALL being loaded at once. -#DO tick the associated code file for the away mission you are enabling. Otherwise, the map will be trying to reference objects which do not exist, which will cause runtime errors! - -#_maps/RandomZLevels/blackmarketpackers.dmm -#_maps/RandomZLevels/spacebattle.dmm -#_maps/RandomZLevels/TheBeach.dmm -#_maps/RandomZLevels/Academy.dmm -#_maps/RandomZLevels/wildwest.dmm -#_maps/RandomZLevels/challenge.dmm -#_maps/RandomZLevels/centcomAway.dmm -#_maps/RandomZLevels/moonoutpost19.dmm -#_maps/RandomZLevels/undergroundoutpost45.dmm -#_maps/RandomZLevels/caves.dmm -#_maps/RandomZLevels/snowdin.dmm -#_maps/RandomZLevels/research.dmm -#_maps/RandomZLevels/SnowCabin.dmm -_maps/RandomZLevels/VR/snowdin_VR.dmm diff --git a/config/external_rsc_urls.txt b/config/external_rsc_urls.txt deleted file mode 100644 index 16d6faf653e8..000000000000 --- a/config/external_rsc_urls.txt +++ /dev/null @@ -1 +0,0 @@ -http://url_goes_here/shiptest.zip diff --git a/config/iceruinblacklist.txt b/config/iceruinblacklist.txt deleted file mode 100644 index 031188b80de3..000000000000 --- a/config/iceruinblacklist.txt +++ /dev/null @@ -1,18 +0,0 @@ -#Listing maps here will blacklist them from generating in the ice moon. -#Maps must be the full path to them -#A list of maps valid to blacklist can be found in _maps\RandomRuins\IceRuins -#SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START - -##RESPAWN -#_maps/RandomRuins/IceRuins/icemoon_surface_slimerancher.dmm -#_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm -#_maps/RandomRuins/IceRuins/icemoon_underground_drakelair.dmm -#_maps/RandomRuins/IceRuins/icemoon_underground_oldstation.dmm - -##MISC -#_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm -#_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_newcops.dmm -#_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm -#_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm -#_maps/RandomRuins/IceRuins/icemoon_underground_burnies_lair.dmm -#_maps/RandomRuins/IceRuins/icemoon_underground_wendigo_cave.dmm diff --git a/config/jobs.txt b/config/jobs.txt deleted file mode 100644 index a266110233d0..000000000000 --- a/config/jobs.txt +++ /dev/null @@ -1,50 +0,0 @@ -#This allows easy configuration of the number of positions allowed for each job -#Format is: [Job name]=[total positions],[spawn positions] -#Job names must be identical to the title var of each job datum -#Positions can be set to -1 to allow unlimited slots -Captain=1,1 -Head of Personnel=1,1 -Head of Security=1,1 -Chief Engineer=1,1 -Research Director=1,1 -Chief Medical Officer=1,1 - -Assistant=-1,-1 -Prisoner=0,2 - -Quartermaster=1,1 -Cargo Technician=3,2 -Shaft Miner=3,3 - -Bartender=1,1 -Cook=2,1 -Botanist=3,2 -Janitor=2,1 - -Clown=1,1 -Mime=1,1 -Curator=1,1 -Lawyer=2,2 - -Chaplain=1,1 - -Station Engineer=5,5 -Atmospheric Technician=3,2 - -Medical Doctor=5,3 -Paramedic=2,2 -Chemist=2,2 -Geneticist=2,2 -Virologist=1,1 -Psychologist=1,1 - -Scientist=5,3 -Roboticist=2,2 - -Warden=1,1 -Detective=1,1 -Security Officer=5,5 -Brig Physician=1,1 - -AI=0,1 -Cyborg=0,1 diff --git a/config/jungleruinblacklist.txt b/config/jungleruinblacklist.txt deleted file mode 100644 index faf518fde632..000000000000 --- a/config/jungleruinblacklist.txt +++ /dev/null @@ -1,27 +0,0 @@ -#Listing maps here will blacklist them from generating in jungle planets -#Maps must be the full path to them -#A list of maps valid to blacklist can be found in _maps\RandomRuins\JungleRuins -#SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START - -#_maps/RandomRuins/JungleRuins/jungle_botany.dmm -#_maps/RandomRuins/JungleRuins/jungle_demon.dmm -#_maps/RandomRuins/JungleRuins/jungle_hangar.dmm -#_maps/RandomRuins/JungleRuins/jungle_nest.dmm -#_maps/RandomRuins/JungleRuins/jungle_pirate.dmm -#_maps/RandomRuins/JungleRuins/jungle_pizzawave.dmm -#_maps/RandomRuins/JungleRuins/jungle_seedling.dmm -#_maps/RandomRuins/JungleRuins/jungle_spider.dmm -#_maps/RandomRuins/JungleRuins/jungle_surface_abandonedsolgov.dmm -#_maps/RandomRuins/JungleRuins/jungle_surface_coffinpirate.dmm -#_maps/RandomRuins/JungleRuins/jungle_surface_ikea_ai.dmm -#_maps/RandomRuins/JungleRuins/jungle_surface_ninjashrine.dmm -#_maps/RandomRuins/JungleRuins/jungle_surface_roommates.dmm -#_maps/RandomRuins/JungleRuins/jungle_surface_tumblr_sexyman.dmm -#_maps/RandomRuins/JungleRuins/jungle_surface_unabomber_cabin.dmm -#_maps/RandomRuins/JungleRuins/jungle_surface_weed_shack.dmm -#_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm -#_maps/RandomRuins/JungleRuins/jungle_village.dmm -#_maps/RandomRuins/JungleRuins/jungle_witch.dmm -#_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm -#_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm -#_maps/RandomRuins/JungleRuins/jungle_paradise.dmm diff --git a/config/lavaruinblacklist.txt b/config/lavaruinblacklist.txt deleted file mode 100644 index 973b402ba7a1..000000000000 --- a/config/lavaruinblacklist.txt +++ /dev/null @@ -1,43 +0,0 @@ -#Listing maps here will blacklist them from generating in lavaland. -#Maps must be the full path to them -#A list of maps valid to blacklist can be found in _maps\RandomRuins\LavaRuins -#SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START - -##BIODOMES -#_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm -#_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm -#_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_cube.dmm - -##RESPAWN -#_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm - -##SIN -#_maps/RandomRuins/LavaRuins/lavaland_surface_envy.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_pride.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm - -##MISC -#_maps/RandomRuins/LavaRuins/lavaland_surface_automated_trade_outpost.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_ww_vault.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_automated_trade_outpost.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_wwiioutpost.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_tomb.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_comm_outpost.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_gaia.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_elephant_graveyard.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_crashed_pinnance.dmm diff --git a/config/maps.txt b/config/maps.txt deleted file mode 100644 index 23a0a19dcd45..000000000000 --- a/config/maps.txt +++ /dev/null @@ -1,66 +0,0 @@ -This file contains a list of maps for use in map rotation. -#Lines starting with # are ignored. -Lines not inside map blocks are also ignored -Duplicated entries use the latter one. -All whitespace at the start and end of lines is ignored. (including indentation, thats just for show) -Format: -#map [map name] (name of .json file in _maps folder without the .json part) - minplayers [number] (0 or less disables this requirement) - maxplayers [number] (0 or less disables this requirement) - default (The last map with this defined will get all votes of players who have not explicitly voted for a map) - voteweight [number] (How much to count each player vote as, defaults to 1, setting to 0.5 counts each vote as half a vote, 2 as double, etc, Setting to 0 disables the map but allows players to still pick it) - disabled (disables the map) - votable (is this map votable) -endmap - -map salvage - default - votable -endmap - -map amogus - votable -endmap - -map diner - votable -endmap - -map minigalaxy - votable -endmap - -map engineergaming - votable -endmap - -map bubble - votable -endmap - - -# Whiteships - -map boxship - votable -endmap - -map deltaship - votable -endmap - -map metaship - votable -endmap - -map midwayship - votable -endmap - -map pubbyship - votable -endmap - -map skipper - votable -endmap diff --git a/config/resources.txt b/config/resources.txt index 9cf9bea30a06..3a852e483ad8 100644 --- a/config/resources.txt +++ b/config/resources.txt @@ -3,7 +3,7 @@ # If you set this mutiple times, the server will rotate between the links. # To use this, the compile option PRELOAD_RSC must be set to 0 to keep byond from preloading resources -EXTERNAL_RSC_URLS http://cdn.white-sands.space/rsc/tgstation.rsc +#EXTERNAL_RSC_URLS http://url_goes_here/shiptest.zip ######################## diff --git a/config/rockruinblacklist.txt b/config/rockruinblacklist.txt deleted file mode 100644 index e38e248cd109..000000000000 --- a/config/rockruinblacklist.txt +++ /dev/null @@ -1,29 +0,0 @@ -#Listing maps here will blacklist them from generating in rock planets -#Maps must be the full path to them -#A list of maps valid to blacklist can be found in _maps\RandomRuins\RockRuins -#SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START - -#_maps/RandomRuins/RockRuins/rockplanet_boxsci.dmm -#_maps/RandomRuins/RockRuins/rockplanet_chaosmarine.dmm -#_maps/RandomRuins/RockRuins/rockplanet_clock.dmm -#_maps/RandomRuins/RockRuins/rockplanet_clowncrash.dmm -#_maps/RandomRuins/RockRuins/rockplanet_crash_cult.dmm -#_maps/RandomRuins/RockRuins/rockplanet_crash_kitchen.dmm -#_maps/RandomRuins/RockRuins/rockplanet_cult.dmm -#_maps/RandomRuins/RockRuins/rockplanet_dangerpod.dmm -#_maps/RandomRuins/RockRuins/rockplanet_daniel.dmm -#_maps/RandomRuins/RockRuins/rockplanet_fortress_of_solitide.dmm -#_maps/RandomRuins/RockRuins/rockplanet_heirophant.dmm -#_maps/RandomRuins/RockRuins/rockplanet_house.dmm -#_maps/RandomRuins/RockRuins/rockplanet_lab.dmm -#_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm -#_maps/RandomRuins/RockRuins/rockplanet_moth.dmm -#_maps/RandomRuins/RockRuins/rockplanet_ore_proccessing_facility.dmm -#_maps/RandomRuins/RockRuins/rockplanet_pandora.dmm -#_maps/RandomRuins/RockRuins/rockplanet_pioneer.dmm -#_maps/RandomRuins/RockRuins/rockplanet_pod.dmm -#_maps/RandomRuins/RockRuins/rockplanet_rd_god.dmm -#_maps/RandomRuins/RockRuins/rockplanet_soviet.dmm -#_maps/RandomRuins/RockRuins/rockplanet_tradepost.dmm -#_maps/RandomRuins/RockRuins/rockplanet_unhonorable.dmm -#_maps/RandomRuins/RockRuins/rockplanet_wizard.dmm diff --git a/config/sandruinblacklist.txt b/config/sandruinblacklist.txt deleted file mode 100644 index f54299fc4e44..000000000000 --- a/config/sandruinblacklist.txt +++ /dev/null @@ -1,12 +0,0 @@ -#Listing maps here will blacklist them from generating on the sand planet. -#Maps must be the full path to them -#A list of maps valid to blacklist can be found in _maps\RandomRuins\IceRuins -#SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START - -##MISC -#_maps/RandomRuins/SandRuins/whitesands_surface_hermit.dmm -#_maps/RandomRuins/SandRuins/whitesands_surface_solgovcrash.dmm -#_maps/RandomRuins/SandRuins/crash_kitchen.dmm -#_maps/RandomRuins/SandRuins/crash_bar.dmm -#_maps/RandomRuins/SandRuins/crash_cargo.dmm -#_maps/RandomRuins/SandRuins/crash_cult.dmm diff --git a/config/spaceruinblacklist.txt b/config/spaceruinblacklist.txt deleted file mode 100644 index f7116456ed5f..000000000000 --- a/config/spaceruinblacklist.txt +++ /dev/null @@ -1,42 +0,0 @@ -#Listing maps here will blacklist them from generating in space. -#Maps must be the full path to them -#A list of maps valid to blacklist can be found in _maps\RandomRuins\SpaceRuins -#SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START - -#_maps/RandomRuins/SpaceRuins/abandonedteleporter.dmm -#_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm -#_maps/RandomRuins/SpaceRuins/bigderelict1.dmm -#_maps/RandomRuins/SpaceRuins/bus.dmm -#_maps/RandomRuins/SpaceRuins/caravanambush.dmm -#_maps/RandomRuins/SpaceRuins/clericden.dmm -#_maps/RandomRuins/SpaceRuins/cloning_facility.dmm -#_maps/RandomRuins/SpaceRuins/clownplanet.dmm -#_maps/RandomRuins/SpaceRuins/crashedclownship.dmm -#_maps/RandomRuins/SpaceRuins/crashedship.dmm -#_maps/RandomRuins/SpaceRuins/deepstorage.dmm -#_maps/RandomRuins/SpaceRuins/djstation.dmm -#_maps/RandomRuins/SpaceRuins/emptyshell.dmm -#_maps/RandomRuins/SpaceRuins/Fast_Food.dmm -#_maps/RandomRuins/SpaceRuins/gasthelizards.dmm -#_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm -#_maps/RandomRuins/SpaceRuins/hilbertshoteltestingsite.dmm -#_maps/RandomRuins/SpaceRuins/intactemptyship.dmm -#_maps/RandomRuins/SpaceRuins/listeningstation.dmm -#_maps/RandomRuins/SpaceRuins/mechtransport.dmm -#_maps/RandomRuins/SpaceRuins/mrow_thats_right -#_maps/RandomRuins/SpaceRuins/oldAIsat.dmm -#_maps/RandomRuins/SpaceRuins/oldstation.dmm -#_maps/RandomRuins/SpaceRuins/oldteleporter.dmm -#_maps/RandomRuins/SpaceRuins/onehalf.dmm -#_maps/RandomRuins/SpaceRuins/power_puzzle.dmm -#_maps/RandomRuins/SpaceRuins/scav_mining.dmm -#_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm -#_maps/RandomRuins/SpaceRuins/spacegym.dmm -#_maps/RandomRuins/SpaceRuins/spacehotel.dmm -#_maps/RandomRuins/SpaceRuins/thederelict.dmm -#_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm -#_maps/RandomRuins/SpaceRuins/vaporwave.dmm -#_maps/RandomRuins/SpaceRuins/way_home.dmm -#_maps/RandomRuins/SpaceRuins/whiteshipdock.dmm -#_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm -#_maps/RandomRuins/SpaceRuins/forgottenship.dmm diff --git a/dependencies.sh b/dependencies.sh index ad77caaddd75..84ba6b96feab 100755 --- a/dependencies.sh +++ b/dependencies.sh @@ -11,7 +11,7 @@ export BYOND_MINOR=1588 export RUST_VERSION=1.67.0 #rust_g git tag -export RUST_G_VERSION=1.2.0 +export RUST_G_VERSION=3.0.0 #node version export NODE_VERSION=16 @@ -27,4 +27,4 @@ export PYTHON_VERSION=3.7.9 export AUXMOS_REPO=https://github.com/shiptest-ss13/auxmos #auxmos version -export AUXMOS_VERSION=v1.1.0 +export AUXMOS_VERSION=v1.2.6 diff --git a/html/changelogs/AutoChangeLog-pr-2514.yml b/html/changelogs/AutoChangeLog-pr-2514.yml new file mode 100644 index 000000000000..99038b4f5cb6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2514.yml @@ -0,0 +1,4 @@ +author: GenericDM +changes: + - {rscdel: removes the weird examine text for looking at a fat person while starving} +delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-2516.yml b/html/changelogs/AutoChangeLog-pr-2516.yml new file mode 100644 index 000000000000..68a8072e3de7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2516.yml @@ -0,0 +1,7 @@ +author: lizardqueenlexi +changes: + - {rscdel: Removed the "fat" status - overeating now has no negative effects.} + - {rscdel: Removed lipoplasty surgery.} + - {rscdel: Removed the fat sucker machine.} + - {tweak: Scanner gates no longer have a "nutrition" option available.} +delete-after: true diff --git a/html/changelogs/archive/2023-10.yml b/html/changelogs/archive/2023-10.yml index 7f895552d0b9..34dc45ee6419 100644 --- a/html/changelogs/archive/2023-10.yml +++ b/html/changelogs/archive/2023-10.yml @@ -87,3 +87,15 @@ - rscadd: Added new areas for the ruin - rscadd: Added a subtype of the heavy frontiersmen corpse that lacks the minigun pack +2023-10-29: + retlaw34: + - rscadd: 22lr and cattleman revolver + - rscadd: many gun sounds + - balance: guns reworked +2023-10-30: + thgvr: + - rscdel: Halloween no longer allows different species in prefs +2023-10-31: + thgvr: + - imageadd: New rachnid sprites! + - imagedel: Removed Rachnid mandibles. diff --git a/html/changelogs/archive/2023-11.yml b/html/changelogs/archive/2023-11.yml new file mode 100644 index 000000000000..314fe9f2ef25 --- /dev/null +++ b/html/changelogs/archive/2023-11.yml @@ -0,0 +1,141 @@ +2023-11-01: + Zevotech: + - rscdel: Ruin blacklist text files. + - rscdel: Misc. deprecated text files. + Zytolg: + - rscadd: New Rockplanet Ruin + - rscadd: New ship manufacturer sprites. + - code_imp: Repaths areas in rockplanet.dmm to be in line with other ruins. Starts + using rockplanet.dmm. + - code_imp: Code support for Arrow & Axe Dockyard sprites. +2023-11-05: + MarkSuckerberg: + - code_imp: 515 is now supported. + PositiveEntropy: + - imageadd: The leather duster now has a new color palette to match up with the + cowboy hat! +2023-11-08: + PositiveEntropy: + - imageadd: Outfits for independent and Nanotrasen captains have been violently + reworked. + Zevotech: + - bugfix: Fixed snow siding decal pathing + - rscadd: Surrounded snow siding turf decal + meemofcourse: + - rscadd: You can no longer late-join as a character with a repeated name +2023-11-09: + PositiveEntropy, AxieTheAxolotl: + - imageadd: The syndicate operator vest and helmet, the syndicate captain's garb, + and the hunter montagne's garb have been adjusted with better colors. + thgvr: + - rscadd: Digi sprites for loadout pants and CMM jumpsuit added + - rscadd: Pan-Gezenan Federation Asset Pack (Part One) +2023-11-10: + MarkSuckerberg: + - rscadd: There's a few more descriptive docking errors now. + PositiveEntropy: + - rscadd: The Solarian Port Authority Has Now Permitted Inkwell-class Vessels To + Explore The Stars! + retlaw34: + - rscadd: redoes about 9 hairs + - rscdel: about 3 hairs +2023-11-11: + MemedHams: + - bugfix: bloodstains no longer steal the shape of the first item to spill blood + retlaw34: + - rscadd: Adds gun safetys + - balance: Tacitcal reload time adjusted from 1.2 seconds to 1 second +2023-11-14: + Bjarl: + - rscdel: the syndicate lavaland base has been removed. + - code_imp: syndicate outfits have been repathed. Please report anything weird. + retlaw34: + - rscadd: Adds a lot of new pAI faces! pAIs rejoice! +2023-11-15: + Bjarl: + - rscadd: Syndicate groups have reported new models of turrets being attached to + their ships. + - rscadd: Static Anomalies are now even WORSE. Not balance wise. Roleplay wise. + FalloutFalcon: + - rscadd: 3 new Trickwines! Prism, Hearth, and Force + - tweak: tweaked the old Trickwines to be slightly more balanced + - rscadd: srm tree and Trickwine distiller + - tweak: copy big mortar code to small mortar so you can chose between grinding + and juicing + - refactor: splits smoke flags for more control over chemical reactions + - server: Blackbox now records more info about chems + GenericDM: + - tweak: you will now be warned before succumbing when talking in hardcrit + thgvr: + - rscadd: Gas overlays should now look normal on turfs with a color var set. + - rscadd: Saunas, craftable with wooden planks. Uses wood for fuel, and requires + water splashed on the sauna. + - rscadd: Towels. You can use them in-hand to change it from waist, chest, or head. + - bugfix: PGF items now have real names and descriptions. +2023-11-16: + Bjarl: + - bugfix: The polymodial sensor array now properly changes icon_state. + PositiveEntropy: + - bugfix: Cybersun outfits have been adjusted to be less syndicate-generalist and + more Cybersun. + - imageadd: Cybersun has received a full visual overhaul, as well as new goodies! +2023-11-17: + Bjarl: + - balance: passive plasmasoul gas making is gone + - bugfix: plasmasouls no longer make infinite free lag + Erika Fox: + - rscadd: Outpost 1 has been remapped into something fathomably less ass. It's a + bit smaller, probably, but I'm going to call that a good thing. + - rscadd: random number spawner. It's good for hull numbers that shouldn't be static. + - imageadd: a really bad sprite for a service directions sign. + - rscadd: Another elevator template (coincidentally demonstrating how that system + works in code) +2023-11-18: + Doubleumc: + - tweak: Bubble now consistently faces east + - rscadd: added Bubble subshuttle dock + Hibou48888: + - bugfix: added a sprite for strange plant fruit + Zevotech: + - rscadd: departmental RND lootdrop spawners for imprinters, protolathes and techfabs + - bugfix: dangerous_research.dmm now no longer has a space tile under a door and + a medical lathe instead of an omnilathe + - bugfix: whitesands_surface_camp_saloon can now spawn again after its remap into + a functional ruin + - bugfix: harmfactory.dmm's traps now work and loot has been adjusted to fit the + ruin better + - bugfix: provinggrounds.dmm now has a working SMES and power + - bugfix: singularity_lab fire extinguishers and a few poddoors now have correct + dirs + - rscdel: mechtransport.dmm and associated code + - rscdel: gasthelizards areas + - rscdel: nucleardump.dmm and associated code + - rscdel: gondolaasteroid.dmm and associated code + - rscdel: jungle_spider.dmm and associated code + - rscdel: whitesands_golem_hijack.dmm and associated code + - rscdel: rockplanet_clock.dmm and associated code + - rscdel: whitesands_surface_youreinsane.dmm and associated code +2023-11-19: + Bjarl: + - bugfix: syndicate hoses now have the right hat + FalloutFalcon: + - bugfix: fixed shitty trickwine code (who let this guy cook) + - balance: buff to prismwine to make it useful + retlaw34, tetrazeta: + - rscadd: Eoehoma Firearms, a new guns manufacturer! + - rscadd: ERT and "Asset Protection" Hardsuits have gotten a new look! + - rscadd: New laser fire sounds + - balance: Lasers now do slightly more damage + - balance: Pulse rifles don't destroy walls anymore and do slightly less damage, + and have lost their stun mode. + - balance: Emitters do 60 damage and create turf fires on hitting a non-supermatter + object. + - bugfix: Various laser weapons that had broken autofire (E-TAR and the Tesla Cannon) + now work + - spellcheck: Grammar on some descriptions was corrected. +2023-11-20: + thgvr: + - imageadd: Restored space parallax to its former whimsical glory. +2023-11-22: + GenericDM: + - rscdel: removes deepthroat diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 610c8768cd75..0aa256c631e4 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/effects/parallax.dmi b/icons/effects/parallax.dmi index 0d09de828d05..7825c6d014f2 100644 Binary files a/icons/effects/parallax.dmi and b/icons/effects/parallax.dmi differ diff --git a/icons/hud/screen_alert.dmi b/icons/hud/screen_alert.dmi index 4d8c0f925b41..1e03d316c2e3 100644 Binary files a/icons/hud/screen_alert.dmi and b/icons/hud/screen_alert.dmi differ diff --git a/icons/mob/actions/actions_items.dmi b/icons/mob/actions/actions_items.dmi index c72dbc97acdc..c52e55c475a6 100644 Binary files a/icons/mob/actions/actions_items.dmi and b/icons/mob/actions/actions_items.dmi differ diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 105b302b7ffb..13baacb46614 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/clothing/belt_mirror.dmi b/icons/mob/clothing/belt_mirror.dmi index 02e39b1a0ae4..3440e0b3e663 100644 Binary files a/icons/mob/clothing/belt_mirror.dmi and b/icons/mob/clothing/belt_mirror.dmi differ diff --git a/icons/mob/clothing/faction/gezena/back.dmi b/icons/mob/clothing/faction/gezena/back.dmi new file mode 100644 index 000000000000..1c5ef723b094 Binary files /dev/null and b/icons/mob/clothing/faction/gezena/back.dmi differ diff --git a/icons/mob/clothing/faction/gezena/belt.dmi b/icons/mob/clothing/faction/gezena/belt.dmi new file mode 100644 index 000000000000..cdd27bcf1e96 Binary files /dev/null and b/icons/mob/clothing/faction/gezena/belt.dmi differ diff --git a/icons/mob/clothing/faction/gezena/feet.dmi b/icons/mob/clothing/faction/gezena/feet.dmi new file mode 100644 index 000000000000..f0d1fb0a6550 Binary files /dev/null and b/icons/mob/clothing/faction/gezena/feet.dmi differ diff --git a/icons/mob/clothing/faction/gezena/hands.dmi b/icons/mob/clothing/faction/gezena/hands.dmi new file mode 100644 index 000000000000..8e9a99d30dab Binary files /dev/null and b/icons/mob/clothing/faction/gezena/hands.dmi differ diff --git a/icons/mob/clothing/faction/gezena/head.dmi b/icons/mob/clothing/faction/gezena/head.dmi new file mode 100644 index 000000000000..c2c20b63e559 Binary files /dev/null and b/icons/mob/clothing/faction/gezena/head.dmi differ diff --git a/icons/mob/clothing/faction/gezena/neck.dmi b/icons/mob/clothing/faction/gezena/neck.dmi new file mode 100644 index 000000000000..9b3fa0c9bbab Binary files /dev/null and b/icons/mob/clothing/faction/gezena/neck.dmi differ diff --git a/icons/mob/clothing/faction/gezena/suits.dmi b/icons/mob/clothing/faction/gezena/suits.dmi new file mode 100644 index 000000000000..c76b3368c644 Binary files /dev/null and b/icons/mob/clothing/faction/gezena/suits.dmi differ diff --git a/icons/mob/clothing/faction/gezena/uniforms.dmi b/icons/mob/clothing/faction/gezena/uniforms.dmi new file mode 100644 index 000000000000..4f3d45acbed2 Binary files /dev/null and b/icons/mob/clothing/faction/gezena/uniforms.dmi differ diff --git a/icons/mob/clothing/feet.dmi b/icons/mob/clothing/feet.dmi index fe964b935915..d9580eff1b42 100644 Binary files a/icons/mob/clothing/feet.dmi and b/icons/mob/clothing/feet.dmi differ diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi index cff3d7ac5c34..0afcd0ad26c5 100644 Binary files a/icons/mob/clothing/hands.dmi and b/icons/mob/clothing/hands.dmi differ diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index 12c3ce8027de..24468d662a5e 100644 Binary files a/icons/mob/clothing/head.dmi and b/icons/mob/clothing/head.dmi differ diff --git a/icons/mob/clothing/mask.dmi b/icons/mob/clothing/mask.dmi index 90a54af8fa9e..9d430d39a7a7 100644 Binary files a/icons/mob/clothing/mask.dmi and b/icons/mob/clothing/mask.dmi differ diff --git a/icons/mob/clothing/suit.dmi b/icons/mob/clothing/suit.dmi index d94f3a98d4f0..9ce60cc531ee 100644 Binary files a/icons/mob/clothing/suit.dmi and b/icons/mob/clothing/suit.dmi differ diff --git a/icons/mob/clothing/suits/armor.dmi b/icons/mob/clothing/suits/armor.dmi index 82316d0e030c..bc8daf14abd6 100644 Binary files a/icons/mob/clothing/suits/armor.dmi and b/icons/mob/clothing/suits/armor.dmi differ diff --git a/icons/mob/clothing/suits/spacesuits.dmi b/icons/mob/clothing/suits/spacesuits.dmi index 6e97b33cd1b7..19042f1f08e8 100644 Binary files a/icons/mob/clothing/suits/spacesuits.dmi and b/icons/mob/clothing/suits/spacesuits.dmi differ diff --git a/icons/mob/clothing/towel.dmi b/icons/mob/clothing/towel.dmi new file mode 100644 index 000000000000..fddf3762b61a Binary files /dev/null and b/icons/mob/clothing/towel.dmi differ diff --git a/icons/mob/clothing/under/command.dmi b/icons/mob/clothing/under/command.dmi index 4793c609aed9..fd5f1af01e88 100644 Binary files a/icons/mob/clothing/under/command.dmi and b/icons/mob/clothing/under/command.dmi differ diff --git a/icons/mob/clothing/under/shorts_pants.dmi b/icons/mob/clothing/under/shorts_pants.dmi index 4a5978b9f7f3..3d9b1e41a3b0 100644 Binary files a/icons/mob/clothing/under/shorts_pants.dmi and b/icons/mob/clothing/under/shorts_pants.dmi differ diff --git a/icons/mob/clothing/under/syndicate.dmi b/icons/mob/clothing/under/syndicate.dmi index 3eb82401831c..27c030aa4b43 100644 Binary files a/icons/mob/clothing/under/syndicate.dmi and b/icons/mob/clothing/under/syndicate.dmi differ diff --git a/icons/mob/hair_extensions.dmi b/icons/mob/hair_extensions.dmi index 4e109e922697..cafc9fab781c 100644 Binary files a/icons/mob/hair_extensions.dmi and b/icons/mob/hair_extensions.dmi differ diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index bd508c89ebd0..d130ba2cf2e3 100644 Binary files a/icons/mob/human_face.dmi and b/icons/mob/human_face.dmi differ diff --git a/icons/mob/human_parts.dmi b/icons/mob/human_parts.dmi index f9a4f9cc7874..115688eeca5e 100644 Binary files a/icons/mob/human_parts.dmi and b/icons/mob/human_parts.dmi differ diff --git a/icons/mob/inhands/faction/gezena/gezena_lefthand.dmi b/icons/mob/inhands/faction/gezena/gezena_lefthand.dmi new file mode 100644 index 000000000000..002fd97dafa0 Binary files /dev/null and b/icons/mob/inhands/faction/gezena/gezena_lefthand.dmi differ diff --git a/icons/mob/inhands/faction/gezena/gezena_righthand.dmi b/icons/mob/inhands/faction/gezena/gezena_righthand.dmi new file mode 100644 index 000000000000..0c2bd0479004 Binary files /dev/null and b/icons/mob/inhands/faction/gezena/gezena_righthand.dmi differ diff --git a/icons/mob/inhands/misc/food_lefthand.dmi b/icons/mob/inhands/misc/food_lefthand.dmi index da4f2fa1826c..740c63c4b370 100644 Binary files a/icons/mob/inhands/misc/food_lefthand.dmi and b/icons/mob/inhands/misc/food_lefthand.dmi differ diff --git a/icons/mob/inhands/misc/food_righthand.dmi b/icons/mob/inhands/misc/food_righthand.dmi index b6426e836780..1e90ac3cb75a 100644 Binary files a/icons/mob/inhands/misc/food_righthand.dmi and b/icons/mob/inhands/misc/food_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index e0e1fa1a83f1..cd7fd6d859b8 100644 Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi index 0eebe19f4c16..d7e395ff5b57 100644 Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ diff --git a/icons/mob/species/kepori/onmob_uniform_kepori.dmi b/icons/mob/species/kepori/onmob_uniform_kepori.dmi index 1e0416588ae3..6f28d759ba5f 100644 Binary files a/icons/mob/species/kepori/onmob_uniform_kepori.dmi and b/icons/mob/species/kepori/onmob_uniform_kepori.dmi differ diff --git a/icons/mob/species/lizard/frills.dmi b/icons/mob/species/lizard/frills.dmi index 6d661308c093..b8587a7bd8e2 100644 Binary files a/icons/mob/species/lizard/frills.dmi and b/icons/mob/species/lizard/frills.dmi differ diff --git a/icons/mob/species/misc/cat.dmi b/icons/mob/species/misc/cat.dmi index 685110a16114..aaab4f1b8637 100644 Binary files a/icons/mob/species/misc/cat.dmi and b/icons/mob/species/misc/cat.dmi differ diff --git a/icons/mob/species/misc/digitigrade.dmi b/icons/mob/species/misc/digitigrade.dmi index 37ff2b130323..104387630acb 100644 Binary files a/icons/mob/species/misc/digitigrade.dmi and b/icons/mob/species/misc/digitigrade.dmi differ diff --git a/icons/mob/species/misc/digitigrade_shoes.dmi b/icons/mob/species/misc/digitigrade_shoes.dmi index c5316bab988f..9ad6cc1827ed 100644 Binary files a/icons/mob/species/misc/digitigrade_shoes.dmi and b/icons/mob/species/misc/digitigrade_shoes.dmi differ diff --git a/icons/mob/species/misc/digitigrade_suits.dmi b/icons/mob/species/misc/digitigrade_suits.dmi index eaca5e34a629..31dd9ad9c8e6 100644 Binary files a/icons/mob/species/misc/digitigrade_suits.dmi and b/icons/mob/species/misc/digitigrade_suits.dmi differ diff --git a/icons/mob/species/misc/fox.dmi b/icons/mob/species/misc/fox.dmi index 6971b406bce7..da344bb33a3b 100644 Binary files a/icons/mob/species/misc/fox.dmi and b/icons/mob/species/misc/fox.dmi differ diff --git a/icons/mob/species/rachnid/bodyparts.dmi b/icons/mob/species/rachnid/bodyparts.dmi index cef6559f29e7..94fe73ee6a0a 100644 Binary files a/icons/mob/species/rachnid/bodyparts.dmi and b/icons/mob/species/rachnid/bodyparts.dmi differ diff --git a/icons/mob/species/rachnid/spider_legs.dmi b/icons/mob/species/rachnid/spider_legs.dmi index d04b5a719e30..907614753ddd 100644 Binary files a/icons/mob/species/rachnid/spider_legs.dmi and b/icons/mob/species/rachnid/spider_legs.dmi differ diff --git a/icons/mob/species/rachnid/spider_mandibles.dmi b/icons/mob/species/rachnid/spider_mandibles.dmi deleted file mode 100644 index 81b4b29a1262..000000000000 Binary files a/icons/mob/species/rachnid/spider_mandibles.dmi and /dev/null differ diff --git a/icons/mob/species/rachnid/spider_spinneret.dmi b/icons/mob/species/rachnid/spider_spinneret.dmi index 9adf49f05837..6f7fcc9f965c 100644 Binary files a/icons/mob/species/rachnid/spider_spinneret.dmi and b/icons/mob/species/rachnid/spider_spinneret.dmi differ diff --git a/icons/obj/aicards.dmi b/icons/obj/aicards.dmi index f6847dfe2d7a..5698962eb9fb 100644 Binary files a/icons/obj/aicards.dmi and b/icons/obj/aicards.dmi differ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 96528874fee3..038ad37895ca 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/clothing/faction/gezena/belt.dmi b/icons/obj/clothing/faction/gezena/belt.dmi new file mode 100644 index 000000000000..b07676386259 Binary files /dev/null and b/icons/obj/clothing/faction/gezena/belt.dmi differ diff --git a/icons/obj/clothing/faction/gezena/feet.dmi b/icons/obj/clothing/faction/gezena/feet.dmi new file mode 100644 index 000000000000..f3a23a70de35 Binary files /dev/null and b/icons/obj/clothing/faction/gezena/feet.dmi differ diff --git a/icons/obj/clothing/faction/gezena/hands.dmi b/icons/obj/clothing/faction/gezena/hands.dmi new file mode 100644 index 000000000000..3daa7c762d38 Binary files /dev/null and b/icons/obj/clothing/faction/gezena/hands.dmi differ diff --git a/icons/obj/clothing/faction/gezena/head.dmi b/icons/obj/clothing/faction/gezena/head.dmi new file mode 100644 index 000000000000..11454b333921 Binary files /dev/null and b/icons/obj/clothing/faction/gezena/head.dmi differ diff --git a/icons/obj/clothing/faction/gezena/neck.dmi b/icons/obj/clothing/faction/gezena/neck.dmi new file mode 100644 index 000000000000..19d51f6a64ae Binary files /dev/null and b/icons/obj/clothing/faction/gezena/neck.dmi differ diff --git a/icons/obj/clothing/faction/gezena/suits.dmi b/icons/obj/clothing/faction/gezena/suits.dmi new file mode 100644 index 000000000000..09e00adf3289 Binary files /dev/null and b/icons/obj/clothing/faction/gezena/suits.dmi differ diff --git a/icons/obj/clothing/faction/gezena/uniforms.dmi b/icons/obj/clothing/faction/gezena/uniforms.dmi new file mode 100644 index 000000000000..ed9a863e3d57 Binary files /dev/null and b/icons/obj/clothing/faction/gezena/uniforms.dmi differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index e74978adb047..ff36ce0bce5e 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 3b37b555f4df..4ed6bb60907c 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index 89d5ed3328bd..5f0cb3b84fed 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index efc8359fc5cf..a17d4b5b2bff 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 32714635d084..c464ebddf84e 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/suits/armor.dmi b/icons/obj/clothing/suits/armor.dmi index bdc98ad8852d..758c4836aeb0 100644 Binary files a/icons/obj/clothing/suits/armor.dmi and b/icons/obj/clothing/suits/armor.dmi differ diff --git a/icons/obj/clothing/suits/spacesuits.dmi b/icons/obj/clothing/suits/spacesuits.dmi index 7ab05863bf05..cde94993e63e 100644 Binary files a/icons/obj/clothing/suits/spacesuits.dmi and b/icons/obj/clothing/suits/spacesuits.dmi differ diff --git a/icons/obj/clothing/towel.dmi b/icons/obj/clothing/towel.dmi new file mode 100644 index 000000000000..93001ef29bc3 Binary files /dev/null and b/icons/obj/clothing/towel.dmi differ diff --git a/icons/obj/clothing/under/command.dmi b/icons/obj/clothing/under/command.dmi index 761796ada9e5..d5d48999bec3 100644 Binary files a/icons/obj/clothing/under/command.dmi and b/icons/obj/clothing/under/command.dmi differ diff --git a/icons/obj/clothing/under/syndicate.dmi b/icons/obj/clothing/under/syndicate.dmi index 9b1630feb16b..9ae89d62123f 100644 Binary files a/icons/obj/clothing/under/syndicate.dmi and b/icons/obj/clothing/under/syndicate.dmi differ diff --git a/icons/obj/decals.dmi b/icons/obj/decals.dmi index b3fe3b860e70..b0d9bd53a345 100644 Binary files a/icons/obj/decals.dmi and b/icons/obj/decals.dmi differ diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 5083b4acc226..dbc04307a37a 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/guns/48x32guns.dmi b/icons/obj/guns/48x32guns.dmi index 732e37318768..89bacfc64afd 100644 Binary files a/icons/obj/guns/48x32guns.dmi and b/icons/obj/guns/48x32guns.dmi differ diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index ee323e39c197..1e250d4c9a5c 100644 Binary files a/icons/obj/guns/energy.dmi and b/icons/obj/guns/energy.dmi differ diff --git a/icons/obj/guns/faction/gezena/48x32.dmi b/icons/obj/guns/faction/gezena/48x32.dmi new file mode 100644 index 000000000000..91e2ef30d785 Binary files /dev/null and b/icons/obj/guns/faction/gezena/48x32.dmi differ diff --git a/icons/obj/guns/faction/gezena/energy.dmi b/icons/obj/guns/faction/gezena/energy.dmi new file mode 100644 index 000000000000..92d88bbab4e6 Binary files /dev/null and b/icons/obj/guns/faction/gezena/energy.dmi differ diff --git a/icons/obj/guns/faction/gezena/lefthand.dmi b/icons/obj/guns/faction/gezena/lefthand.dmi new file mode 100644 index 000000000000..9bec84cd36bb Binary files /dev/null and b/icons/obj/guns/faction/gezena/lefthand.dmi differ diff --git a/icons/obj/guns/faction/gezena/righthand.dmi b/icons/obj/guns/faction/gezena/righthand.dmi new file mode 100644 index 000000000000..d2d76ebb433d Binary files /dev/null and b/icons/obj/guns/faction/gezena/righthand.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 24b209d6ab2b..02e7d3812dcb 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/guns/safety.dmi b/icons/obj/guns/safety.dmi new file mode 100644 index 000000000000..072a483fa795 Binary files /dev/null and b/icons/obj/guns/safety.dmi differ diff --git a/icons/obj/hydroponics/harvest.dmi b/icons/obj/hydroponics/harvest.dmi index aeae4b17a44e..b07ae679471d 100644 Binary files a/icons/obj/hydroponics/harvest.dmi and b/icons/obj/hydroponics/harvest.dmi differ diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index 25a990b61d01..ae86489bb340 100644 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index d779a15bc717..340bc0f9a5c6 100644 Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index e58811689631..8ce2ccae3973 100644 Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index 1ac2c63ed367..89f94e16a65a 100644 Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ diff --git a/icons/obj/projectiles_impact.dmi b/icons/obj/projectiles_impact.dmi index bac35e68e147..ee2ddf8568e0 100644 Binary files a/icons/obj/projectiles_impact.dmi and b/icons/obj/projectiles_impact.dmi differ diff --git a/icons/obj/projectiles_muzzle.dmi b/icons/obj/projectiles_muzzle.dmi index 2f1d6d90c6bf..4b23b27a8f35 100644 Binary files a/icons/obj/projectiles_muzzle.dmi and b/icons/obj/projectiles_muzzle.dmi differ diff --git a/icons/obj/projectiles_tracer.dmi b/icons/obj/projectiles_tracer.dmi index 56442452e724..be82f0d319d2 100644 Binary files a/icons/obj/projectiles_tracer.dmi and b/icons/obj/projectiles_tracer.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 241476f84bd6..5761aae6d4c4 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index 7c265737266a..a984d69cf030 100644 Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ diff --git a/icons/turf/decals.dmi b/icons/turf/decals.dmi index e14d164289bc..c670e677d226 100644 Binary files a/icons/turf/decals.dmi and b/icons/turf/decals.dmi differ diff --git a/icons/turf/snow.dmi b/icons/turf/snow.dmi index 594a4f91e6c2..6801384e0182 100644 Binary files a/icons/turf/snow.dmi and b/icons/turf/snow.dmi differ diff --git a/rust_g.dll b/rust_g.dll index 059c79e34029..72a27df14403 100644 Binary files a/rust_g.dll and b/rust_g.dll differ diff --git a/shiptest.dme b/shiptest.dme index 890edeb8b794..ea4b5af13172 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -56,6 +56,7 @@ #include "code\__DEFINES\economy.dm" #include "code\__DEFINES\events.dm" #include "code\__DEFINES\exports.dm" +#include "code\__DEFINES\factions.dm" #include "code\__DEFINES\fantasy_affixes.dm" #include "code\__DEFINES\fastdmm2.dm" #include "code\__DEFINES\fishing.dm" @@ -175,6 +176,7 @@ #include "code\__HELPERS\matrices.dm" #include "code\__HELPERS\mobs.dm" #include "code\__HELPERS\mouse_control.dm" +#include "code\__HELPERS\nameof.dm" #include "code\__HELPERS\names.dm" #include "code\__HELPERS\priority_announce.dm" #include "code\__HELPERS\pronouns.dm" @@ -856,7 +858,6 @@ #include "code\game\machinery\doppler_array.dm" #include "code\game\machinery\droneDispenser.dm" #include "code\game\machinery\exp_cloner.dm" -#include "code\game\machinery\fat_sucker.dm" #include "code\game\machinery\firealarm.dm" #include "code\game\machinery\flasher.dm" #include "code\game\machinery\gulag_item_reclaimer.dm" @@ -1309,6 +1310,7 @@ #include "code\game\objects\structures\barsigns.dm" #include "code\game\objects\structures\bedsheet_bin.dm" #include "code\game\objects\structures\catwalk.dm" +#include "code\game\objects\structures\crateshelf.dm" #include "code\game\objects\structures\curtains.dm" #include "code\game\objects\structures\destructible_structures.dm" #include "code\game\objects\structures\displaycase.dm" @@ -1354,6 +1356,7 @@ #include "code\game\objects\structures\reflector.dm" #include "code\game\objects\structures\safe.dm" #include "code\game\objects\structures\salvaging.dm" +#include "code\game\objects\structures\sauna.dm" #include "code\game\objects\structures\showcase.dm" #include "code\game\objects\structures\shower.dm" #include "code\game\objects\structures\signs.dm" @@ -1442,6 +1445,7 @@ #include "code\game\turfs\open\floor\catwalk_plating.dm" #include "code\game\turfs\open\floor\conc_floor.dm" #include "code\game\turfs\open\floor\fancy_floor.dm" +#include "code\game\turfs\open\floor\hangar.dm" #include "code\game\turfs\open\floor\hull.dm" #include "code\game\turfs\open\floor\light_floor.dm" #include "code\game\turfs\open\floor\mineral_floor.dm" @@ -1458,7 +1462,6 @@ #include "code\game\turfs\open\floor\plating\rockplanet.dm" #include "code\game\turfs\open\floor\plating\wasteplanet.dm" #include "code\game\turfs\open\floor\plating\whitesands.dm" -#include "code\game\turfs\open\floor\hangar.dm" #include "code\game\turfs\open\space\space.dm" #include "code\game\turfs\open\space\transit.dm" #include "code\modules\admin\admin.dm" @@ -1665,10 +1668,7 @@ #include "code\modules\antagonists\disease\disease_event.dm" #include "code\modules\antagonists\disease\disease_mob.dm" #include "code\modules\antagonists\ert\ert.dm" -#include "code\modules\antagonists\fugitive\fugitive.dm" #include "code\modules\antagonists\fugitive\fugitive_outfits.dm" -#include "code\modules\antagonists\fugitive\fugitive_ship.dm" -#include "code\modules\antagonists\fugitive\hunter.dm" #include "code\modules\antagonists\gang\outfits.dm" #include "code\modules\antagonists\greentext\greentext.dm" #include "code\modules\antagonists\magic_servant\servant.dm" @@ -1683,7 +1683,6 @@ #include "code\modules\antagonists\nukeop\equipment\nuclearbomb.dm" #include "code\modules\antagonists\nukeop\equipment\pinpointer.dm" #include "code\modules\antagonists\official\official.dm" -#include "code\modules\antagonists\pirate\pirate.dm" #include "code\modules\antagonists\revenant\revenant.dm" #include "code\modules\antagonists\revenant\revenant_abilities.dm" #include "code\modules\antagonists\revenant\revenant_antag.dm" @@ -1921,7 +1920,9 @@ #include "code\modules\client\verbs\who.dm" #include "code\modules\clothing\chameleon.dm" #include "code\modules\clothing\clothing.dm" +#include "code\modules\clothing\towels.dm" #include "code\modules\clothing\ears\_ears.dm" +#include "code\modules\clothing\factions\gezena.dm" #include "code\modules\clothing\glasses\_glasses.dm" #include "code\modules\clothing\glasses\engine_goggles.dm" #include "code\modules\clothing\glasses\hud.dm" @@ -1949,10 +1950,11 @@ #include "code\modules\clothing\neck\_neck.dm" #include "code\modules\clothing\outfits\ert.dm" #include "code\modules\clothing\outfits\event.dm" +#include "code\modules\clothing\outfits\gezena.dm" #include "code\modules\clothing\outfits\plasmaman.dm" #include "code\modules\clothing\outfits\solgov.dm" #include "code\modules\clothing\outfits\standard.dm" -#include "code\modules\clothing\outfits\vr.dm" +#include "code\modules\clothing\outfits\syndicate.dm" #include "code\modules\clothing\outfits\vv_outfit.dm" #include "code\modules\clothing\shoes\_shoes.dm" #include "code\modules\clothing\shoes\bananashoes.dm" @@ -2039,7 +2041,6 @@ #include "code\modules\events\electrical_storm.dm" #include "code\modules\events\fake_virus.dm" #include "code\modules\events\false_alarm.dm" -#include "code\modules\events\fugitive_spawning.dm" #include "code\modules\events\ghost_role.dm" #include "code\modules\events\grid_check.dm" #include "code\modules\events\heart_attack.dm" @@ -2052,7 +2053,6 @@ #include "code\modules\events\meteor_wave.dm" #include "code\modules\events\nightmare.dm" #include "code\modules\events\operative.dm" -#include "code\modules\events\pirates.dm" #include "code\modules\events\prison_break.dm" #include "code\modules\events\processor_overload.dm" #include "code\modules\events\radiation_storm.dm" @@ -2103,6 +2103,7 @@ #include "code\modules\food_and_drinks\pizzabox.dm" #include "code\modules\food_and_drinks\drinks\drinks.dm" #include "code\modules\food_and_drinks\drinks\drinks\bottle.dm" +#include "code\modules\food_and_drinks\drinks\drinks\breakawayflask.dm" #include "code\modules\food_and_drinks\drinks\drinks\drinkingglass.dm" #include "code\modules\food_and_drinks\drinks\drinks\modglass.dm" #include "code\modules\food_and_drinks\food\bait.dm" @@ -3000,6 +3001,7 @@ #include "code\modules\projectiles\guns\energy\pulse.dm" #include "code\modules\projectiles\guns\energy\special.dm" #include "code\modules\projectiles\guns\energy\stun.dm" +#include "code\modules\projectiles\guns\faction\gezena\energy_gunsword.dm" #include "code\modules\projectiles\guns\magic\staff.dm" #include "code\modules\projectiles\guns\magic\wand.dm" #include "code\modules\projectiles\guns\misc\beam_rifle.dm" @@ -3073,6 +3075,7 @@ #include "code\modules\reagents\chemistry\reagents\other_reagents.dm" #include "code\modules\reagents\chemistry\reagents\pyrotechnic_reagents.dm" #include "code\modules\reagents\chemistry\reagents\toxin_reagents.dm" +#include "code\modules\reagents\chemistry\reagents\trickwine_reagents.dm" #include "code\modules\reagents\chemistry\recipes\cat2_medicines.dm" #include "code\modules\reagents\chemistry\recipes\drugs.dm" #include "code\modules\reagents\chemistry\recipes\medicine.dm" @@ -3305,7 +3308,6 @@ #include "code\modules\surgery\implant_removal.dm" #include "code\modules\surgery\ipc_revive.dm" #include "code\modules\surgery\limb_augmentation.dm" -#include "code\modules\surgery\lipoplasty.dm" #include "code\modules\surgery\lobectomy.dm" #include "code\modules\surgery\mechanic_steps.dm" #include "code\modules\surgery\mechanical.dm" diff --git a/sound/weapons/effects/deflect.ogg b/sound/weapons/effects/deflect.ogg new file mode 100644 index 000000000000..a4e9ed6ba4c0 Binary files /dev/null and b/sound/weapons/effects/deflect.ogg differ diff --git a/sound/weapons/effects/ric1.ogg b/sound/weapons/effects/ric1.ogg deleted file mode 100644 index b7f7bd99ca5a..000000000000 Binary files a/sound/weapons/effects/ric1.ogg and /dev/null differ diff --git a/sound/weapons/effects/ric2.ogg b/sound/weapons/effects/ric2.ogg deleted file mode 100644 index dcd44b07329e..000000000000 Binary files a/sound/weapons/effects/ric2.ogg and /dev/null differ diff --git a/sound/weapons/effects/ric3.ogg b/sound/weapons/effects/ric3.ogg deleted file mode 100644 index c538a97e35a6..000000000000 Binary files a/sound/weapons/effects/ric3.ogg and /dev/null differ diff --git a/sound/weapons/effects/ric4.ogg b/sound/weapons/effects/ric4.ogg deleted file mode 100644 index ac872734beaa..000000000000 Binary files a/sound/weapons/effects/ric4.ogg and /dev/null differ diff --git a/sound/weapons/effects/ric5.ogg b/sound/weapons/effects/ric5.ogg deleted file mode 100644 index 2c946c457d6b..000000000000 Binary files a/sound/weapons/effects/ric5.ogg and /dev/null differ diff --git a/sound/weapons/gun/energy/laserpistol.ogg b/sound/weapons/gun/energy/laserpistol.ogg new file mode 100644 index 000000000000..2eb881d0c4ab Binary files /dev/null and b/sound/weapons/gun/energy/laserpistol.ogg differ diff --git a/sound/weapons/gun/energy/lasersniper.ogg b/sound/weapons/gun/energy/lasersniper.ogg new file mode 100644 index 000000000000..a773bd203d12 Binary files /dev/null and b/sound/weapons/gun/energy/lasersniper.ogg differ diff --git a/sound/weapons/gun/general/bulletcasing_bounce1.ogg b/sound/weapons/gun/general/bulletcasing_bounce1.ogg new file mode 100644 index 000000000000..c33a27fa5007 Binary files /dev/null and b/sound/weapons/gun/general/bulletcasing_bounce1.ogg differ diff --git a/sound/weapons/gun/general/bulletcasing_bounce2.ogg b/sound/weapons/gun/general/bulletcasing_bounce2.ogg new file mode 100644 index 000000000000..f8d516643b25 Binary files /dev/null and b/sound/weapons/gun/general/bulletcasing_bounce2.ogg differ diff --git a/sound/weapons/gun/general/bulletcasing_bounce3.ogg b/sound/weapons/gun/general/bulletcasing_bounce3.ogg new file mode 100644 index 000000000000..84e670706284 Binary files /dev/null and b/sound/weapons/gun/general/bulletcasing_bounce3.ogg differ diff --git a/sound/weapons/gun/general/bulletcasing_shotgun_bounce.ogg b/sound/weapons/gun/general/bulletcasing_shotgun_bounce.ogg new file mode 100644 index 000000000000..324543b62587 Binary files /dev/null and b/sound/weapons/gun/general/bulletcasing_shotgun_bounce.ogg differ diff --git a/sound/weapons/gun/general/rocket_load.ogg b/sound/weapons/gun/general/rocket_load.ogg new file mode 100644 index 000000000000..4c5a2ec6911d Binary files /dev/null and b/sound/weapons/gun/general/rocket_load.ogg differ diff --git a/sound/weapons/gun/general/selector.ogg b/sound/weapons/gun/general/selector.ogg new file mode 100644 index 000000000000..298181609e49 Binary files /dev/null and b/sound/weapons/gun/general/selector.ogg differ diff --git a/sound/weapons/gun/hit/bullet_bounce1.ogg b/sound/weapons/gun/hit/bullet_bounce1.ogg new file mode 100644 index 000000000000..a8a1fb36f385 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_bounce1.ogg differ diff --git a/sound/weapons/gun/hit/bullet_bounce2.ogg b/sound/weapons/gun/hit/bullet_bounce2.ogg new file mode 100644 index 000000000000..a06a0c320e9e Binary files /dev/null and b/sound/weapons/gun/hit/bullet_bounce2.ogg differ diff --git a/sound/weapons/gun/hit/bullet_bounce3.ogg b/sound/weapons/gun/hit/bullet_bounce3.ogg new file mode 100644 index 000000000000..4313703c760b Binary files /dev/null and b/sound/weapons/gun/hit/bullet_bounce3.ogg differ diff --git a/sound/weapons/gun/hit/bullet_bounce4.ogg b/sound/weapons/gun/hit/bullet_bounce4.ogg new file mode 100644 index 000000000000..a3c2c34ec018 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_bounce4.ogg differ diff --git a/sound/weapons/gun/hit/bullet_bounce5.ogg b/sound/weapons/gun/hit/bullet_bounce5.ogg new file mode 100644 index 000000000000..35b8be603534 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_bounce5.ogg differ diff --git a/sound/weapons/gun/hit/bullet_glass_01.ogg b/sound/weapons/gun/hit/bullet_glass_01.ogg new file mode 100644 index 000000000000..30f6f1fb612b Binary files /dev/null and b/sound/weapons/gun/hit/bullet_glass_01.ogg differ diff --git a/sound/weapons/gun/hit/bullet_glass_02.ogg b/sound/weapons/gun/hit/bullet_glass_02.ogg new file mode 100644 index 000000000000..472f98e9801a Binary files /dev/null and b/sound/weapons/gun/hit/bullet_glass_02.ogg differ diff --git a/sound/weapons/gun/hit/bullet_glass_03.ogg b/sound/weapons/gun/hit/bullet_glass_03.ogg new file mode 100644 index 000000000000..25c6df47a921 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_glass_03.ogg differ diff --git a/sound/weapons/gun/hit/bullet_glass_04.ogg b/sound/weapons/gun/hit/bullet_glass_04.ogg new file mode 100644 index 000000000000..b525f665c414 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_glass_04.ogg differ diff --git a/sound/weapons/gun/hit/bullet_glass_05.ogg b/sound/weapons/gun/hit/bullet_glass_05.ogg new file mode 100644 index 000000000000..89ff21723aac Binary files /dev/null and b/sound/weapons/gun/hit/bullet_glass_05.ogg differ diff --git a/sound/weapons/gun/hit/bullet_glass_06.ogg b/sound/weapons/gun/hit/bullet_glass_06.ogg new file mode 100644 index 000000000000..26cacb990766 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_glass_06.ogg differ diff --git a/sound/weapons/gun/hit/bullet_glass_07.ogg b/sound/weapons/gun/hit/bullet_glass_07.ogg new file mode 100644 index 000000000000..110a45074d17 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_glass_07.ogg differ diff --git a/sound/weapons/gun/hit/bullet_impact1.ogg b/sound/weapons/gun/hit/bullet_impact1.ogg new file mode 100644 index 000000000000..4c0cd5b5eebb Binary files /dev/null and b/sound/weapons/gun/hit/bullet_impact1.ogg differ diff --git a/sound/weapons/gun/hit/bullet_impact2.ogg b/sound/weapons/gun/hit/bullet_impact2.ogg new file mode 100644 index 000000000000..bfffcfeadfaa Binary files /dev/null and b/sound/weapons/gun/hit/bullet_impact2.ogg differ diff --git a/sound/weapons/gun/hit/bullet_impact3.ogg b/sound/weapons/gun/hit/bullet_impact3.ogg new file mode 100644 index 000000000000..0356dc6c8819 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_impact3.ogg differ diff --git a/sound/weapons/gun/hit/bullet_masonry_01.ogg b/sound/weapons/gun/hit/bullet_masonry_01.ogg new file mode 100644 index 000000000000..1a04e7688d63 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_masonry_01.ogg differ diff --git a/sound/weapons/gun/hit/bullet_masonry_02.ogg b/sound/weapons/gun/hit/bullet_masonry_02.ogg new file mode 100644 index 000000000000..770e9e242a7f Binary files /dev/null and b/sound/weapons/gun/hit/bullet_masonry_02.ogg differ diff --git a/sound/weapons/gun/hit/bullet_masonry_03.ogg b/sound/weapons/gun/hit/bullet_masonry_03.ogg new file mode 100644 index 000000000000..c0eb0bf13233 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_masonry_03.ogg differ diff --git a/sound/weapons/gun/hit/bullet_masonry_04.ogg b/sound/weapons/gun/hit/bullet_masonry_04.ogg new file mode 100644 index 000000000000..83cbc57ebd83 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_masonry_04.ogg differ diff --git a/sound/weapons/gun/hit/bullet_masonry_05.ogg b/sound/weapons/gun/hit/bullet_masonry_05.ogg new file mode 100644 index 000000000000..6d9a67304659 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_masonry_05.ogg differ diff --git a/sound/weapons/gun/hit/bullet_masonry_06.ogg b/sound/weapons/gun/hit/bullet_masonry_06.ogg new file mode 100644 index 000000000000..2a982a56edb9 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_masonry_06.ogg differ diff --git a/sound/weapons/gun/hit/bullet_metal_01.ogg b/sound/weapons/gun/hit/bullet_metal_01.ogg new file mode 100644 index 000000000000..1a706abd90c0 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_metal_01.ogg differ diff --git a/sound/weapons/gun/hit/bullet_metal_02.ogg b/sound/weapons/gun/hit/bullet_metal_02.ogg new file mode 100644 index 000000000000..ee938e2a593d Binary files /dev/null and b/sound/weapons/gun/hit/bullet_metal_02.ogg differ diff --git a/sound/weapons/gun/hit/bullet_metal_03.ogg b/sound/weapons/gun/hit/bullet_metal_03.ogg new file mode 100644 index 000000000000..9ede9f161290 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_metal_03.ogg differ diff --git a/sound/weapons/gun/hit/bullet_metal_04.ogg b/sound/weapons/gun/hit/bullet_metal_04.ogg new file mode 100644 index 000000000000..bf6824c8cefd Binary files /dev/null and b/sound/weapons/gun/hit/bullet_metal_04.ogg differ diff --git a/sound/weapons/gun/hit/bullet_metal_05.ogg b/sound/weapons/gun/hit/bullet_metal_05.ogg new file mode 100644 index 000000000000..a45e3d6204e4 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_metal_05.ogg differ diff --git a/sound/weapons/gun/hit/bullet_metal_06.ogg b/sound/weapons/gun/hit/bullet_metal_06.ogg new file mode 100644 index 000000000000..53877b5e8ce6 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_metal_06.ogg differ diff --git a/sound/weapons/gun/hit/bullet_miss1.ogg b/sound/weapons/gun/hit/bullet_miss1.ogg new file mode 100644 index 000000000000..dfff45a0cb5d Binary files /dev/null and b/sound/weapons/gun/hit/bullet_miss1.ogg differ diff --git a/sound/weapons/gun/hit/bullet_miss2.ogg b/sound/weapons/gun/hit/bullet_miss2.ogg new file mode 100644 index 000000000000..54b111128021 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_miss2.ogg differ diff --git a/sound/weapons/gun/hit/bullet_miss3.ogg b/sound/weapons/gun/hit/bullet_miss3.ogg new file mode 100644 index 000000000000..fbff6dde9046 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_miss3.ogg differ diff --git a/sound/weapons/gun/hit/bullet_miss4.ogg b/sound/weapons/gun/hit/bullet_miss4.ogg new file mode 100644 index 000000000000..6392d6676915 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_miss4.ogg differ diff --git a/sound/weapons/gun/hit/bullet_ricochet1.ogg b/sound/weapons/gun/hit/bullet_ricochet1.ogg new file mode 100644 index 000000000000..724f599cd5bd Binary files /dev/null and b/sound/weapons/gun/hit/bullet_ricochet1.ogg differ diff --git a/sound/weapons/gun/hit/bullet_ricochet2.ogg b/sound/weapons/gun/hit/bullet_ricochet2.ogg new file mode 100644 index 000000000000..1c29b9e64e20 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_ricochet2.ogg differ diff --git a/sound/weapons/gun/hit/bullet_ricochet3.ogg b/sound/weapons/gun/hit/bullet_ricochet3.ogg new file mode 100644 index 000000000000..96d470ffe2cb Binary files /dev/null and b/sound/weapons/gun/hit/bullet_ricochet3.ogg differ diff --git a/sound/weapons/gun/hit/bullet_ricochet4.ogg b/sound/weapons/gun/hit/bullet_ricochet4.ogg new file mode 100644 index 000000000000..bde8fda3f4c4 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_ricochet4.ogg differ diff --git a/sound/weapons/gun/hit/bullet_ricochet5.ogg b/sound/weapons/gun/hit/bullet_ricochet5.ogg new file mode 100644 index 000000000000..eba86301354f Binary files /dev/null and b/sound/weapons/gun/hit/bullet_ricochet5.ogg differ diff --git a/sound/weapons/gun/hit/bullet_ricochet6.ogg b/sound/weapons/gun/hit/bullet_ricochet6.ogg new file mode 100644 index 000000000000..b143a3c2bdc9 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_ricochet6.ogg differ diff --git a/sound/weapons/gun/hit/bullet_ricochet7.ogg b/sound/weapons/gun/hit/bullet_ricochet7.ogg new file mode 100644 index 000000000000..68a2ee63fa02 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_ricochet7.ogg differ diff --git a/sound/weapons/gun/hit/bullet_ricochet8.ogg b/sound/weapons/gun/hit/bullet_ricochet8.ogg new file mode 100644 index 000000000000..622d8b6941ee Binary files /dev/null and b/sound/weapons/gun/hit/bullet_ricochet8.ogg differ diff --git a/sound/weapons/gun/hit/bullet_snow_01.ogg b/sound/weapons/gun/hit/bullet_snow_01.ogg new file mode 100644 index 000000000000..4da742bf1462 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_snow_01.ogg differ diff --git a/sound/weapons/gun/hit/bullet_snow_02.ogg b/sound/weapons/gun/hit/bullet_snow_02.ogg new file mode 100644 index 000000000000..21572daf13d7 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_snow_02.ogg differ diff --git a/sound/weapons/gun/hit/bullet_snow_03.ogg b/sound/weapons/gun/hit/bullet_snow_03.ogg new file mode 100644 index 000000000000..fb8e1dcb9dad Binary files /dev/null and b/sound/weapons/gun/hit/bullet_snow_03.ogg differ diff --git a/sound/weapons/gun/hit/bullet_snow_04.ogg b/sound/weapons/gun/hit/bullet_snow_04.ogg new file mode 100644 index 000000000000..2bfb46d958b2 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_snow_04.ogg differ diff --git a/sound/weapons/gun/hit/bullet_snow_05.ogg b/sound/weapons/gun/hit/bullet_snow_05.ogg new file mode 100644 index 000000000000..3752f95b3d62 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_snow_05.ogg differ diff --git a/sound/weapons/gun/hit/bullet_snow_06.ogg b/sound/weapons/gun/hit/bullet_snow_06.ogg new file mode 100644 index 000000000000..cac69cc7404c Binary files /dev/null and b/sound/weapons/gun/hit/bullet_snow_06.ogg differ diff --git a/sound/weapons/gun/hit/bullet_wood_01.ogg b/sound/weapons/gun/hit/bullet_wood_01.ogg new file mode 100644 index 000000000000..559310853f95 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_wood_01.ogg differ diff --git a/sound/weapons/gun/hit/bullet_wood_02.ogg b/sound/weapons/gun/hit/bullet_wood_02.ogg new file mode 100644 index 000000000000..852c1d875cde Binary files /dev/null and b/sound/weapons/gun/hit/bullet_wood_02.ogg differ diff --git a/sound/weapons/gun/hit/bullet_wood_03.ogg b/sound/weapons/gun/hit/bullet_wood_03.ogg new file mode 100644 index 000000000000..440681e0da48 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_wood_03.ogg differ diff --git a/sound/weapons/gun/hit/bullet_wood_04.ogg b/sound/weapons/gun/hit/bullet_wood_04.ogg new file mode 100644 index 000000000000..89ddd21e2bbd Binary files /dev/null and b/sound/weapons/gun/hit/bullet_wood_04.ogg differ diff --git a/sound/weapons/gun/hit/bullet_wood_05.ogg b/sound/weapons/gun/hit/bullet_wood_05.ogg new file mode 100644 index 000000000000..3a66b3f32c8a Binary files /dev/null and b/sound/weapons/gun/hit/bullet_wood_05.ogg differ diff --git a/sound/weapons/gun/hit/bullet_wood_06.ogg b/sound/weapons/gun/hit/bullet_wood_06.ogg new file mode 100644 index 000000000000..cf54f8cc8f58 Binary files /dev/null and b/sound/weapons/gun/hit/bullet_wood_06.ogg differ diff --git a/sound/weapons/gun/hit/energy_impact1.ogg b/sound/weapons/gun/hit/energy_impact1.ogg new file mode 100644 index 000000000000..e9d6305972ca Binary files /dev/null and b/sound/weapons/gun/hit/energy_impact1.ogg differ diff --git a/sound/weapons/gun/hit/energy_miss1.ogg b/sound/weapons/gun/hit/energy_miss1.ogg new file mode 100644 index 000000000000..55839b14d3d1 Binary files /dev/null and b/sound/weapons/gun/hit/energy_miss1.ogg differ diff --git a/sound/weapons/gun/hit/energy_ricochet1.ogg b/sound/weapons/gun/hit/energy_ricochet1.ogg new file mode 100644 index 000000000000..7601f7823a79 Binary files /dev/null and b/sound/weapons/gun/hit/energy_ricochet1.ogg differ diff --git a/sound/weapons/gun/laser/e-fire.ogg b/sound/weapons/gun/laser/e-fire.ogg new file mode 100644 index 000000000000..bb8242352f20 Binary files /dev/null and b/sound/weapons/gun/laser/e-fire.ogg differ diff --git a/sound/weapons/gun/laser/e40_bal.ogg b/sound/weapons/gun/laser/e40_bal.ogg new file mode 100644 index 000000000000..3f37e9be92a5 Binary files /dev/null and b/sound/weapons/gun/laser/e40_bal.ogg differ diff --git a/sound/weapons/gun/laser/e40_las.ogg b/sound/weapons/gun/laser/e40_las.ogg new file mode 100644 index 000000000000..33c5ab017f14 Binary files /dev/null and b/sound/weapons/gun/laser/e40_las.ogg differ diff --git a/sound/weapons/gun/gauss/magovercharge.ogg b/sound/weapons/gun/laser/heavy_laser.ogg similarity index 100% rename from sound/weapons/gun/gauss/magovercharge.ogg rename to sound/weapons/gun/laser/heavy_laser.ogg diff --git a/sound/weapons/gun/laser/nt-fire.ogg b/sound/weapons/gun/laser/nt-fire.ogg new file mode 100644 index 000000000000..4ff9e82ff991 Binary files /dev/null and b/sound/weapons/gun/laser/nt-fire.ogg differ diff --git a/sound/weapons/gun/pistol/commander.ogg b/sound/weapons/gun/pistol/commander.ogg new file mode 100644 index 000000000000..57ba0a347c84 Binary files /dev/null and b/sound/weapons/gun/pistol/commander.ogg differ diff --git a/sound/weapons/gun/pistol/deagle.ogg b/sound/weapons/gun/pistol/deagle.ogg new file mode 100644 index 000000000000..41d814d2fcec Binary files /dev/null and b/sound/weapons/gun/pistol/deagle.ogg differ diff --git a/sound/weapons/gun/pistol/deagle_reload.ogg b/sound/weapons/gun/pistol/deagle_reload.ogg new file mode 100644 index 000000000000..77abf293efc6 Binary files /dev/null and b/sound/weapons/gun/pistol/deagle_reload.ogg differ diff --git a/sound/weapons/gun/pistol/deagle_unload.ogg b/sound/weapons/gun/pistol/deagle_unload.ogg new file mode 100644 index 000000000000..84b18d575b7f Binary files /dev/null and b/sound/weapons/gun/pistol/deagle_unload.ogg differ diff --git a/sound/weapons/gun/pistol/himehabu.ogg b/sound/weapons/gun/pistol/himehabu.ogg new file mode 100644 index 000000000000..ad2dc7cfcc41 Binary files /dev/null and b/sound/weapons/gun/pistol/himehabu.ogg differ diff --git a/sound/weapons/gun/pistol/m1911.ogg b/sound/weapons/gun/pistol/m1911.ogg new file mode 100644 index 000000000000..1d7a88dbbdc0 Binary files /dev/null and b/sound/weapons/gun/pistol/m1911.ogg differ diff --git a/sound/weapons/gun/pistol/m1911_cocked.ogg b/sound/weapons/gun/pistol/m1911_cocked.ogg new file mode 100644 index 000000000000..b1daedcbf00f Binary files /dev/null and b/sound/weapons/gun/pistol/m1911_cocked.ogg differ diff --git a/sound/weapons/gun/pistol/m1911_reload.ogg b/sound/weapons/gun/pistol/m1911_reload.ogg new file mode 100644 index 000000000000..5dbd7368bda6 Binary files /dev/null and b/sound/weapons/gun/pistol/m1911_reload.ogg differ diff --git a/sound/weapons/gun/pistol/m1911_unload.ogg b/sound/weapons/gun/pistol/m1911_unload.ogg new file mode 100644 index 000000000000..1cabe5cd2b86 Binary files /dev/null and b/sound/weapons/gun/pistol/m1911_unload.ogg differ diff --git a/sound/weapons/gun/pistol/mag_insert.ogg b/sound/weapons/gun/pistol/mag_insert.ogg index 42a05ebc483f..0791490c6889 100644 Binary files a/sound/weapons/gun/pistol/mag_insert.ogg and b/sound/weapons/gun/pistol/mag_insert.ogg differ diff --git a/sound/weapons/gun/pistol/mag_insert_alt.ogg b/sound/weapons/gun/pistol/mag_insert_alt.ogg new file mode 100644 index 000000000000..c442f8b16277 Binary files /dev/null and b/sound/weapons/gun/pistol/mag_insert_alt.ogg differ diff --git a/sound/weapons/gun/pistol/mag_release.ogg b/sound/weapons/gun/pistol/mag_release.ogg index cccbf5f9d914..757168fcf1b4 100644 Binary files a/sound/weapons/gun/pistol/mag_release.ogg and b/sound/weapons/gun/pistol/mag_release.ogg differ diff --git a/sound/weapons/gun/pistol/mag_release_alt.ogg b/sound/weapons/gun/pistol/mag_release_alt.ogg new file mode 100644 index 000000000000..334d1a12f299 Binary files /dev/null and b/sound/weapons/gun/pistol/mag_release_alt.ogg differ diff --git a/sound/weapons/gun/pistol/rack.ogg b/sound/weapons/gun/pistol/rack.ogg index fd0408d8ff2e..ff2512af27a5 100644 Binary files a/sound/weapons/gun/pistol/rack.ogg and b/sound/weapons/gun/pistol/rack.ogg differ diff --git a/sound/weapons/gun/pistol/rack_small.ogg b/sound/weapons/gun/pistol/rack_small.ogg index f33db717db82..a9ab76f14283 100644 Binary files a/sound/weapons/gun/pistol/rack_small.ogg and b/sound/weapons/gun/pistol/rack_small.ogg differ diff --git a/sound/weapons/gun/pistol/shot.ogg b/sound/weapons/gun/pistol/shot.ogg index a808f8690730..1bbd95e405bc 100644 Binary files a/sound/weapons/gun/pistol/shot.ogg and b/sound/weapons/gun/pistol/shot.ogg differ diff --git a/sound/weapons/gun/revolver/cattleman.ogg b/sound/weapons/gun/revolver/cattleman.ogg new file mode 100644 index 000000000000..b56abbcf1583 Binary files /dev/null and b/sound/weapons/gun/revolver/cattleman.ogg differ diff --git a/sound/weapons/gun/revolver/revolver_prime.ogg b/sound/weapons/gun/revolver/revolver_prime.ogg new file mode 100644 index 000000000000..5391854fbee3 Binary files /dev/null and b/sound/weapons/gun/revolver/revolver_prime.ogg differ diff --git a/sound/weapons/gun/revolver/shot.ogg b/sound/weapons/gun/revolver/shot.ogg index 91e480bd152a..d02d1c750c24 100644 Binary files a/sound/weapons/gun/revolver/shot.ogg and b/sound/weapons/gun/revolver/shot.ogg differ diff --git a/sound/weapons/gun/revolver/shot_hunting.ogg b/sound/weapons/gun/revolver/shot_hunting.ogg new file mode 100644 index 000000000000..4beb4d1e4648 Binary files /dev/null and b/sound/weapons/gun/revolver/shot_hunting.ogg differ diff --git a/sound/weapons/gun/revolver/shot_light.ogg b/sound/weapons/gun/revolver/shot_light.ogg new file mode 100644 index 000000000000..68b7fada6e49 Binary files /dev/null and b/sound/weapons/gun/revolver/shot_light.ogg differ diff --git a/sound/weapons/gun/revolver/shot_old_new.ogg b/sound/weapons/gun/revolver/shot_old_new.ogg new file mode 100644 index 000000000000..91e480bd152a Binary files /dev/null and b/sound/weapons/gun/revolver/shot_old_new.ogg differ diff --git a/sound/weapons/gun/rifle/ak47_cocked.ogg b/sound/weapons/gun/rifle/ak47_cocked.ogg new file mode 100644 index 000000000000..5f2d32e31eaf Binary files /dev/null and b/sound/weapons/gun/rifle/ak47_cocked.ogg differ diff --git a/sound/weapons/gun/rifle/ak47_reload.ogg b/sound/weapons/gun/rifle/ak47_reload.ogg new file mode 100644 index 000000000000..9105d5c31c16 Binary files /dev/null and b/sound/weapons/gun/rifle/ak47_reload.ogg differ diff --git a/sound/weapons/gun/rifle/ak47_unload.ogg b/sound/weapons/gun/rifle/ak47_unload.ogg new file mode 100644 index 000000000000..f6b5c73d7f6b Binary files /dev/null and b/sound/weapons/gun/rifle/ak47_unload.ogg differ diff --git a/sound/weapons/gun/rifle/ar_cock.ogg b/sound/weapons/gun/rifle/ar_cock.ogg new file mode 100644 index 000000000000..ac02ed93c1d7 Binary files /dev/null and b/sound/weapons/gun/rifle/ar_cock.ogg differ diff --git a/sound/weapons/gun/rifle/ar_reload.ogg b/sound/weapons/gun/rifle/ar_reload.ogg new file mode 100644 index 000000000000..6e557b892a97 Binary files /dev/null and b/sound/weapons/gun/rifle/ar_reload.ogg differ diff --git a/sound/weapons/gun/rifle/ar_unload.ogg b/sound/weapons/gun/rifle/ar_unload.ogg new file mode 100644 index 000000000000..591599f52334 Binary files /dev/null and b/sound/weapons/gun/rifle/ar_unload.ogg differ diff --git a/sound/weapons/gun/rifle/m16_cocked.ogg b/sound/weapons/gun/rifle/m16_cocked.ogg new file mode 100644 index 000000000000..8d2e059efaa7 Binary files /dev/null and b/sound/weapons/gun/rifle/m16_cocked.ogg differ diff --git a/sound/weapons/gun/rifle/m16_reload.ogg b/sound/weapons/gun/rifle/m16_reload.ogg new file mode 100644 index 000000000000..b2666ca96fe7 Binary files /dev/null and b/sound/weapons/gun/rifle/m16_reload.ogg differ diff --git a/sound/weapons/gun/rifle/m16_unload.ogg b/sound/weapons/gun/rifle/m16_unload.ogg new file mode 100644 index 000000000000..d302e5a26748 Binary files /dev/null and b/sound/weapons/gun/rifle/m16_unload.ogg differ diff --git a/sound/weapons/gun/shotgun/insert_shell.ogg b/sound/weapons/gun/shotgun/insert_shell.ogg index 5b2c6cdc5003..cd5c5e31aa67 100644 Binary files a/sound/weapons/gun/shotgun/insert_shell.ogg and b/sound/weapons/gun/shotgun/insert_shell.ogg differ diff --git a/sound/weapons/gun/shotgun/rack.ogg b/sound/weapons/gun/shotgun/rack.ogg index c25a10ffa494..865dbef3d06e 100644 Binary files a/sound/weapons/gun/shotgun/rack.ogg and b/sound/weapons/gun/shotgun/rack.ogg differ diff --git a/sound/weapons/gun/shotgun/rack_alt.ogg b/sound/weapons/gun/shotgun/rack_alt.ogg new file mode 100644 index 000000000000..0f106fe85ab1 Binary files /dev/null and b/sound/weapons/gun/shotgun/rack_alt.ogg differ diff --git a/sound/weapons/gun/smg/smg_reload.ogg b/sound/weapons/gun/smg/smg_reload.ogg new file mode 100644 index 000000000000..4e7b8f7ea91e Binary files /dev/null and b/sound/weapons/gun/smg/smg_reload.ogg differ diff --git a/sound/weapons/gun/smg/smg_unload.ogg b/sound/weapons/gun/smg/smg_unload.ogg new file mode 100644 index 000000000000..677b5a8f3d29 Binary files /dev/null and b/sound/weapons/gun/smg/smg_unload.ogg differ diff --git a/sound/weapons/gun/smg/smgrack.ogg b/sound/weapons/gun/smg/smgrack.ogg index 95f5a5f9c843..57ef99a0c5ca 100644 Binary files a/sound/weapons/gun/smg/smgrack.ogg and b/sound/weapons/gun/smg/smgrack.ogg differ diff --git a/sound/weapons/gun/smg/uzi.ogg b/sound/weapons/gun/smg/uzi.ogg new file mode 100644 index 000000000000..0168613ce872 Binary files /dev/null and b/sound/weapons/gun/smg/uzi.ogg differ diff --git a/sound/weapons/gun/smg/uzi_cocked.ogg b/sound/weapons/gun/smg/uzi_cocked.ogg new file mode 100644 index 000000000000..8cbe23b017b0 Binary files /dev/null and b/sound/weapons/gun/smg/uzi_cocked.ogg differ diff --git a/sound/weapons/gun/smg/uzi_reload.ogg b/sound/weapons/gun/smg/uzi_reload.ogg new file mode 100644 index 000000000000..8dae035f65e2 Binary files /dev/null and b/sound/weapons/gun/smg/uzi_reload.ogg differ diff --git a/sound/weapons/gun/smg/uzi_unload.ogg b/sound/weapons/gun/smg/uzi_unload.ogg new file mode 100644 index 000000000000..b285b71ac3a0 Binary files /dev/null and b/sound/weapons/gun/smg/uzi_unload.ogg differ diff --git a/sound/weapons/gun/smg/vector_fire.ogg b/sound/weapons/gun/smg/vector_fire.ogg new file mode 100644 index 000000000000..05c797c1464b Binary files /dev/null and b/sound/weapons/gun/smg/vector_fire.ogg differ diff --git a/tgui/packages/tgui/interfaces/ScannerGate.js b/tgui/packages/tgui/interfaces/ScannerGate.js index fe6d4a056ac9..051fb8f1defc 100644 --- a/tgui/packages/tgui/interfaces/ScannerGate.js +++ b/tgui/packages/tgui/interfaces/ScannerGate.js @@ -68,17 +68,6 @@ const TARGET_SPECIES_LIST = [ }, ]; -const TARGET_NUTRITION_LIST = [ - { - name: 'Starving', - value: 150, - }, - { - name: 'Obese', - value: 600, - }, -]; - export const ScannerGate = (props, context) => { const { act, data } = useBackend(context); return ( @@ -118,10 +107,6 @@ const SCANNER_GATE_ROUTES = { title: 'Scanner Mode: Species', component: () => ScannerGateSpecies, }, - Nutrition: { - title: 'Scanner Mode: Nutrition', - component: () => ScannerGateNutrition, - }, Nanites: { title: 'Scanner Mode: Nanites', component: () => ScannerGateNanites, @@ -177,10 +162,6 @@ const ScannerGateOff = (props, context) => { content="Species" onClick={() => act('set_mode', { new_mode: 'Species' })} /> -